CSSE220 – Object-Oriented Software Development

Fall 2012-13 (201310)

Schedule Overview

Readings are to be completed after the class session. Homework (including reading assessments, and written homework (if any)) are due at the beginning of class. One exeception is that 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.
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 Thu Nov 8.

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
0

1

Thu Aug 30

Details
  • Unless specified otherwise, all Homework, except programming assignments, will be due at the beginning of class.
  • Unless specified otherwise, Programming Assignments are due by 11:59 PM on their due dates.
  • 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

Mon Sep 3

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 4

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 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)
  • 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 10

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 11

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 13

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

8

Mon Sep 17

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 18

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 20

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

11

Mon Sep 24

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 25

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
  • Exam Review – bring your questions
Sierpiński Triangle  
4

13

Thu Sep 27

Details
  • Sorting
  • Algorithm analysis
   
5

14

Mon Oct 1

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

15

Tue Oct 2

Details
  • Review for Exam 1 over topics in Big Java, Chapters 1–7
  • Cohesion and Coupling
  • Immutable classes
  • Side effects
  • UML class diagrams, relationships
  • Static fields and methods
  • Exam 1
    7:00-9:00 PM
    Section 1 Venue: O 259
   
5

16

Thu Oct 4

Details
  • Big Java, Ch. 8
  • No regular class meeting
    because of last tuesday's exam
    and Delvin will be at
    FIE conference
     
6

17

Mon Oct 8

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

18

Tue Oct 9

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 15

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 16

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

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

22

Mon Oct 22

Details
  • Review for Exam 2 over topics in Big Java Ch. 1–§14
  • Exam 2
    7:00-9:00 PM
    Section 1: O259
    No regular class meeting today
   
8

23

Tue Oct 23

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

24

Thu Oct 25

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

25

Mon Oct 29

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

26

Tue Oct 30

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

27

Thu Nov 1

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

28

Mon Nov 5

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

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

30

Thu Nov 8

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

Details
  • None
 
  • Final Exam, Tuesday, Nov 13. 1:00 to 5:00 PM
    in G313