General Information
Instructor
Time
Days
Location
Benjamin Lerner
09:15 AM - 10:20 AM
MWR
Shillman 105
Amal Ahmed
10:30 AM - 11:35 AM
MWR
Shillman 105
Ferdinand Vesely
10:30 AM - 11:35 AM
MWR
Shillman 135
John Park
01:35 PM - 02:40 PM
MWR
Shillman 105
Ferdinand Vesely
01:35 PM - 02:40 PM
MWR
Shillman 135
John Park
04:35 PM - 05:40 PM
MWR
Shillman 105
Arjun Guha
04:35 PM - 05:40 PM
MWR
Shillman 335
Labs
The labs start the first full week of class, on Tuesday, September 15th. All labs will be held online on Teams this semester.
You cannot attend lab due to unforseen circumstances (e.g. illness).
You are having trouble with your homework partner.
Lab
Head TA
Time
Days
Location
3
Daniel Goldstein
8-9:40am
T
Teams
5
Sidney La Fontaine
9:50-11:30am
T
Teams
7
Carter Codell
11:45am-1:25pm
T
Teams
9
Nick Thompson
1:35-3:15pm
T
Teams
11
Jake Hansen
3:25-5:05pm
T
Teams
13
Jennifer Der
5:15-6:55
T
Teams
15
Olek Gierczak
7:05-8:45
T
Teams
18
Aislin Black
3:25-5:05pm
T
Teams
You signed up for a lab section during registration. You must attend the lab section for which you are registered.
The purpose of labs is to give you hands-on experience with the actual tools, and to explain some of the principles from lecture with hands-on examples.
Computing Environment
We will use DrRacket 7.8 (the most recent version), a programming environment for a family of programming languages. We will use the HtDP teaching languages plus a small number of teachpacks. DrRacket is installed on Khoury computers (if you encounter an older version, rest assured it will be upgraded soon; the differences need not concern you).We strongly recommend you install DrRacket on your own computer so that you can work on CS 2500 wherever, whenever you like. It is also freely available on the web in case you wish install it on your own computer. Please use the version number mentioned above.
DrRacket runs on most popular platforms (Windows, Mac OS X, Linux, and other *nixes). Programs written in the teaching languages have mostly the same behavior on all platforms. You therefore do not need to worry what kind of machine you use when you run your programs.
All that being said, should you have issues installing DrRacket on your machine, you may use the college’s virtual desktop infrastructure. We do, however, strongly recommend installing and using DrRacket on your own computer.
Khoury Account
In order to submit homeworks and lab quizzes in this class, you will need to have a Khoury account. You are eligible for such an account if you are a Khoury major, or if you are in a Khoury class (such as this one). You can apply for a Khoury account at this link, and you should do so during the first week of class, so that you have the account activated by the day of the first lab.
Homeworks
The purpose of the homeworks is to give you hands-on experience with the course material you learned in lecture and lab, as well as to prepare you for the exam. There will be one homework per week, usually due on Friday at 6pm.
Make it a high priority to not fall behind on homework: the course is fast-paced and presents new material every lecture day, making catching up harder and harder.
However, we know that your time is not always easily scheduled, and sometimes “stuff happens.” We will therefore allow you to turn in your work after the deadline, at a 4% per hour penalty starting immediately at the deadline (i.e., submitting 60-minutes-and-one-second late will be graded as two hours late). The handin server will use its own clock to determine what time it is, so it is a bad idea to try to sneak in a submission in those last few seconds. Submitting more than 25 hours late will result in a zero; however, we will accept homeworks up to two days late so that you can still receive feedback on your work.
Pair Programming
Starting a few weeks into the semester, you must work on your graded homeworks in assigned pairs (note: assigned pair, not with my friends). Your partner will be a classmate in the same lab as you; your lab TA will assign you the first partner. We will switch partners once (see syllabus).
Pair programming means that you and your partner work on the homeworks jointly. You read them together, and you work on the solutions together. One of the labs’ purposes is to teach you how to work in pairs effectively, which will prepare you to be an effective part of a software-development team in your co-op or job. The rough idea is this: One of you plays pilot, the other co-pilot. The pilot guides the discussion, talking through the problem and asking questions about anything that is unclear. The co-pilot works on the keyboard and explains aloud what is going on. After a problem is solved to the satisfaction of both, you switch roles.
Exams
- 10/14 @ 6:00-9:00pm :
Location: see Piazza for location information
- 11/23 @ 6:00pm-9:00pm :
Location: see Piazza for location information
The exams will test material similar to that assigned in the weekly problem sets. If you can solve every homework problem on your own, you are ready for the exams. If not, you need to work harder to get there.
Exams will be given online, and we will show you how the exam system works before the first exam, to ensure you have a working laptop on which to take the exam. You may bring one piece of paper to the exam, double sided, with anything written or typed on it that you want. We are limiting you in this way because (a) writing this one sheet of paper is an excellent way to study, and (b) we have found that, in the past, the more papers students bring to the exam, the worse they do. We want you to focus on the exam, not on shuffling through everything you’ve ever written.
Exam logistics: Since we cannot have everyone taking the exams together in a lecture hall, as we would in other years, you will therefore be taking the exams yourselves in your own rooms. This is naturally a less proctored environment than normal, and it is harder to ensure an equal testing environment for everyone than usual. We are relying on your academic integrity to represent your work honestly and accurately. As said above, if you uphold your end of the Course Contract, these exams are a useful way for us to give you feedback as you work through the material. If we detect cheating, however, your exam will be voided and you will face further consequences.
Lengths of the exams: The material in Exam 1 is designed for a length of 1 hour; for Exam 2, for a length about about 1.5 hours. ``Wait, what? There is a discrepancy between these lengths and the actual exam times as scheduled above!?'' A student who has worked through the readings and homework problems can solve the exam problems in 1hr/1.5hr, respectively. To make sure that nobody feels rushed, however, we allocate twice that time for all students, in case anyone feels they need time during the exam to double-check their work.
Grades
homeworks
30%
we will drop your worst homework grade
lab quizzes
5%
we will drop your 2 worst lab-quiz grades
exam 1
25%
exam 2
35%
instructor’s discretion
5%
We will drop your lowest homework grade, and count only your top ten lab quiz grades (out of however many lab quizzes there are). Note that your estimated grade on the handin server will not incorporate this automatic dropping of the lowest homework and quiz grades, so your grade there may be slightly different than your actual final grade.
The “instructor’s discretion” grade component is used, among other things, to
reward students for active participation in the course, and—
Accelerated
If, during the the first 3 weeks of this course, you feel that you would benefit from learning at a more accelerated pace, you may be able to transfer into the accelerated section. To request a switch, you should talk to either Professor Ahmed or Professor Lerner who teach the accelerated section; they will need to meet with you before they can initiate a switch. Their email addresses are: amal at ccs.neu.edu and blerner at ccs.neu.edu, respectively.
Note that you will need to move to lecture section 1 (CRN 10431 1:35-2:40pm, Mon/Wed/Thu). You will also have to choose from either lab 1 (CRN 10280, 9:50-11:30am Fri) or lab 2 (CRN 10600 11:45am-1:25pm Fri). Both the lecture and the lab must fit in your schedule and have space available.
Until September 17th this change can be made effective immediately after Professor Ahmed or Professor Lerner approve.
On or after September 17th but before September 25th this change will be made effective September 28th. Thus, you should continue to attend your regular lecture and lab, and turn in all regular homeworks, until the week of September 28th. (Please do not delay until the end of the day on the 25th, or we cannot ensure that your request will be processed in time by the registrar.)
After September 25th you can no longer change sections.