Assignments | Course Home | Documentation | Linux Lab Hours | Schedule & Lecture Notes | Submit

Saint Louis University

Computer Science 290
Object-Oriented Software Design

Michael Goldwasser

Fall 2011

Dept. of Math & Computer Science


Please note that the schedule for future classes is tentative.

Also note: For each lecture, we denote both a topic as well as the associated reading in the textbook. The live link on the 'topic' leads to a page of my personal notes for that lecture. Those personal notes are not nearly as complete or polished as the associated readings from the text. In truth, they exist mostly to provide a brief outline of the day's lecture. Students are expected to read the associated sections of the text. In cases where my notes include material which is not explicitly in the text, I will add the word "notes" to the explicit reading list.

Week Day Topic Reading
Aug 30, Sep 1 Tues Course Overview
Introduction to Java
Ch. 1
Thur Introduction to Eclipse
Polymorphism in Python/C++/Java
(examples: python, C++ template, C++ abstract class, java)
Sep 6, Sep 8 Tues Exceptions Ch. 1.8, 6.8
Thur Java Interfaces;
Comparable and Comparator
Ch. 4.1-4.2
Ch. 4.3-4.4
Sep 13, Sep 15 Tues GUIs and ActionListeners,
sample designs for Listener class,
Inner classes, Anonymous classes
Ch. 4.6-4.7
Ch. 4.5
Thur Timers, Animations, sample application Ch. 4.8-4.10
Sep 20, Sep 22 Tues Mechanics of Inheritance
(Java, Python, C++)

Preview: Multiple Inheritance, Abstract Classes, and Interfaces
Ch. 6.1

Thur MouseListener and MouseMotionListener
CarMover case study
Ch. 6.2
Sep 27, Sep 29 Tues SceneEditor case study Ch. 6.3-6.5
Thur Multiple Inheritance in (C++, Python, Java)
When not to use inheritance
Ch. 6.6
Ch. 6.9
Oct 4, Oct 6 Tues Hands-on day for Assignment 3
Note: today's class will end at 2:50
Thur The Java Object Model Ch. 7.1-7.2
Oct 11, Oct 13 Tues Equality, Hasing, and Cloning Ch. 7.3-7.4
Thur Generics in Java Ch. 7.7
additional article
For fun, see java.util.Collections
Oct 18, Oct 20 Tues review extended SceneEditor
Thur Midterm Exam (includes material through Oct 13 - info )
Oct 25, Oct 27 Tues No Class: Fall Break
Thur Overvew and analysis for potential "Huffman Encoding Teaching Software" initial notes
Nov 1, Nov 3 Tues Design Process Ch. 2
Thur Hands-on day: CRC process for Voicemail system
Nov 8, Nov 10 Tues Hands-on day: CRC process for Huffman Encoding
Thur Hands-on day: CRC process for Huffman Encoding
Nov 15, Nov 17 Tues Guidelines for Class Design Ch. 3
Thur Design Patterns Ch. 5
Nov 22, Nov 24 Tues Huffman Demo: proposed design asgn05
Thur No Class: Thanksgiving Break
Nov 29, Dec 1 Tues Progress report on Huffman
Java's JTable design
in-class work on assignment
Thur in-class work on assignment
Dec 6, Dec 8 Tues More discussion of huffman, data model, and animation
Factory functions
Thur Huffman with animation
review for exam

Dec 20 Tue Final Exam (2:00-3:50)

Michael Goldwasser
CSCI 290, Fall 2011
Last modified: Thursday, 08 December 2011
Assignments | Course Home | Documentation | Linux Lab Hours | Schedule & Lecture Notes | Submit