CSE 132: Computer Science II
Washington University
Spring 2008


This is Ken Goldman's CSE132 from Spring 2008
You may be looking for Ron Cytron's CSE 132.


About CSE132:
CSE132 is about becoming a more sophisticated software developer. You will learn about design and implementation methodology, build teamwork skills, and develop confidence in your ability to create high quality software. Key concepts include abstraction and specification, concurrency, and communication. Consult the calendar for lecture topics, readings, and due dates.

Class Meetings:
Tuesdays 10:00-11:30
Lab sections meet Tuesdays and Thursdays in Sever 201

Textbooks: Choose between the following two recommended texts. Choose the first text (Liskov and Guttag) if you prefer to concentrate on the philosophy and practice of good design. Choose the second text (Horstmann and Cornell Volumes 1 and 2) if you prefer to learn more technical details. You can choose both if you want.

Barbara Liskov and John Guttag, Program Development in Java: Abstraction, Specification, and Object-Oriented Design will support our discussion of programming methodology. The book contains much useful advice and should be read slowly and thoughtfully. If you choose to read this text, you will be responsible for knowing the details in these reading assignments, except for application-specific details in the code examples.

Cay S. Horstmann and Gary Cornell, Core Java, Volumes I and II (Seventh Edition), contain many implementation examples and are a useful reference for specific technical topics. Read these texts for familiarity of content. Unless you are captivated, avoid scrutinizing the details in the examples at first. Refer back to them later as needed in completing your lab assignments or other projects in the future. You are responsible only for the general concepts covered in these readings. I will provide guidance on the specific sections you should concentrate on. Beyond that, you are not responsible for knowing technical details unless they are also discussed in lecture.

Reading Assignments:
Reading assignments are listed on the calendar. Do each week's reading before the Tuesday of the following week, when there will be a brief quiz over the reading assignment. The quiz will have a section for each book. You can answer either section, depending the book you have chosen to read. (Note that the Core Java Volumes I and II are together considered as one book.)

Projects:
All assignments are integrated to form one large project. Due dates for design and implementation are shown on the calendar. You will be expected to produce high quality designs, documentation, test cases, and implementation. It is not enough just to make the proram "work." Emphasis will be placed on design elegance and implementation clarity. Each project focuses on particular technical content and design methodologies discussed in class.