Teaching Assistant: Carl Eastlund
Tutors: Matt Horan, Michael Reed
Everyone on the course staff is available for consultations to every student.
Course lecture times and location:
Lectures are really just interactive group learning sessions. You must bring paper and a pencil or a pen, so you can work out the questions posed during the lecture. No laptops are allowed to be used during the lectures.
Labs: The lab CS U212 is an integral part of the course. The labs start on Friday, January 12 and meet in 212 WVH from 9:50 till 11:30 am. You must attend all labs. 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, 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.
Assignments: The purpose of the problem sets is to prepare you for the exam.
There will be a problem set each week. The problem sets consist of several problems, drawn from the text 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.
We will consider all collaborations outside of your assigned partnership as cheating and will report it to the administration.
Due Date: Fridays at 9:40 am, unless otherwise specified.
Getting Credit for Assignments: There will be a simple quiz each week, given in the lab the day after you have submitted your homework. It will be graded only on a pass/fail basis. The goal of the quiz is to determine that you have worked on the homework set and understand the basic concepts in this problem set.
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. You must switch roles during such a problem solving session.
You must read All I Really Need to Know About Pair Programming I Learned in Kindergarten before the first lab.
Warning: You must be able to solve every homework problem on your own.
Are you sure you have read the warning?
Portfolio: You should keep a neat record of all your work in the form of a portfolio. Paper based portfolio should have copies of all your graded work, and should also include a journal that records your reading, work done on problem sets, and the meetings with your partner. Electronic portfolio should be a directory/folder in which you keep copies of all homeworks submitted, as well as any other programs you have written while studying for the course.
We will check your portfolios twice during the semester. The first review will be during February 20-23, the second one during April 10 - 13.
Exams: We will have two three hour exams to assess your progress. The exams will take place on February 12, 6-9pm, and on April 9, 6-9pm. (Accomodations will be made for students for whom this date is a religious conflict.) The second exam will take place in room 200 RI.
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 make sure that you can do every the homework problem on your own, the exams will be easy. If not, you will probably have a difficult time with the exams.
Grades: You will get a grade for your homework and a grade for your exams. Both must be passing grades; otherwise you cannot pass the course. For the final grade, we will assign a weight of 30% to the homework grade, a weight of 60% to the two exams, and 5% for the portfolio review and class participation. The remaining 5% are up to the instructors' whim.
|last updated on Sun Apr 1 20:57:57 EDT 2007||generated with PLT Scheme|