Please remember that the instructor and TAs have no control over who gets in. If you are not yet enrolled as of the first day of lecture and still want to be considered for participation in the course, you should attend class and file an appeal form by the end of the first week of classes. Appeal forms are available from the CS Office on the 3rd floor. (Michael-David Sasson, 379 Soda, msasson@cs might be able to advise you on the status of your appeal.)
Here are the policies that govern admission into classes, and here are some answers to frequently asked questions about admission.
A+ A A- B+ B B- C+ C C- D+ D D- F |
[90 -- 100]% [85 -- 90)% [80 -- 85)% [75 -- 80)% [70 -- 75)% [65 -- 70)% [60 -- 65)% [55 -- 60)% [50 -- 55)% [45 -- 50)% [40 -- 45)% [35 -- 40)% [0 -- 35)% |
Programming assignments should be turned in using the submit program from an instructional (named or class) account, as described here.
Written assignments may be placed in the homework box in 283 Soda, or they may be turned in online using submit.
The written assignments are to be done
individually, the project assignments in pairs (except for Assignment 0).
Discussion of assignments among students is permitted and encouraged, but solutions
and programs may not be copied. I would recommend NOT mixing discussion
with writing up of solutions or code. See the
EECS Department Policy on Academic Dishonesty
and Kris Pister's policy for further explanation and examples.
It is a good idea to start your programming assignments as soon as you can; computers have a tendency to go down the night before an assignment is due. There is evidence from past courses that students who start working well before the due date take about one third the time to complete their work compared to students who wait until the last minute. In general, it will be worth your while to spend more time away from the workstation thinking about programs than struggling with them on-line.
Please use your account responsibly and be considerate of your fellow students. You will end up spending less time (and have a more pleasant experience) if you do not wait until the night before the assignment due date to fight for computer cycles.
We will use LISP. The amount of programming required is not large, and we don't expect you to be an expert in LISP, but we do expect that you've worked with Scheme in CS61A, and that you can more or less pick up the differences between the two (which will be reviewed by the TAs in the beginning of the semester, and will also be the subject of Assignment 0). You will have to work with some code we have written, so please get up to speed on LISP quickly.
The particular implementation of LISP we will use is called Allegro Common LISP (ACL or alisp), from Franz, Inc. There is copious, if awkwardly organized, documentation available.
ACL is available on the Solaris servers (e.g., star.cs, nova.cs, solar.cs) but apparently not on the Solaris X86 PCs in 277 Soda. You can use other machines too, and the source code should work in most versions of Common LISP, but remember that compiled code runs only on the architecture for which it was compiled. You run ACL by executing the command
/usr/sww/lang/acl/alisp(but consult the official instructional LISP help page for updates, etc.)
If you like, you can do the assignments on your own machine. Franz Inc. offers free trial downloads of Allegro CL 6.x for Windows and Linux. The trial edition is indefinitely renewable and includes a compiler.
I recommend working through the tutorial on how to use lisp, emacs, and the AIMA code; it takes only a few minutes.