CSSE220 – Object-Oriented Software Development

Winter 2008-09 Schedule Overview updated Thu Feb 19 at 7:55:48 AM

The schedule is subject to change. I’ll be updating the schedule as we go. I won’t change the exam dates.

Readings are to be completed before the class session. Electronically submitted homework and programs are due at 8:05 AM unless otherwise noted. Homework submitted on paper is due at the beginning of class. Remember to use the Late Day Bank survey on ANGEL if you want to spend or deposit a late day.

All non-ANGEL web pages for the course.


Session quick links:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Week Session Reading HW Due Topics Resources Programs
1

1

Mon Dec 1

Details
 
  • Brief course introduction
  • Getting started with Java
Small Java Programs  
1

2

Wed Dec 3

Details
  • Big Java Chapter 1 (just skim §1.1–1.2 and 1.5, read the rest)
  • Big Java, §2.1–2.7
  • Classes, objects, and methods in Java
  • UML Class Diagram basics
Small Java Programs  
1

3

Thu Dec 4

Details
  • Big Java, §2.8–2.13 The second paragraph of §2.11 says that the material is optional. It is not optional if you plan to successfully complete the course.
  • First two pages of this intro to UML Class Diagrams
  • Unit tests with JUnit
  • API documentation
  • Object references
  • Graphics intro
Small Java Programs  
2

4

Mon Dec 8

Details
  • Big Java, Chapter 3
    • Pay particular attention to §3.8
    • Consider creating Wiki questions comparing Java classes to Python clasess
  • Big Java, Ch. 4 This is long, but §4.1–5 should be review. Read §4.6–7 on Strings and Reading Input carefully.
  • Writing classes, part 1
  • Adding Graphics to a Swing Window
Small Java Programs  
2

5

Wed Dec 10

Details
  • Big Java, Ch. 5 Pay particular attention to the §5.2 on Comparing Values and §5.5 on Test Coverage. Be sure to read Advanced Topics 5.1-Selection Operator, 5.2-switch Statement, and 5.3-Enumerated Types.
  • Sections 6.1-6.2
Small Java Programs  
2

6

Thu Dec 11

Details
  • Big Java, the rest of Chapter 6
  • HW 5
  • Note: programming part is due Friday at 8:05 AM
  • More fundamental data types and Strings
  • Constants
  • Reading console input
  • More text formatting
  • if, ?:, switch
Small Java Programs  
3

7

Mon Dec 15

Details
  • Big Java, Chapter 7
  • Selection, Switch, Enumerations
  • Test coverage
  • Loops
Small Java Programs  
3

8

Wed Dec 17

Details
  • Big Java, Chapter 8
  • HW 7 Reading and Wiki.
    Make progress on HW7 program.
  • Arrays
  • ArrayLists
  • Wrapper classes and auto-boxing
  • Enhanced for loop
  • 2-Dimensional Arrays
Small Java Programs  
3

9

Thu Dec 18

Details
  • Big Java, Sections 9.1-9.5
  • HW 8.
    HW7 Program.
    See note about grace day in HW7 assignment.
  • 2D Arrays
  • Preview of interfaces, events and GUI programming
Small Java Programs  
4

10

Mon Jan 5

Details
  • Pascal Triangle Redux
  • Software engineering techniques:
    • regression testing
    • pair programming
    • version control
  • Game of Life
Conway’s Game of Life  
4

11

Wed Jan 7

Details
  • Big Java, §10.1–10.5
  • HW 10 – individual programming due start of session, pair programming due Session 13
  • Exam Review – bring your questions
  • Methods with variable number of arguments
  • Class Design issues
  • Work on Life
Conway’s Game of Life  
4

12

Thu Jan 8

Details
  • Review for Exam 1 over topics in Big Java Ch. 1–8
    You may find this document helpful.
    It describes several Big Java sections that you should be sure to read. Some, because they are very important. Others, because they contain more details thwn we will have time to cover in class.
    This list of terminology may also be helpful.
  • none (due to exam)
  • Exam 1
  • If you want two class periods for the programming part, pick one of the following schedules:
    • 7:10-9:50
    • 7:10-8:00, 9:55-11:40
    • 8:05-10:45
    • 8:05-8:55, 9:55-11:40
    • 9:00-11:40
  Conway’s Game of Life  
5

13

Mon Jan 12

Details
  • Big Java, §10.6–10.10
  • Game of Life (pair program) and ANGEL partner survey (individual)
  • HW 11 Written part and code (pair)
  • Static
  • Packages
  • Interfaces and polymorphism
Board Games Big Rational
5

14

Wed Jan 14

Details
  • Big Java, Chapter 11
  • Event-based programming
  • Listeners, callbacks, and inner classes
  • More charges
Board Games Big Rational
5

15

Thu Jan 15

Details
  • None
  • Inheritance and Polymorphism
  • Abstract Classes
  • Hardy's Taxi
Hardy's Taxi  
6

16

Mon Jan 19

Details
  • HW 15
    Except Hardy's Taxi, which is due the day of Session 18.
  • More inheritance, Object class, clone, copy constructor.
  • GUI and Inheritance
  • Ball Worlds Intro
Hardy's Taxi Ball Worlds
6

17

Wed Jan 21

Details
  • Big Java, Sections 18.1-18.2
  • HW 16 (Nothing to turn in yet, but keep working on Hardy and BallWorlds)
  • File I/O
  • Exception handling
  • Work on Ball Worlds
Hardy's Taxi Ball Worlds
6

18

Thu Jan 22

Details
  • Big Java, Sections 18.3-18.4
  • HW 17
  • Hardy due at 8:05 AM
  • BallWorlds due Friday at 2 PM
  • Object-Oriented Software Development
  • CRC Cards
  • BallWorlds work time
Ball Worlds  
7

19

Mon Jan 26

Details
  • None
  • HW 18 (you will need index cards)
  • Hardy solution - correctness and speed issues
  • Compiling and running from the command-line
  • Vector Graphics program introduction
  • Layout Managers
  • Vector Graphics Design
Vector Graphics  
7

20

Wed Jan 28

Details
  • Big Java Chapter 13
  • Explore the resources listed for Session 19.
  • If you didn't read Big Java Chapter 18 last week, do so now.
  • Javadoc generation
  • Recursion
Vector Graphics  
7

21

Thu Jan 29

Details
  • Big Java, §14.1–14.5
  • Continue exploring the resources listed for Session 19.
  • Nore recursion
  • Vector Graphics
Vector Graphics  
8

22

Mon Feb 2

Details
  • Big Java §14.6-14.8
  • Generics
  • Algorithm Analysis
  • Function Objects intro
Vector Graphics  
8

23

Wed Feb 4

Details
  • Big Java, §15.1
  • Exam review (answer student questions)
  • Function Objects in Java
  • Sorting
  • Searching
  • Mini-project intro
Vector Graphics Mini-project
8

24

Thu Feb 5

Details
  • Review for Exam 1 over topics in Big Java Ch. 1–14
    You may find this document helpful.
    It describes several Big Java sections that you should be sure to read. Some, because they are very important. Others, because they contain more details thwn we will have time to cover in class.
    This list of terminology may also be helpful.
  • None
  • Exam 2
  • See Day 12 for times.
  Mini-project  
9

25

Mon Feb 9

Details
  • Exam 2 problem on Vector Graphics
  • Vector Graphics Demos
  • Student Questions
  • Sorting
  • Searching
Mini-project  
9

26

Wed Feb 11

Details
  • Big Java, §15.4, §16.1–16.2
  • Sorting wrap-up
  • Data Structures and Abstract Data Types
  • Array implementation (1D, 2D)
Mini-project  
9

27

Thu Feb 12

Details
  • Big Java, §16.3–16.5
  • Data structure implementation sketches
  • Intro. to Markov Chaining
Mini-project Markov Part 1
10

28

Mon Feb 16

Details
  • Big Java, §16.6-16.8
  • MineSweeper documents (there are several of them, and you will probably need to read each one at least twice)
  • You may find parts of Big Java Chapter 20 helpful for your Minesweeper project
  • Threads
  • Java Collections Framework
  • Collection and List Interfaces; iterators
  • Linked List Implementation, part 1.
Mini-project Markov Part 1
10

29

Wed Feb 18

Details
  • Big Java CHapter 17, Section 18.1
  • Linked List implementation, Part 2
Mini-project Markov Part 1
10

30

Thu Feb 19

Details
  • Optional Exam review session (Q&A) Tuesday Feb 24 4:00-5:30 PM O-201
  • HW 29
  • Everything for MineSweeper due at 8:05 AM
  • Markov due Friday at 11:59 PM
  • Fill out the MineSweeper team evaluation survey on ANGEL by Friday at noon.
  • Course evaluations
  • Linked list iterators
  • Doubly-linked lists
  • Work on Markov (Hulbert/Cook Lecture in Hatfield Hall 4th hour)
    Section 02 has an optional alternate work time Friday at 9:55 in O-267
    Section 01 students are also welcome
Markov Part 1 Final Exam
Wed 6 PM
O-269