CSSE220 – Object-Oriented Software Development

Spring, 2011-12 (201230) Schedule Overview    updated Mon Mar 26 at 1:35:30 PM

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.
Note that this schedule is initially based on last term's schedule and will be updated as we go along. There may be changes to class activities and HW assignments up until the time of any day's class meetings.

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

Tue Mar 6

Details
  • Unless specified otherwise, Homework will be due at the beginning of class.
  • 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

Thu 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

Fri Mar 9

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

Tue Mar 13

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

Thu 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

Fri Mar 16

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

Tue Mar 20

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

8

Thu 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

Fri Mar 23

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

Tue Mar 27

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

11

Thu Mar 29

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

Fri Mar 30

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

13

Tue Apr 10

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • No regular class meeting
  • Exam 1
    7:00-9:00 PM
    Section 1 Venue: O267
    Section 2 Venue: O269
     
5

14

Thu Apr 12

Details
  • Sorting
  • Algorithm analysis
   
5

15

Fri Apr 13

Details
 
  • Another recursion example (Combination generation)
  • Merge sort recap
  • Intro. to function objects, Comparable
   
6

16

Tue Apr 17

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

17

Thu Apr 19

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

18

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

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

Thu Apr 26

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

Fri Apr 27

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

22

Tue May 1

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

23

Thu May 3

Details
  • Review for Exam 2 over topics in Big Java Ch. 1–§14
  • Exam 2
    7:00-9:00 PM
    Section 1: TBA
    Section 2: TBA
  LodeRunnersee spec. for deliverable due dates  
8

24

Fri May 4

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

25

Tue May 8

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

26

Thu May 10

Details
  • Big Java, §15.1–15.4
  • Intro. to linked lists
  • Linked list implementation
  • Abstract data types
LodeRunnersee spec. for deliverable due dates  
9

27

Fri May 11

Details
  • Big Java, §16.1–16.4 (skim sections 3 and 4)
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

28

Tue May 15

Details
  • None
  • Data-structure-palooza: stacks, queues, sets, and maps
  • Abstract data types
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

29

Thu May 17

Details
  • None
  • Generics
  • Exam review
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

30

Fri May 18

Details
  • Big Java, Ch. 17 (skim)
  • No ANGEL quiz over this reading
  • HW 29
  • Evalutions for other team projects Friday, February 17, 2012.
  • Project presentations
    In Class
  • Course evaluations
  • Final Exam, TBA