You learn by doing. There are two kinds of doing in this class:
Both are critical. You will be graded on the level of effort you put in both activities. I hope you find both to be fun, challenging, and motivating.
The first thing to read is how you submit work for review. This information is critical!
Class lectures and class assignments will be organized around the class project. The class project will be some sort of intelligent web-based information system, but exactly what will be determined in class discussions, as we try to answer the AI question.
The AI question, by the way, is not
What is intelligence?
Why are computers so stupid?
Answer the first question and you still don't know what to do. Answer the second question and you have an AI thesis.
So we'll be asking the question "Why is the web so stupid?" and once we have an answer, we'll have a programming project.
Everyone has different things they like to do, and different learning styles. In parallel with the class-driven project, you should also be moving as quickly as possibly through Paul Graham's ANSI Common Lisp. You should finish that book by quarter's end at least, though many of you will be done with it sooner.
To paraphrase Yoda from Star Wars:
Reading means nothing. There is only doing.
Do the exercises at the end of each chapter and in the various exercise files. If you have trouble, email your problems to me. Put something like "Question about Ex xxx" in the Subject.
Use the rules for submission to decide when your answers qualify for submitting to me. Do not send answers to every exercise to me. Many exercises are simply too trivial to merit submission.
Pay particular attention to the example applications in Graham, such as the HTML generator (Chapter 16) and the Ray Tracer (Chapter 9). Pick one or two that particularly interest you and generate your own exercises from them. For example, the string substitution application (Chapter 7) is a fine place to start to build a tool for updating links in HTML files (you'll need to add a HTML parser for tags).
There's a lot of ways to make trivial errors in configuring any language environment, and most of them lead to fairly cryptic messages and behavior.
The best source of help will be the CS 325 news group.
Comments? Send mail to Chris Riesbeck. Put EECS 325 in the Subject.