|
COMP 212: Intermediate Programming
Spring 2000
|
Comp212 introduces students to object-oriented program design and the fundamental
algorithms and data structures of imperative programming. All programming assignments are
done in the Java programming language. Several programming projects of moderate size will
help students to learn
- how to design object-oriented programs using design patterns such as
composite/interpreter, command/strategy, visitor, singleton, iterator, flyweight, and
observer;
- how to choose appropriate data structures and algorithms that strike a balance between
logical simplicity and performance; and
- how to write programs in stream-oriented and event-oriented style.
The exercises will involve common data structures such as lists, stacks, queues, search
trees, syntax trees, and hash tables, and will use algorithms for sorting, searching, and
graph traversal. Some exercises will involve writing programs driven by a graphics user
interface (GUI).
Announcements
- Exam 3 is available. You
are not allowed to discuss the exam with anyone else once you have
viewed the exam with the exception of Dr. Cox and Dr. Nguyen. Make sure you check the
newsgroup and this page regularly for any clarifications and
updates. Good Luck!
- Tournament Results:
- Congratulations to Ryan King, showing once again, labbies dominate:
- ryanking
- jbannet
- rjmorgan
- centgraf (tie)
- tenken (tie)
- montgom
- thewang
- kileen
- losasso
- Have a great summer! Hope you've enjoyed your stay at the best little comp
class in Texas.
- Good luck on exam3.
- That is all.
Course Material
Staff
- Lecturers:
- Alan Cox (alc@rice.edu)
Office hours: MWF 15:00-16:00 in DH 3009 x5730 and by appointment
- Dung Nguyen (dxnguyen@rice.edu)
Office hours: W 11:00-12:00 and F 11:00-13:00 in DH 3097 x3835 and by appointment
- Teching Assistants:
- Labbies:
To reach everyone above, email comp212@rice.edu
TextBooks
- Ken Arnold and James Gosling, The Java Programming Langauge (Second Edition),
Addison-Wesley, 1998. [Recommended]
- Bruce Eckel, Thinking in Java, Prentice-Hall, 1998. [Dennis Recommended: This was
the text used when I took 212. It only covers Java 1.1 though, but I thought it was easier
to read than the book above. Maybe there's a newer version.] There is an online version of the book.
- Gamma, Helm, Johnson, Vlissides, Design
Patterns: Elements of Reusable Object-Oriented Software [Recommended]
- Mark Grand, Patterns in Java, John Wiley & Sons, 1998. [Recommended]
- David Geary, Graphic Java 2, Mastering the JFC 3rd edition, Sun Microsystems
Press, 1999. [Recommended]
Assignments
- Polynomials, Due Friday, Feb. 4, 10:00 AM (solution)
- Hangman, Due Monday, Feb. 28, 10:00 AM (clarification1), (clarification2)
- Array Implementation of Polynomials, Due Monday, Mar.
13, 23:59
- Accurate Summation (code samples), Due
Saturday, Apr. 8, 23:59
- Sort
Animation, Due Friday, Apr. 14, 10 AM. (
clarification,
HeapSorter.java, Heapifier.java)
- Othello, Due Friday,
Apr. 28, 23:59
Lab Tutorials
- What:
- Jan. 24, 25: Unix, Emacs,
StructureBuilder, and JDK
- Jan. 31, Feb. 1: Javadoc, Packaging,
and Factories
- Feb. 7, 8: MVC, Event Handling
- Feb. 14, 15: Java Graphics Basics
- Feb. 21, 22: Exam 1 Review
- Feb. 28, 29: Array Implementation of Polynomials
- Mar. 13, 14: Debugging
- Mar. 20, 21: Animation
- Mar. 27, 28: AWT Applet
- Apr. 3, 4: Exam 2 Review (Solution)
- Apr. 10, 11: Sort
Animation Revisited
- Apr. 17, 18: More
Inner Classes (Solutions, with
intentional bugs)
- Apr. 24 25: Tic-Tac-Toe
- Where: Ryon 102 (back section)
- When:
- M 1:00-2:30 PM (Igor and Li)
- M 2:30-4:00 PM (Dale and Mike)
- M 7:00-8:30 PM (Dennis and Erik)
- Tu 1:00-2:30 PM (Dennis and James)
- Tu 2:30-4:00 PM (Jim and Li)
- Tu 7:00-8:30 PM (Bidhan and Jim)
- Who is in each section.
Sample Programs
Home pages for Rice and Owlnet.
Please let us know of any broken
links