Course Description:
COMP 212 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;
- 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).
Staff List
Lab
Lectures
Course Lectures
Assignments
Recommended Textbooks:
- Ken Arnold and James Gosling, The Java Programming Langauge (Third Edition),
Addison-Wesley, 2000.
- Bruce Eckel, Thinking in Java (Second Edition),
Prentice-Hall, 2000. [This text is easier to read than the one from
the authors above.
The author keeps a list of mirror sites where you can download the
book for free online.]
- James Cooper, Java Design Patterns, A Tutorial AW 2000.
- Gamma, Helm, Johnson, Vlissides, Design
Patterns: Elements of Reusable Object-Oriented Software
- Mark Grand, Patterns in Java, John Wiley & Sons, 1998.
- David Geary, Graphic Java 2, Mastering the JFC 3rd edition, Sun Microsystems
Press, 1999.
Resource Links:
Connecting to the Newsgroup:
(Read the newsgroup regularly)