On this page:
Class
Labs
Computing Environment
Problem Sets
Pair Programming
Exams
Grades
DrRacket

General Information

time to wake up

A lot of you have one burning question on your mind as you start your college career:

How am I going to get an A in this course?

We have some news for you

As of today, you are learning for life, not for exams.

Yes, you are in college now, and college really is about learning something and not getting a grade. As a matter of fact, if you are taking a course and the A comes easy, you are either cheating yourself or you are allowing the instructor to cheat you. Buyer beware.

College is your last chance to learn how to learn by yourself, without pressure from parents, teachers, or peers. You want to learn that, because the quality of your life depends on it. Your life. Nothing more, nothing less.

Naturally, we understand that you want some feedback, both in terms of specific corrections and in terms of a grade. You want feedback so that you can improve your learning process. And we will give you that feedback. It is our end of the bargain. Your end is to demonstrate that you actually study the methods we teach so that they become second nature. After all, you don’t want to waste your time, and we don’t want to waste ours either.

So, if you wish to earn a grade in this course, you must complete the Course Contract, in the Handin Server in your first lab session (2501); you should not leave the lab without having signed a signed contract. Your signature acknowledges that you have read these notes and understood the contract between you and the course staff. Promise As long as you will live up to its spirit, we will stand by you during this semester.

Class

The course has one lecture section:

Instructor

   

Time

   

Days

   

Location

Leena Razzaq

   

09:50-11:30am

   

MTWR

   

Shillman 335

Professor Razzaq’s office hours will be held in Nightingale 132C on Mondays 1:30-2:30 and Tuesdays 1:30-2:30 and by appointment.

Labs

The course comes with two lab sections. The labs start the first week of class.

Lab

   

Instructor

   

Time

   

Days

   

Location

1

   

Kyle Crampton

   

11:40am

   

TR

   

WVH212

1

   

Melina Young

   

11:40am

   

TR

   

WVH212

2

   

Annie Dinh

   

1:30pm

   

TR

   

WVH212

2

   

Celeste Hollenbeck

   

1:30pm

   

TR

   

WVH212

You signed up for a lab section during registration. You must attend the lab section you signed up for.

The purpose of labs is to give you some 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 (v6.12), a programming environment for a family of programming languages. For Fundamentals I, we will stick to the HtDP teaching languages plus a small number of teachpacks. DrRacket is installed on the CCS computers.We urge you to download DrRacket to 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.

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.

Problem Sets

The purpose of the problem sets is to prepare you for the exam. There will be 1-2 assignments per week.

Late policy: Each student gets two free, no-questions-asked late days for the term. The purpose of late days is to make the extension process fair and transparent by getting the instructors out of the extension-granting business entirely. Instead, when you need an extension, you can take one — provided you have a late day remaining.

To use a late day, log on to the submission server after the deadline has passed. You will see a link to request a late day for the particular homework. The server will keep track of the number of used late days. Conserve your late days carefully.

Late days cannot be divided fractionally, but must be used whole. Late days cannot be transferred to or shared with a partner, so in order to take an extension both you and your partner must have sufficient late days remaining. Late homework is not accepted if you have no late days remaining.

Pair Programming

You must work on your graded problem sets in assigned pairs. Your partner will be signed up for the same lab as you; your lab TA will assign you the first partner. We will switch partners once or twice.

Pair programming means that you and your partner work on the problem sets jointly. You read them together and you work on the solutions together. One of the lab’s purposes is to teach you how to work in pairs effectively; indeed, pairs are provably more effective than individuals in programming. The rough idea is this: One of you plays pilot, the other co-pilot. The pilot works on the keyboard and explains aloud what is going on; it is the co-pilot’s responsibility to question things that do not make sense. After a problem is solved to the satisfaction of both, you must switch roles.

Exams

We will have two exams to assess your progress.

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 that 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.

Grades

You will get grades for your homework and exams.

exam 1

   

25%

   

exam 2

   

35%

   

quizzes/classwork/participation

   

5%

   

problem sets

   

35%