![[Rice University]](http://www.cs.rice.edu/CS/images/ricelogo.gif) |
COMP 212: Intermediate Programming
Spring 2001
|
Othello Announcements:
Additional Information: Points were raised that one of the
comp212 labs gave instructions to make your comp212 directory
readable by user-only. Please note, that YOU MUST add group read and
execute permission to your directory in order for us to be able to
execute our Othello script.
Othello Information Released: All of this semester's rules
are available here. Please read the rules
and information over carefully before directing any questions to us.
Check back often for possible rule clarifications.
Yes, the semi-annual Othello tournament is going to be held again
this semester. Complete details will be released at 12:01 AM Saturday,
April 28th (to commemorate Ryan King's birthday, who has won the
tournament for three semesters in a row... bwahahaha).
For more information, contact the coordinating labbies.
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).
This semester's notes are listed as they become available:
- 17 Jan:
Course overview
(PS,
PDF)
- 19 Jan:
Object-oriented programming introduction,
Pizza example
(PS,
PDF)
- 22 Jan:
Java introduction,
Pizza example
(PS,
PDF)
and Handout
(PS,
PDF)
- 24 Jan:
Java Classes
(PS,
PDF)
- 26 Jan:
Java exceptions
(PS,
PDF)
- 29 Jan:
Polymorphism, The Union Pattern, Scheme-like Lists
(PS,
PDF)
- 31 Jan:
Scheme-like Lists (cont.), The Singleton Pattern
(PS,
PDF)
- 1 Feb:
The Composite Pattern, Polynomials
(PS,
PDF)
- 5 Feb:
The Visitor Pattern
(PS,
PDF)
- 7 Feb:
Interfaces
(PS,
PDF)
- 9 Feb:
The State Pattern
(PS,
PDF)
and Handout
(PS,
PDF)
- 12 Feb:
The State Pattern (cont.), Hangman Program
(PS,
PDF)
and Handouts
(PS,
PDF)
(PS,
PDF)
- 14 Feb:
The LRStruct Implementation
(PS),
Handout
(PS), and
Code
- 16 Feb:
The Container Interface, the LRSContainer Implementation
(PS,
PDF)
and Handout
(PS,
PDF)
- 19 Feb:
Nested and Inner Classes
(PS,
PDF)
- 21 Feb:
Java's GUI Library: Swing and
Handout
- 23 Feb:
Anonymous Inner Classes, an Updated LRSContainer Implementation
(PS,
PDF)
and Code
- 26 Feb:
Arrays
(PS,
PDF)
- 28 Feb:
Arrays (cont.)
(PS,
PDF)
- 2 Mar:
An Array-based Container
(PS,
PDF)
- 12 Mar:
Double-dispatch
(PS,
PDF)
and Handout
(PS,
PDF)
- 14 Mar:
Big-Oh
(PS,
PDF)
- 16 Mar:
Stacks and Queues, Array-based Queues
(PS,
PDF),
Handout
(PS,
PDF) and
Code
- 19 Mar:
Array-based Queues (cont.) and Circular Lists
(PS,
PDF)
and Code
- 21 Mar:
Circular Lists (cont.)
(PS,
PDF)
- 23 Mar:
An Array-based Ordered Container, Binary Search
(PS,
PDF) and
Code
- 26 Mar:
Binary Search (cont.), Interpolation Search and the Template Pattern
(PS,
PDF)
- 28 Mar:
Selection Sort and Insertion Sort
(PS,
PDF) and
Code
- 30 Mar:
Merge Sort and Quick Sort
(PS,
PDF)
- 2 Apr:
Heap Sort and Heaps
(PS,
PDF)
- 4 Apr:
Analysis of Heap Creation's Running Time and Priority Queues
(PS,
PDF)
- 6 Apr:
Binary Trees
(PS,
PDF) and
Code
- 9 Apr:
Binary Search Trees
(PS,
PDF) and
Code
- 11 Apr:
Game Trees and the Min-Max Algorithm
(PS,
PDF)
- 16 Apr:
Rotations and Treaps
(PS,
PDF)
- 18 Apr:
2-3-4 Trees
(PS,
PDF) and
Code
- 20 Apr:
Implementing 2-3-4 Trees: Red-Black Trees
(PS,
PDF)
Some previous semesters' notes:
Dr. Cartwright's TeachJava notes
(PS,
HTML)
Free viewers for
PS,
PDF.
Assignments & Exams