CSC 160
Computer Programming for Non-Majors
Spring, 2005
This course meets on Tuesdays and Thursdays from 3:05 to 4:20 PM in
Science 227.
The last time
I taught this course was Summer
2004.
Getting Help
My office hours
(in Alumnae Hall 113A; if I'm not there, look around the corner in the 112 lab)
are
- Monday 12:00-3:00
- Wednesday 10:00-1:00
- Wednesday 2:30-4:00
- Thursday 4:30-6:00
- Other days and times by appointment.
Tutor Denis Diakoniarakis will be holding office hours, probably in
Alumnæ Hall 112, tentatively
- Tuesday 12:00-3:00 and in class
- Wednesday 12:00-4:00
The Learning Center has several tutors who may be able to help
with this course (or they may not, if they haven't taken it themselves):
- Andrew Frisch,
11:00 AM-1:00 PM MW
- Alexandra Stoeva, 9:00-10:30 AM Weds. and 3:00-5:00 PM
Thurs.
Andrew is also available 12:15-2:15 most Tuesdays and Thursdays in the
Alumnæ 114 computer lab.
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
rather than C++ or Java?
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.
Jan 26: Please download and install the
tiles.ss
teachpack; see here for
directions.
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.)
- 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.
- Why Scheme rather than C++ or Java? A
collection of success
stories and articles about Scheme in education and industry.
Who should take this course?
This course is intended primarily for people who have not previously
studied computer programming, primarily non-majors. CS majors are
allowed to take the course, and will almost certainly learn something,
but this course isn't part of the CS major.
For non-majors, this course counts towards your math/science distribution
requirement.
You are visitor number
to this page since June 4, 2001.
Last modified:
Stephen Bloch / sbloch@adelphi.edu