CSSE220 – Object-Oriented Software Development

Fall, 2011 (201210) Schedule Overview    updated Mon Nov 7 at 10:57:23 AM

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.


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
0

1

Thu Sep 1

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

Mon Sep 5

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

Tue Sep 6

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  
1

4

Thu Sep 8

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

Mon Sep 12

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

Tue Sep 13

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

7

Thu Sep 15

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

8

Mon Sep 19

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

9

Tue Sep 20

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  
3

10

Thu Sep 22

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

11

Mon Sep 26

Details
  • Big Java, §13.1–13.2 (13.1,13.3 in ed 3)
  • Recursion
  • Recursive helper methods
Conway’s Game of Life  
4

12

Tue Sep 27

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  
4

13

Thu Sep 29

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • See Session 10 resources on this page, and also Task 1 of HW 12.
  • None
  • Exam 1
  Sierpiński Triangle  
5

14

Mon Oct 3

Details
  • HW 12 and HW 13
    Ignore any statements in the documents about due dates. All problems from both homeworks are due on Monday at 8 AM.
  • Sorting
  • Algorithm analysis
   
5

15

Tue Oct 4

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

16

Thu Oct 6

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

17

Mon Oct 10

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

18

Tue Oct 11

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 Oct 17

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 Oct 18

Details
  • Big Java, §10.7–10.8 (10.8-10.11 in ed 3). Skip anything about clone().
  • HW 19
  • Team preference Survey on ANGEL due Wednesday at noon.
  • Object
  • Polymorphism
BallWorlds  
7

21

Thu Oct 20

Details
  • Big Java, Ch. 12
  • Object-oriented design
  • Case-study
BallWorlds  
8

22

Mon Oct 24

Details
  • Big Java, Ch. 11
  • Exam review
  • File I/O
  • Exception handling
  • Team Roles
  • Minesweeper design
Minesweepersee spec. for deliverable due dates  
8

23

Tue Oct 25

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

24

Thu Oct 27

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

25

Mon Oct 31

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

26

Tue Nov 1

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)
Minesweepersee spec. for deliverable due dates  
9

27

Thu Nov 3

Details
  • Big Java, §16.1–16.4 (skim sections 3 and 4)
  • Abstract data types
  • Set and Map implementation sketches
  • Intro. to Markov Chaining
Minesweeper due date (before class).  
10

28

Mon Nov 7

Details
  • None
  • Generic programming
  • Type variables
  • Generic methods
  • Markov work time
Markov
Part 1
 
10

29

Tue Nov 8

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

30

Thu Nov 10

Details
  • Big Java, Ch. 17 (skim)
  • No ANGEL quiz over this reading
  • HW 29
  • Markov Part 1 assignment due Friday at Noon. NO LATE DAYS MAY BE USED FOR THIS ASSIGNMENT.
  • Course evaluations
  • Final Exam, Mon. 8 AM

Markov
Part 1