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

General Information

time to wake up

Staff

In this large freshman course, you will encounter three kinds of people:
  • your instructor is Olin Shivers.

  • your teaching assistants are Jonathan Schuster, Justin Slepak.

    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 Reza Akhtar, Vyshnavi Chunduru, Matt Dailis, Tyler Kindy, Sam Lazarus, William Meehan.

    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 one lecture section:

Instructor

   

Time

   

Days

   

Location

Olin Shivers

   

02:50pm-04:30pm

   

MW

   

IV 019

Labs

The course comes with several lab sections. The labs start the second week of class.

Lab

   

Instructor

   

Time

   

Days

   

Location

15

   

Justin Slepak

   

6:00pm-7:40pm

   

M

   

210

16

   

Jonathan Schuster

   

6:00pm-7:40pm

   

M

   

212

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.6), 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 weekly problem sets. Some problems are drawn from HtDP, the textbook; others are constructed for this instance of Fundamentals I.

Pair Programming

You must work on your graded problem sets in assigned pairs. Your partner will signed up for the same lab as you; your lab TA will assign you the first 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-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 one-hour, evening exams to assess your progress.
  • Exam 1: October 3, 6:00-9:00pm, Snell 168

  • Exam 2: November 21, 6:00-9:00pm, Behrakis 010

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.

You may have noticed the discrepancy between "one-hour" and the actual times. The exam is a one-hour exam. A student who has worked through the readings and graded problems can solve the problems on the exam in less than an hour. After one hour, everyone will get a chance to leave. To make sure that nobody feels rushed, however, we allocate three hours immediately for students with special needs as well as students who feel they need time on the exam to double and triple check their work.

Grades

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

exam 1

   

25%

   

exam 2

   

35%

   

problem sets

   

37%

   

we will drop the worst homework grade

The remaining 3% are up to the instructors’ whim. What this really means is that grading is not a science, but we will do our utmost to assign scores fairly and to reward those students who demonstrate a sustained improvement over the course of the semester.