On this page:
Staff
Class
Labs
Computing Environment
Problem Sets
Pair Programming
Exams and Quizzes
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 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 print the Course Contract, sign it, date it, and turn it to enter your first lab session (2501); you may not enter the lab without 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.

Staff

In a large freshman course such as CS 2500 you typically encounter three kinds of people:
  • your instructors are Amal Ahmed, Leena Razzaq, Leena Razzaq, Olin Shivers, Ben Lerner.

  • your teaching assistants are Elín Carstensdóttir, Julia Ebert, Joseph Goode, Martha Hamlin, Zachary Hickman, Eric Kelly, Nathan Lilienthal, Rebecca MacKenzie, Phillip Mates, Matthew Singer, Ashley Sullivan.

    TAs teach labs, supervise the grading of homework sets, hold office hours, and occasionally substitute in lectures. In general, they are apprentice teachers and are here to learn how to run a course.

  • Your tutors are Howard Cheung, Colin Clark, Mackenzie Denker, Joseph Griego, Kenny Jean-Baptiste, Thomas Jenkins, Alex Jolly, Alexander Kavourias, Hudson Klebs, Jennifer LaPierre, Mitchell McLean, Katherine McDonough, David Padawer, Sinan Pehlivanoglu, Gregory Pfadenhauer, Calvin Pomerantz, Vishant Prabhakaran, Sadruddin Saleem, Pedro Silva, Benji Smith, Anh (Anya) Tran, Benjamin Wagner, Logan Wells, Ben Wheeler, Zachary Winkeler, Alex Narayanan, Rob Jensen.

    Tutors hold office hours and group meetings in colleges and labs, grade homeworks and provide feedback about the class’s progress. In general, they are undergraduate and graduate students who know that to learn something really well, you need to teach it.

Class

The course has four lecture sections:

Instructor

   

Time

   

Days

   

Location

Amal Ahmed

   

11:45am-01:25pm

   

MR

   

SH 305

Leena Razzaq

   

10:30am-11:35am

   

MWR

   

SH 305

Leena Razzaq

   

04:35pm-05:40pm

   

MWR

   

IV 019

Olin Shivers

   

09:15am-10:20am

   

MWR

   

SH 135

Ben Lerner

   

01:35pm-02:40pm

   

MWR

   

SH 220

You may attend any of these lectures.

Labs

The course comes with ten lab sections. The labs start September 8, 2014.

Lab

   

Instructor

   

Time

   

Days

   

Location

1

   

Elín Carstensdóttir

   

8:00am-9:40am

   

T

   

WVH 212

2

   

Matthew Singer

   

9:50am-11:30pm

   

T

   

WVH 212

3

   

Rebecca MacKenzie

   

11:45am-1:25pm

   

T

   

WVH 212

4

   

Nathan Lilienthal

   

1:35pm-3:15pm

   

T

   

WVH 212

5

   

Joseph Goode

   

3:25pm-5:05pm

   

T

   

WVH 212

6

   

Julia Ebert

   

5:15pm-6:55pm

   

T

   

WVH 212

7

   

Zachary Hickman

   

5:15pm-6:55pm

   

T

   

WVH 210

8

   

Martha Hamlin

   

6:00pm-7:40pm

   

M

   

WVH 210

9

   

Eric Kelly

   

6:00pm-7:40pm

   

M

   

WVH 212

10

   

Phillip Mates

   

11:45pm-1:25pm

   

W

   

WVH 212

You signed up for a lab section during registration; if you need to change your choice, you must go to the registrar and change it there.

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, a programming environment for a family of programming language. For Fundamentals I, we will stick to the HtDP teaching languages plus a small number 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 weekly problem sets. Some problems are drawn from HtDP, the textbook; others are constructed for this instance of Fundamentals I. We will grade some but not all problems from each set, picked randomly after the due date.

Pair Programming

You must work on your problem sets (2–12) in assigned pairs. Your partner will be in your lab, and your lab TA will assign you a partner. Every few weeks, you will get a new partner.

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-pilotlooks. The pilot works on the keyboard and explains aloud what is going on; it is the co-pilot’s responsibility to question everything. After a problem is solved to the satisfaction of both, you must switch roles.

Exams and Quizzes

We will have two 1.5-hour evening exams to assess your progress:
  • 10/16

  • 11/17

The first exam will take place from 6:30-9:30 in locations to be announced (see Campus Map for details).

The second exam will take place from 6:00-9:00 on Monday Nov 17th; see the blog for location details.

You may have noticed that the exams are 1.5-hour exams but the time allocated is three hours. We provide double time to make sure that you do not feel you are under time pressure but the exams are designed to be solved in 1.5 hours.

The exams will test material similar to that assigned in weekly problem sets. If you can solve every homework problem on your own, the exams will be easy. If not, you will have a difficult time.

We will have the daily quiz. It is our one concession to your “high school thinking.” Consider it a crutch for your self-discipline. Each week we will select at most one of these quizzes on a random basis for grading; the rest will get thrown away.

Grades

You will get grades for your homework, quizzes, and exams.

exam 1

   

25%

   

exam 2

   

30%

   

problem sets

   

30% 35%

   

we will drop the worst homework grade

daily quizzes

   

10% 5%

   

The remaining 5% are up to the instructors’ whim.