09:15 AM - 10:20 AM
10:30 AM - 11:35 AM
10:30 AM - 11:35 AM
Although all sections will cover the same material, each lecturer will present it in a different style. You MUST attend the lecture for which you are registered.
We will use DrRacket/Version 8.3, a programming environment for a family of programming languages. We will use the HtDP teaching languages plus a small number of teachpacks.
We strongly recommend you install DrRacket on your own computer so that you can work on CS 2500 wherever, whenever you like. It is freely available on the web. Please make sure to install the version with the version number mentioned above (if this is not the most recent DrRacket version, click on Download -> All Versions to find it).
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.
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 exams. There will be one homework per week, due Thursdays at 9pm.
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 up to 48 hours after the deadline, at a 2% per hour penalty. The submission server automatically blocks any submission even 48-hours-and-one-second after the deadline (since the penalty would be 100% at that time). Submitting a fraction of a second after the due time counts as one hour late. The server uses 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. In addition, we will drop your lowest homework grade.
Sometimes mistakes can happen and so if you are confused or concerned about feedback, please don’t be afraid to reach out to a member of the instruction team for further explanation. You must submit any requests for regrading (of homework, exams, quizzes) at most 7 days after the feedback was released.
When you have a regrade request you should first reach out to the individual who graded your work. Their name will be attached to their comments on the handin server. If the individual is unable to address your concerns you can approach the course instructor for further assistance.
Starting a few weeks into the semester, you will work on your graded homeworks in assigned pairs (note: 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.
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.
The labs start the first week of class, on Friday, January 21.
You cannot attend lab due to unforseen circumstances (e.g. illness).
You are having trouble with your homework partner.
Peter, Madeline, Talal
Nicole, David, Sean, Jonathan
Hamza, Zackary, Asha, Nithin
Sean, Jyaleen, Mariana, Harris
Ryan, Amaiya, Aidan
Harsh, Abijit, Tanya, Elizabeth
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. Some labs will require you to submit your solutions to some of the lab exercises.
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.
- 02/24 @ 6pm-8pm :
- 04/14 @ 6pm-8pm :
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.
We will have a very short quiz during most lectures. There will be no makeups for missed quizzes, however, we will only count your 10 best quiz grades.
The exact weights of assignments, quizzes and exams may change during the semester, depending on exactly how many of each we have. We will let you know when we update these weights, and will try to keep it as infrequent as possible.
The grades will computed on an absolute basis: there will be no overall curving. The instructor may choose to curve an individual homework or exam, but please do not bank on such a chance.
The mapping of raw point totals to letter grades is given below. Please note that these grade boundaries may move slightly at the discretion of the instructor, but the grade boundary for A is unlikely to change. Grades are not rounded: for instance, earning a 92.5% does not imply we will round up to a 93% and hence to an A.