On this page:
Computing Environment
Homeworks
Late Work
Regrades
Pair Programming
Labs
Khoury Account
Exams and Quizzes
Grades
DrRacket

General Information

time to wake up

This course has the following lecture sections:

Instructor

   

Time

   

Days

   

Location

Leena Razzaq

   

09:15 AM - 10:20 AM

   

MWR

   

INV 019

Leena Razzaq

   

10:30 AM - 11:35 AM

   

MWR

   

INV 019

Olin Shivers

   

10:30 AM - 11:35 AM

   

MWR

   

BK 310

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.

Computing Environment

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.

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 exams. There will be one homework per week, due Thursdays at 9pm.

Late Work

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.

Regrades

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.

Pair Programming

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.

Labs

The labs start the first week of class, on Friday, January 21.

The lead instructor of the course, Leena Razzaq, is listed as the instructor for every lab section. However, the lab sections are run by the TAs. Please find below a table of the TAs for each lab section. A TA is the person you should contact if:
  • You cannot attend lab due to unforseen circumstances (e.g. illness).

  • You are having trouble with your homework partner.

Lab Section

   

Time

   

Location

   

TAs

Sec1(30244)

   

8:00-9:40am

   

WVH210A

   

Peter, Madeline, Talal

Sec2(31633)

   

8:00-9:40am

   

WVH210B

   

Nicole, David, Sean, Jonathan

Sec3(37963)

   

9:50-11:30am

   

WVH210A

   

Hamza, Zackary, Asha, Nithin

Sec4(37964)

   

9:50-11:30am

   

WVH210B

   

Sean, Jyaleen, Mariana, Harris

Sec5(32903)

   

11:45am-1:25pm

   

WVH210A

   

Mingle,Junwoo,Ryan,Heather,Julian

Sec6(32904)

   

1:35-3:15pm

   

WVH210A

   

Ryan, Amaiya, Aidan

Sec7(34239)

   

1:35-3:15pm

   

WVH210B

   

Harsh, Abijit, Tanya, Elizabeth

Sec8(37965)

   

3:25-5:05pm

   

WVH210A

   

Bambi,Logen,Andrew,Thanoshi,Tanya

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.

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.

Exams and Quizzes

We will have two exams to assess your progress:
  • 02/24 @ 6pm-8pm :
    • Location: tbd

  • 04/14 @ 6pm-8pm :
    • Location: tbd

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.

Grades

Your homeworks and exams will be graded. The weights for these and other course components, as they contribute to your course grade, are as follows:

Homework

   

35%

   

Exam 1

   

25%

   

Exam 2

   

35%

   

Labs/Quizzes

   

5%

   

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.

93%

   

90%

   

86%

   

83%

   

80%

   

76%

   

73%

   

70%

   

66%

   

63%

   

60%

   

0%

A

   

A-

   

B+

   

B

   

B-

   

C+

   

C

   

C-

   

D+

   

D

   

D-

   

F