|Section||Class Meetings||Lab Meetings|
|101-54||Tuesday & Thursday
10:30 - 11:45 a.m.
Sanders Physics 309
3:10 - 5:10 p.m.
Sanders Physics 309
The course covers the following topics:
To facilitate the writing and running of programs, this course employs
the drScheme software, which is installed on all of the lab computers
and is freely available from drscheme.org.
(You can download drRacket instead if you want; it should work fine.)
The textbook for this course
is available online---for free.
Going to the Source: A Guide to Academic Integrity and Attribution at Vassar College. The guidelines that apply to writing in general apply
equally well to the writing of computer programs. Copying someone
else's code without attribution amounts to plagiarism! School policy dictates that instructors must report all
suspected incidents of cheating to their department chair. Did
you read the preceding sentence?! Please don't put yourself or your
professor in that position. In this course, unless explicitly stated
otherwise, collaboration is not allowed on labs or assignments; and it
is never allowed on exams.
People use computers to solve problems. To be effective, programmers
must thoroughly understand not only the problem to be solved, but also
the interesting relationship between the programmer, the program
and the computer. Investigating this relationship raises several
unexpected, but important issues. For example, what sort of
language do we want to use to "communicate" with a computer? What
sorts of problems can computers be expected to solve? What are the
basic elements of computation? What concepts or constructions can
facilitate the task of programming a computer? This course addresses
these and other important issues by having students directly interact
with computers from the very beginning. The lectures involve the
exploration of topics not only by discussing them, but also by
regularly putting ideas to the test in live computer sessions. (The
computer code seen during lecture is regularly posted on the course web
site.) The course includes weekly lab sessions in which students
get regular hands-on experience with the issues being addressed in the
lectures. These lab sessions also serve as a kind of warm-up for the
weekly programming assignments, in which students explore issues in
Nuts and Bolts
Professor Simon Ellis.
Office Hours See my web page. Textbook The textbook for this course will be provided
You may wish to print it out and put it into a loose-leaf
binder. This would also be good for holding lab and assignment
solutions if you want to print them out.
Lectures The lectures will augment
the material covered in the online textbook by
providing in-depth examples and analyses. The material
covered each week builds on what was covered in prior
weeks. As such, it is essential that you attend
every lecture---and keep up with the reading assignments.
Labs (and Quizzes)
This course has weekly lab sessions held in
SP 309. The lab computers use the Linux operating
system and have the drScheme software that we will be using throughout
the semester. Even if you have the drScheme software installed on
your own computer, you must do your lab work in the lab on one of the
lab computers during the lab time. Each lab session should be viewed
as a warm-up to prepare you for that week's forthcoming
assignment. You must do your own work; so asking one
of your classmates for assistance is not permitted. If you get stuck,
raise your hand to ask for help. When you
are finished a lab, simply ask the professor or one of the coaches to
verify that you have done the work and they will record your grade on
a scale from 0 (no work) to 3 (well done).
Each lab, after the first week or so, will begin with a short quiz that together will serve as warm-ups for the in-class exams.
Seating will be randomized for each quiz & lab.
Exams There will be two in-class exams: one
shortly before or after spring break, and another toward the end of
the semester. They will be paper-n-pencil exams. You may not use any
computers or calculators or other devices: just a pencil. You may
bring to each exam a single 8.5"-by-11" piece of paper with whatever
notes you want to write on it that you may consult during the exam.
(Font size no smaller than 8pt!)
Assignments Starting the second week of classes
there will typically be one assignment
each week. Most assignments will be programming assignments. Unless explicitly authorized for a particular assignment,
NOT allowed on assignments. If you run into
difficulty with an assignment, you should contact one of the student
coaches during their office hours or
Prof. Ellis during his office hours. (However,
there will typically be one problem on each assignment that will
be "help free" (i.e., no assistance by coaches or Prof. Ellis until
after the assignment has been turned in).) All
programming assignments must be submitted electronically. As
you will find out, submitting assignments electronically is easy to
do from the Lab computers. If you want to do a programming
assignment on your own computer (see "Software" below), email yourself
of your assignment files, then use a Lab computer to read your email
and download the files, then submit as usual. More details will be
provided in the near future about how to submit an assignment
electronically. You must also turn in a paper printout of your
The final programming assignment will be a two-week project that will count the same as two ordinary assignments. It will be due towards the end of the study period.
Coaches' Office Hours Office Hours Software The computers in the lab are set up for
you to use the drScheme software. If you'd like to set up drScheme on
your own computer, then go to drscheme.org
download the software. (Ignore the pop-up windows about drRacket
that may pop up from time to time! Stick with drScheme! And be sure
to select version 4.2.1 since that is the version we will be using
Additional instructions will be provided soon. In the meantime, use the
computers in the lab.)
You may choose to use drRacket for your assignments; it should work! :)
Each student will be provided with a CS computer account that
is distinct from your Vassar computer account. The drScheme
software that is used in this course is automatically available
on your CS computer account. More details will be provided during
your first programming lab.
Based on Labs (10%), Quizzes (10%), Assignments (50%),
First Exam (15%), Second Exam (15%).
Note: Although higher numerical scores will necessarily receive the same or higher letter grades, I reserve the right not to adhere to the standard 90/80/70/60 cut-offs.
Academic accommodations are available for students registered with the
Office for Accessibility and Educational Opportunity (AEO) . Students
in need of disability (ADA/504) accommodations should schedule an
appointment with me early in the semester to discuss any
accommodations for this course that have been approved by the Office
for Accessibility and Educational Opportunity, as indicated in your
AEO accommodation letter.
Title 9 Note
Vassar College statement on providing a
safe learning environment.
Caution! This course starts out with basic
concepts, but each week the online course notes, lectures, labs and
assignments build new ideas on top of what was seen previously.
Therefore, it is extremely important that you attend all lectures,
keep up with the reading, and do all labs and assignments in a timely
fashion. Historically, those students who experienced difficulty with
CMPU-101 got into trouble by ignoring this advice. If you find
yourself having trouble, by all means, come to my office hours! I'm
more than happy to assist!
The following calendar of lecture topics will be filled out during
the course of the semester. Typical calendar entries will also
include links to the code we looked at in class that day.
Welcome and Introduction.
Primitive data types (chapter 2).
Covers all material covered to date.
The course covers the following topics:
To facilitate the writing and running of programs, this course employs the drScheme software, which is installed on all of the lab computers and is freely available from drscheme.org. (You can download drRacket instead if you want; it should work fine.)
The textbook for this course is available online---for free.
Read Going to the Source: A Guide to Academic Integrity and Attribution at Vassar College. The guidelines that apply to writing in general apply equally well to the writing of computer programs. Copying someone else's code without attribution amounts to plagiarism! School policy dictates that instructors must report all suspected incidents of cheating to their department chair. Did you read the preceding sentence?! Please don't put yourself or your professor in that position. In this course, unless explicitly stated otherwise, collaboration is not allowed on labs or assignments; and it is never allowed on exams.