CSSE220 – Object-Oriented Software Development

Spring 2011

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 Sun May 22.

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 Mar 7

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 Mar 8

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
  • Java API documentation
   
1

3

Thu Mar 10

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
  • 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 Mar 14

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)
  • Reviewing Grader Comments in Eclipse
  • 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 Mar 15

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
Faces  
2

6

Thu Mar 17

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 Mar 21

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

8

Tue Mar 22

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 Mar 24

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 Mar 28

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

11

Tue Mar 29

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • Exam 1
  Conway’s Game of Life  
4

12

Thu Mar 31

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

13

Mon Apr 4

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
Sierpiński Triangle  
5

14

Tue Apr 5

Details
  • Sorting
  • Algorithm analysis
   
5

15

Thu Apr 7

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

16

Mon Apr 11

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

17

Tue Apr 12

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

18

Thu Apr 14

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 Apr 25

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 Apr 26

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

21

Thu Apr 28

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

22

Mon May 2

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

23

Tue May 3

Details
  • Review for Exam 2 over topics in Big Java Ch. 1–§14
  • Exam 2
  Vector Graphicssee spec. for deliverable due dates  
8

24

Thu May 5

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

25

Mon May 9

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

26

Tue May 10

Details
  • Big Java, §15.1–15.4
  • Intro. to linked lists
  • Linked list implementation
  • Abstract data types
  • Data-structure-palooza: stacks and queues (and maybe sets and maps)
Vector Graphicssee spec. for deliverable due dates  
9

27

Thu May 12

Details
  • Big Java, §16.1–16.4 (skim sections 3 and 4)
  • Abstract data types
  • Set and Map implementation sketches
  • Intro. to Markov Chaining
  • Make-Up Exam 2
    7-9pm, O267
Vector Graphicssee spec. for deliverable due dates  
10

28

Mon May 16

Details
  • None
  • Markov work time
  Vector Graphicssee spec. for deliverable due dates Markov
Part 1
10

29

Tue May 17

Details
  • None
  • Project presentations
    In Class
  • Exam review
  • Markov work time if time remains
Markov
Part 1
 
10

30

Thu May 19

Details
  • Big Java, Ch. 17 (skim)
  • No ANGEL quiz over this reading
  • HW 29
  • Markov Part 1 assignment due Friday at 5 pm.
  • Generic programming
  • Type variables
  • Generic methods
  • Course evaluations
  • Final Exam, Mon. 6pm
    Curt's section in O159
    Delvin's section in O157
Markov
Part 1