General Information
How am I going to get an A in this course?
As of today, you are learning for life, not for exams.
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
your instructors are Matthias Felleisen, Amal Ahmed, Alan Mislove, Nada Naji, Leena Razzaq, Benjamin Lerner, Thomas Wahl.
your teaching assistants
Rebecca MacKenzie
Leif Andersen
Spencer Aronstein
Suzanne Becker
Ben Greenman
Adrian Kant
Catherine McLean
Mitchell McLean
not supplied yet
Max New
Calvin Pomerantz
Pedro Silva
Matthew Singer
Claudia Vilcu
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
Mohib Azam
Emily Beckers
not supplied yet
Saikrishna Chintalpelly
Daniel Chu
Benjamin Clauss
not supplied yet
John Compitello
not supplied yet
Luciana Corteggiano
Amogh Dayal
Chev Eldrid
not supplied yet
Jack Frysinger
John Gallagher
Alex Grundwerg
not supplied yet
Arjun Gupta
Kashish Jagga
Christopher Juchem
Alexander Kavourias
Alexander Knauth
not supplied yet
Matthew Lamontagne
Philip Lin
not supplied yet
Michael Lucas
not supplied yet
Prannoy Mohan
not supplied yet
Amal Nazeem
Manas Purohit
Ameen Radwan
Max Rona
Sreeya Sai
Katelyn Salvatori
not supplied yet
Nadine Shaalan
Arvin Sharma
not supplied yet
Ashwin Shivashankar
Kathryn Stavish
Andrew Sy
not supplied yet
Peter Teixeira
not supplied yet
Olivia Woods
James Wu
not supplied yet
Michael Yessaillian
not supplied yet
Brian Yeung
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
Instructor
Time
Days
Location
Matthias Felleisen
09:15am-10:20am
MWR
SH 335
Amal Ahmed
10:30am-11:35am
MWR
IV 019
Alan Mislove
10:30am-11:35am
MWR
SH 420
Nada Naji
01:35pm-02:40pm
MWR
IV 019
Leena Razzaq
01:35pm-02:40pm
MWR
RI 458
Benjamin Lerner
04:35pm-05:40pm
MWR
IV 019
Thomas Wahl
04:35pm-05:40pm
MWR
HT 130
Labs
The course comes with several lab sections. The labs start the second week of class.
Lab
Instructor
Time
Days
Location
1
Rebecca MacKenzie
9:50am-11:30am
T
210
2
Claudia Vilcu
11:45am-1:25pm
T
210
3
Ben Greenman
1:35pm-3:15pm
T
210
4
Calvin Pomerantz
3:25pm-5:05pm
T
210
6
Spencer Aronstein
11:45am-1:25pm
W
210
7
Leif Andersen
2:50pm-4:30pm
W
210
8
Max New
9:50am-11:30am
T
212
9
Mitchell McLean
11:45am-1:25pm
T
212
10
Adrian Kant
1:35pm-3:15pm
T
212
11
Matthew Singer
3:25pm-5:05pm
T
212
12
Suzanne Becker
5:15pm-6:55pm
T
212
13
Pedro Silva
11:45am-1:25pm
W
212
14
Catherine McLean
2:50pm-4:30pm
W
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. We will grade some but not all problems from each set, picked randomly after the due date.
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
Midterm coming up: 10/06 @ 6:00-9:00pm ; the rooms for this exam are RI 200, SN 108, MU 201, CG 97, CH 103, SH 135, SH 305, SH 335
Midterm coming up: 11/17 @ Midterm: 6:00-9:00pm ; the rooms for this exam are RI 200, WVF 20, CH 103, MU 201, SN 108, SN 168, SH 305, SH 335
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.
The exams are open-book, meaning you can bring any printed and hand-written material you wish. Any use of electronics (desktop computer, laptop, tablet, phone, pda, google glass, apple watch, etc.) will result in your immediate expulsion from the exam and a score of 0.
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
exam 1
25%
exam 2
35%
problem sets
39%
we will drop the worst homework grade