U211 F '06
Ofc Hrs

General Information

Earning a Grade: 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: you are in college now, and in college, it really is about learning something and not (just) 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.

Here is the positive take-away from this section: 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 use the methods and tools for learning that work best in our experiemce. 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 (see tab on the left), sign and date it, and turn it during your first lab session (CSU 212). Your signature acknowledges that you have read and understood the contract and its implications. As long as you will live up to its spirit, we will stand by you during this semester.

People: In a large freshman course such as CSU 211 you typically encounter three kinds of people, listed in increasing order of relevance to you:


Profs. Matthias Felleisen, Olin Shivers

Teaching Assistants:

Theo Skotiniotis, Ryan Culpepper, Dale Vaillancourt, Carl Eastlund, Christos Dimoulas
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.


Michael Morgano, Charles Costa, Erin McLaughlin, John Mendelewski, Michael Reed, Matt Horan, Carol Lee, Jonathan Pelc
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: Class consists of lectures and lab meetings (CSU 212).

Lectures: The course has two lecture sections:

MWTh 09:15amShillman 135Felleisen
MWTh 10:30amWVG 110Shivers
You must sign up for one section and make an effort to attend this section on a regular basis. If you (need to) miss a lecture, you're welcome to attend the corresponding lecture in some other section.

Labs: The course also has lab sections, aka CS U 212. The labs start on Tuesday, September 12. 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.

You will attend your chosen lab section on a weekly basis. 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 DrScheme v352, a programming environment for the Scheme programming language, some dialects of Java, Algol 60, OCAML, and a few others. For CSU 211, we will stick to the HtDP teaching languages plus teachpacks. DrScheme is installed on the CCS computers. It is also freely available on the Web (see tabs on the left of this page) in case you wish install it on your own computer.

DrScheme runs on most popular platforms (Windows 2000/XP, Mac OS X, Linux, and other *nixes). Programs written in DrScheme have the same behavior on all platforms. You therefore do not need to worry what kind of machine you use when you run DrScheme 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 CSU 211. We will grade some but not all problems from each set (picked randomly after the due date).

We will drop the homework grade with the worst impact on your final grade from consideration for the final grade. Thus, if you choose to skip an assignment set or if you just don't get it one week, nothing is lost. The story is different for the second or third or ... time.

You are free to collaborate at will with others on the problem sets. If you do so, you must acknowledge all collaborators on your cover page. Failure to do so will result in a report to the ethics officer of the university and reductions of your grade.

Amendment: As of Friday the 13th, October 2006 we will consider all collaborations outside of your assigned partnership as cheating and will report it to the administration.

The News: The technology that computer scientists develop has a profound impact on people's lives. Bad software kills; bad software destroys large technology projects; and bad software is responsible for all kinds of mishaps with huge financial consequences. Of course, good software, which is still a rarity, prolongs people's lives; makes large technology projects happen; and is a key factor in the tremendous economic expansion that this country has experienced since the mid 1990s (with a short hiatus in 2001/02).

As a result computers (in all shapes), software (good and bad), and the people (technical and business-oriented) behind them are constantly in the news. So that you understand the "professional atmosphere" of your chosen field, we expect you to turn in at least one piece from a news outlet: newspapers; magazines; on-line and off-line. A clipping must contain the source and the date of appearance so that we can locate the original. In addition, you must add a three to five line paragraph, summarizing the article.

These articles are worth 5% of your weekly homework grade. The top-five summaries and articles will get a 100% score for the weekly homework, regardless of how they do on the homework problems. Naturally, the graders will still provide feedback on your problems, because you need this to prepare for the exams.

Pair Programming: You must work on your problem sets (2 - 11) in 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-pilot--looks. 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 hour evening exams to assess your progress:

  • 16 October 2006
  • 20 November 2006
Both exams will take place from 6:30-9:30 in 200 Richards Hall (see Campus Map for details).

The exams will test material similar to that assigned in weekly homeworks. You will take the exams by yourself. Collaboration is not tolerated. 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 a gpa for your homework, for your quizzes, and for your exams. You must have both a passing homework gpa and a passing gpa to pass the course. For the final grade, we will assign a weight of 25% to the homework grade, a weight of 60% to the two exams, and a weight of 10% to the quizzes. The remaining 5% are up to the instructors' whim (TBE).

last updated on Sat May 30 14:15:17 EDT 2009generated with PLT Scheme