CSSE220 – Object-Oriented Software Development

Winter 2012-13 (201320)

Schedule Overview

Written homework (if any) and project milestones are due at the beginning of class. Reading and ANGEL quizzes on it , plus individual and pair programming assignments are due by 11:59 PM on their due dates. Remember to use the Late Day Bank survey on ANGEL if you want to spend or deposit a late day for a programming assignment.
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.

Schedule last updated Sat Feb 16.

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 31

Week Session Reading HW Due Topics Resources Programs
1

1

Mon Nov 26

Details
  • Nothing due today. See top of page for times that parts of the daily assignments are normally due.
  • Lab assistant schedule (F-217)
  • 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 27

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

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 Dec 3

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 Dec 4

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 Dec 6

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 10

Details
  • Big Java, Ch. 6 This should be review
   
3

8

Tue Dec 11

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 13

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

Details
  • Game of Life
Conway’s Game of Life  
4

11

Tue Dec 18

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

12

Thu Dec 20

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • No regular class due to exam
  • Exam 1
    7:00-9:00 PM
    Section 1: O257, Section 2: O259
    Section 3: O267
     
5

13

Mon Jan 7

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

14

Tue Jan 8

Details
  • Sorting
  • Algorithm analysis
   
5

15

Thu Jan 10

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

16

Mon Jan 14

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

17

Tue Jan 15

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

18

Thu Jan 17

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 21

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 22

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 Monday at noon.
  • Object
  • Polymorphism
BallWorlds  
7

21

Thu Jan 24

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

22

Mon Jan 28

Details
  • Review for Exam 2 over topics in Big Java Ch. 1–§14
  • No regular class due to exam
  • Exam 2
    7:00-9:00 PM
    Section 1: O257, Section 2: O259
    Section 3: O267
   
8

23

Tue Jan 29

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

24

Thu Jan 31

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

25

Mon Feb 4

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

26

Tue Feb 5

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

27

Thu Feb 7

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

28

Mon Feb 11

Details
  • Big Java, §16.1–16.4 (skim sections 3 and 4)
  • Data-structure-palooza: stacks, queues, sets, and maps
  • Abstract data types
  • Course evaluations
  • LodeRunner work time
LodeRunnersee spec. for deliverable due dates  
10

29

Tue Feb 12

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

30

Thu Feb 14

Details
  • Big Java, Ch. 17 (skim)
  • No ANGEL quiz over this reading
  • HW 29
  • Team Performance Evalutions Friday, Nov 9, 2012
  • Project presentations
    In Class
   
11

31

Mon Feb 18

Details
  • None
 
  • Final Exam, Monday, Feb 18. 6:00 to 10:00 PM
    in O257 (sect 1), O259 (2), and O205 (3).