211 Sp '04
Ofc Hrs
Sample Progs

General Information

Earning a Grade: If you wish to earn a grade in this course, you must print this Web page (General) and the page on Communication and staple them together. Then sign and date the first page at the top right and initial the page on Communication as well as the sections entitled "Class", "Pair Programming", and "Exams". Your signature and initials acknowledge that you have read and understood all of these important components of this course.


Instructor: Prof. Ron Williams

Teaching Assistant: Carl Eastlund

Tutors: David Alleca, Laura Huber, Jon Simons

Everyone on the course staff is available for consultations to every student.


Lectures: The lecture meetings are as follows:

MWTh 10:30am315 SH
You should make an effort to attend lectures regularly and participate in class discussions. Get in the habit of reading the week's materials before you come to class so you can be prepared to ask relevant questions. This will help your understanding of the material immensely.

Labs: The course also has lab sections. The labs start on Tuesday, January 13 and meet every Tuesday thereafter. You should already be registered for a lab section. If you are not, you must register for one as soon as possible or you will not earn a grade in this course. The labs are listed under the course number CSU212. You must attend your lab section every week. 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: You will do your assignments in DrScheme v205, a programming environment for Scheme. DrScheme is installed on the CCS computers. DrScheme is also freely available on the Web (see link). You may install it on your computer at home and work there.

DrScheme runs on most popular platforms (see link). 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.

Assignments: There will be 12 homework assignments. The assignments consist of approximately ten problems, drawn from the book and a supplementary Web page. We will grade about five problems, which we will pick randomly after the due date and before the grading.

We will drop the worst homework grade from consideration for the final grade. You may therefore choose to skip one homework set; we'll just assign a zero (0) for this homework.

Due Date: Electronic submissions of your homeworks are (usually) due on Thursday at 10:00pm. For exceptions, see the homework page; it also provides a submission link.

Pair Programming: You must work on your homework problems in pairs. Please introduce yourself to others in class and find a homework partner as soon as possible. Your partner should be someone who attends the same lab section you do.

Pair programming means that you and your partner study the problem sets individually and possibly even sketch out solutions. Then you meet and jointly develop solutions to each problem. One of you--the driver--types, and the other one--the co-pilot--looks over the driver's shoulders. When something isn't clear, it is the co-driver's responsibility to question the approach. You must switch roles during such a problem solving session.

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 may result in reductions of your homework grade.

Everyone must be able to solve every homework problem on the due date.

Warning: You must be able to solve every homework problem on your own.

Are you sure you have read the warning?

Exams: We will have two three hour evening exams to assess your progress:

  • Thursday, February 19, 2004 @ 6:00pm in 101 Churchill
  • Thursday, April 8, 2004 @ 6:00pm in 101 Churchill
Churchill Hall is building 54 on the campus map .

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 solve every homework problem on your own, the exams will be easy. If not, you will probably have a difficult time with the exams.

During almost every lab session a short quiz will be administered based on the preceding homework assignment. If you don't answer the questions on the quiz correctly, you will be given a zero as your grade for that week's homework set and you will be warned that you're not on track.

Grades: You will get a grade for your homework (factored by the quiz performance) and a grade for your exams. Both must be passing grades; otherwise you will not pass the course. For the final grade, we will assign a weight of 35% to the homework grade and a weight of 60% to the two exams. The remaining 5% is up to the instructor's discretion.

last updated on Tue Apr 13 11:01:11 EDT 2004generated with PLT Scheme