CSC 160
A First Course in Computer Programming
Fall, 2003
This course meets on Mondays and Wednesdays from 2:25-3:40 PM in Science
227.
The last time
I taught this course was Spring
2003.
Getting Help
My office hours
(in Alumnae Hall 113A; if I'm not there, look around the corner in 112)
are
- Monday 12:00-2:00
- Tuesday/Thursday 9:30-12:00
- Other days and times by appointment.
We also have several
tutors capable of helping with this course:
- Faith Barclay
- office hours MW 1:00-2:30 PM in Alumnae 112
- Arvind Budhram
- office hours TBA in Alumnae 112
- Sasha Pogornets
- in class, and office hours Thursday from 10:30 AM through the
afternoon (depending on how many students show up),
also in Alumnae 112
- Steven Jones
- office hours M after class in SCI 227; Fridays 10 AM-noon in ALU
112.
Textbook
The main textbook for this class is How to Design Programs, by
Felleisen, Fisler, Flatt, and Krishnamurthi, published by MIT Press.
The text of the book is available on-line,
but I've also ordered the printed version through the bookstore;
you are encouraged, but not required to buy the printed
version.
This textbook uses the Scheme programming language. Why Scheme?
Partners for upcoming assignments
If you need a partner for the next homework, please e-mail me immediately and I'll try
to match you up with someone.
Recipes and Syntax Rules
You'll get through this course a lot more easily if you follow
the design recipes! Here are the recipes and
syntax rules we've seen so far, and you can also read about the
spelling, grammar, vocabulary, and idioms of
Scheme.
Software support
We use the software package
DrScheme, which is available for
free download for Windows, Mac, and Unix.
I've set up some
forms for entering and viewing PSP data.
You may use these forms to record defect and time information.
To use the forms successfully, make sure your browser accepts JavaScript and
cookies. (For those with a moral opposition to cookies, I assure you
that they're all "temporary" -- they disappear as soon as you quit the
browser.)
I've also set up an experimental "handin"
facility, which will allow
you to hand in assignments automatically from within DrScheme. To
install it, follow these steps:
- Make sure you have DrScheme version 205 installed. If not, update
your copy at www.drscheme.org.
- For Windows,...
- Start a web browser (I've had better luck doing
this with MSIE than with Netscape), download and install
OpenSSL for Windows. It should
open automatically using the "Setup PLT.exe" program that came with your
DrScheme installation. If it doesn't, save it to disk and double-click
it or drag-and-drop it onto "Setup PLT.exe".
This will install the "OpenSSL" package
(which enables Scheme to use secure Net connections).
- Then download and install AU-160-Bloch.plt in the same way.
- For Mac OSX...
- Download and install OpenSSL for
Mac OS X.
- Then download and install AU-160-Bloch.plt in the same way.
In either case, quit DrScheme and start it again, and you should see
a "Handin" button with a picture of a hand. If you don't, something has
gone wrong with the installation procedure.
When you've written a program in DrScheme that you're prepared to
turn in for grading, click the "Handin" button, type in your userid and
password, select the appropriate assignment from the drop-down list, and
click the "Handin" button in the dialogue box.
To check that it worked, point any Web browser at the status
server, log in with the same userid and password, and you should see
a list of every assignment you've turned in, with the most recent date
and a grade, if any.
- Read (and use!) the
Design Recipe(s).
- See my folder of programming
examples on composing functions, working with booleans, writing with
conditionals, defining and using structs, mixed-type data,
etc.
- Skim my Adages on Software Engineering and
Object-Oriented Programming; in particular, read the few
paragraphs about "the joys (and woes) of the craft".
- On Pair Programming: read
All
I Really Need to Know about Pair Programming I Learned in
Kindergarten
- My page on the minimal Scheme
language treats Scheme as a foreign language, with its own spelling,
punctuation, grammar, vocabulary, and idioms.
-
You might also be interested in Jack Crouch's CS1 Web site. Jack Crouch teaches a course on
beginning programming, using Scheme, DrScheme, and How to Design
Programs; the difference is that he's teaching high school freshmen
rather than college freshmen.
Who should take this course?
This course is intended primarily for people who have not previously
studied computer programming, both CS majors and non-majors. For
non-majors, this course counts towards your math/science distribution
requirement. Students who have passed at least a semester (half a year)
of computer programming with a "B" or better
may skip this course and go straight to CSC 171, or they may
take this course anyway; some of the concepts will be familiar, but
they'll probably still learn a lot.
You are visitor number
to this page since June 4, 2001.
Last modified:
Stephen Bloch / sbloch@adelphi.edu