CSSE220 – Object-Oriented Software Development

Winter 2010–11

Schedule Overview

Readings are to be completed before the class session. Homework (including reading assessments, programming assignments, and written homework (if any)) are 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.

Schedule last updated Thu Feb 17.

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 Nov 29

Details
 
  • Brief course introduction
  • Getting started with Java (printing, defining and calling static methods, declaring variables, looping, the summing loop pattern)
  • Eclipse and Subclipse (running a program, checking out and committing a project)
  • Javadoc comments
   
1

2

Tue Nov 30

Details
  • Big Java Chapter 1 (just skim §1.1–1.2 and 1.6 (1.5 in ed3), read the rest)
  • Big Java, §2.1–2.7
  • Variables. Using and constructing objects. Calling methods, accessor and mutator methods.
  • The String class
  • Primitive types
  • UML Class Diagram for a single class
   
1

3

Thu Dec 2

Details
  • Big Java, §2.8–2.10
  • First two pages of this intro to UML Class Diagrams
  • Big Java, §3.1–3.8, Pay particular attention to §3.8
  • API documentation, Javadoc
  • Unit tests with JUnit
  • Object references
  • Object-Oriented Encapsulation
  • Implementing Classes in Java
    • Fields, Constructors, Methods
    • Implementing an Interface
    • Documented Stubs
    • Test-first Programming, JUnit tests
WordGames  
2

4

Mon Dec 6

Details
  • Big Java, §2.11–2.13
  • Big Java, §3.9 and Summary of Learning Objectives at the end of ch 3 ("Chapter Summary" in ed3)
  • Implementing Classes in Java
    • Continue WordGames
  • Introduction to Java GUIs
    • Swing: JFrame, JComponent, how to draw Shapes in a JComponent
  • Shape classes
WordGames Faces
2

5

Tue Dec 7

Details
  • Big Java, Ch. 4 This is long, but §4.1–5 should be review. Read §4.6–7 on Strings and Reading Input carefully.
  • More fundamental data types
  • Strings
  • Constants
WordGames Faces
2

6

Thu Dec 9

Details
  • Big Java, Ch. 5
  • Reading console input
  • More text formatting
  • if statements
  • == and equals()
  • Selection operator
  • switch statements and enumerated types
  • Test coverage
   
3

7

Mon Dec 13

Details
  • Big Java, Ch. 6 This should be review
  • while and for loops
  • Debugging
   
3

8

Tue Dec 14

Details
  • Big Java, §7.1–7.6 (7.1-5 in ed3)
  • Arrays
  • ArrayLists
  • Wrapper classes and auto-boxing
  • Enhanced for loop
   
3

9

Thu Dec 16

Details
  • Big Java, §7.7–7.8 (7.6-8 in ed3)
  • Two-dimensional arrays
  • Copying arrays (shallow copies)
  • Software engineering techniques:
    • regression testing
    • pair programming
    • version control
Conway’s Game of Life  
4

10

Mon Jan 3

Details
  • Game of Life
  • Exam Review – bring your questions
Conway’s Game of Life  
4

11

Tue Jan 4

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • Exam 1
  • One-page summaries of some of the topics we have discussed
Conway’s Game of Life  
4

12

Thu Jan 6

Details
  • Big Java, §13.1–13.2 (13.1,13.3 in ed 3)
  • Recursion
  • Recursive helper methods
   
5

13

Mon Jan 10

Details
  • Big Java, §13.3–13.5 (13.2,13.4-5 in ed3)
  • Big Java, §14.1–§14.3
  • Selection Sort
  • Sierpiński Triangle
  • Recursion and efficiency
  • Mutual recursion
   
5

14

Tue Jan 11

Details
  • Sorting
  • Algorithm analysis
   
5

15

Thu Jan 13

Details
  • Merge sort recap
  • Intro. to function objects, Comparable
  • Intro. to Fork-Join
   
6

16

Mon Jan 17

Details
  • Big Java, Ch. 8
  • Cohesion and Coupling
  • Immutable classes
  • Side effects
  • UML class diagrams, relationships
  • Static fields and methods
   
6

17

Tue Jan 18

Details
  • Big Java, §9.1–9.6 (9.1-9.5 in ed3)
  • Scope
  • Packages
  • Interfaces and polymorphism
BigRational  
6

18

Thu Jan 20

Details
  • Big Java, §9.7–9.11 (9.6-9.10 in ed3)
  • Swing containers, Layout Managers
  • Event-based programming
  • Listeners, callbacks, and inner classes
  • Buttons and other Swing objects
BigRational  
7

19

Mon Jan 24

Details
  • Big Java, §10.1–10.6 (10.1-10.7 in ed3)
  • Be sure to read Special Topic 10.1—Abstract Classes on p. 437
  • Skim the remainder of UML Class Diagrams intro
  • Inheritance
  • Polymorphism
  • Access control
   
7

20

Tue Jan 25

Details
  • Big Java, §10.7–10.8 (10.8-10.11 in ed 3). Skip anything about clone().
  • Object
  • Polymorphism
BallWorlds  
7

21

Thu Jan 27

Details
  • Object-oriented design
  • Case-study
BallWorlds  
8

22

Mon Jan 31

Details
  • Exam review
  • File I/O
  • Exception handling
  • Team Roles
  • Vector Graphics design
Vector Graphicssee spec. for deliverable due dates  
8

23

Tue Feb 1

Details
  • Review for Exam 2 over topics in Big Java Ch. 1–§14
  • Exam 2
  • Students in section 1 may begin the exam as early as 7:10 a.m.
  • Students in section 2 have until the end of 10th period to complete the exam
  Vector Graphicssee spec. for deliverable due dates  
8

24

Thu Feb 3

Details
 
  • Curt's section: Project work time
  • Delvin's section: Exam 2 Rescheduled
  • Students in section 2 have until the end of 10th period to complete the exam
  Vector Graphicssee spec. for deliverable due dates  
9

25

Mon Feb 7

Details
  • Big Java, §20.1–§20.3
  • Multithreading
Vector Graphicssee spec. for deliverable due dates  
9

26

Tue Feb 8

Details
  • Function objects revisited
  • Search algorithms
  • Strategy design pattern: pluggable algorithms
Vector Graphicssee spec. for deliverable due dates  
9

27

Thu Feb 10

Details
  • Big Java, §15.1–15.4
  • Intro. to linked lists
  • Linked list implementation
  • Abstract data types
  • Data-structure-palooza: stacks, queues, sets, maps
  • Intro. to Markov Chaining
  • Make-up Exam
    O267, 7:30–9:00pm
Vector Graphicssee spec. for deliverable due dates  
10

28

Mon Feb 14

Details
  • Big Java, §16.1–16.4 (skim sections 3 and 4)
  • Abstract data types
  • Set and Map implementation sketches
  • Intro. to Markov Chaining
Vector Graphicssee spec. for deliverable due dates Markov
Part 1
10

29

Tue Feb 15

Details
  • Big Java, Ch. 17 (skim)
  • Generic programming
  • Type variables
  • Generic methods
  • Course evaluations
  • Exam review
  • Project presentations
    WEDNESDAY
    O233, 1:30–5:30pm
  • Presentation schedule
Markov
Part 1
 
10

30

Thu Feb 17

Details
  • None
  • HW 29
  • Markov Part 1 assignment due Friday at 5 pm.
  • Optional class
  • Exam review
  • Markov worktime
  • Final Exam, Tuesday, 1-5pm
    Curt's section in O257
    Delvin's section in O259
Markov
Part 1