CSSE220 – Object-Oriented Software Development

Spring 2018 (201830)

Schedule Overview

All assignments are due at 11:55PM on their due dates.
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-Moodle web pages for the course.

Schedule last updated Mon May 07, 2018.

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

  • Nothing due before the 1st class. Look at Session 2 to see what's due (at 11:55 PM) on the due date (that's after class so you can ask questions in class).
  • Brief course introduction
  • Getting started with Java (printing, defining and calling static methods, declaring variables, if statements)
  • Eclipse and Subclipse (running a program, checking out and committing a project)
  • Variables/types
  • The String class
HW1 TwelveProblems                          
1

2

Wed Mar 7

  • Big Java, 7.1-7.3, 7.7
  • Loops (for and while)
  • The String class
  • Primitive Types
  • Arrays
  • ArrayLists
  • Enhanced for loop
TwelveProblems                            
1

3

Thu Mar 8

  • Big Java, 15.4
  • Maps
  • 2D Arrays
Map and 2D Array Problems                            
2

4

Mon Mar 12

  • None
  • Miscellaneous
Team Gradebook                            
2

5

Wed Mar 14

  • Chapter 2.1-2.8
  • Object references
  • Object-Oriented Encapsulation
  • Implementing Classes in Java
Team Gradebook                            
2

6

Thu Mar 15

  • Big Java, Ch. 2.9, 2.10
  • Java Graphics
Team Gradebook Scenes                          
3

7

Mon Mar 19

  • Team Gradebook DUE FRIDAY AT 11:55pm
  • Scenes DUE TONIGHT AT 11:55pm
  • BEFORE THIS CLASS: Attempt a previous exam's written portion (201510 is a good one) for review. The old exams can be found here: Exam review.
  • Give yourself 50 minutes to complete the written portion. If you struggle, speak with your professor and/or bring questions to this class period.
  • Bring your completed written exam to class and ask any questions you may have
  • Unit Testing
  • Console input
  • Exam 1 Written Portion Review
                             
3

8

Wed Mar 21

  • Big Java, review Ch. 2 - 7
  • BEFORE THIS CLASS: Attempt a previous exam's programming portion (201510 is a good one) for review. The old exams can be found here: Exam review.
  • Give yourself 105 minutes to complete the programming portion. If you struggle, speak with your professor and/or bring questions to this class period.
    Exam 1 Written Portion
    In Class - 1st Hour Only
  • Exam Review - Programming Portion
                             
3

9

Thu Mar 22

    • Exam 1 Programming Portion
      In class
                                 
    4

    10

    Mon Mar 26

    • Big Java Pages 567-569, Special Topics 12.1, 12.2, 12.3 (focus on association, we will not use aggregation/composition in this class)
    • Class diagrams
    • Intro to Object Design
    DesignProblems Pt1 ImplementingDesign1                          
    4

    11

    Wed Mar 28

    • Big Java 3.1.3
    • Encapsulation
    ImplementingDesign1 DesignProblems Pt2                          
    4

    12

    Thu Mar 29

    • Big Java, Ch. 8
    • Cohesion and Coupling
    • Scope
    ImplementingDesign2 DesignProblems Pt3                          
    5

    13

    Mon Apr 2

    • Big Java, 13.1 - 13.2
    • Recursion
    • Recursive helper methods
                                 
    5

    14

    Wed Apr 4

    • Big Java, 13.3 - 13.5 (13.6 is optional)
    • Big Java, 10.1 - 10.3
    • Interfaces
    Recursion Practice                            
    5

    15

    Thu Apr 5

    • Big Java, 10.7, 10.10
    • Swing containers, Layout Managers
    • Event-based programming
    • Listeners, callbacks, and inner classes
    • Buttons and other Swing objects
    Recursion Practice Linear Lights Out                          
    6

    16

    Mon Apr 16

    • None
    • More Recursion
    • More Interfaces
    Linear Lights Out                            
    6

    17

    Wed Apr 18

    • Big Java, 9.1 - 9.3
    • 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
    BallWorlds                            
    6

    18

    Thu Apr 19

    • Big Java, 9.4, 9.5 Skip anything about clone().
    • Object
    • Polymorphism
    BallWorlds                            
    7

    19

    Mon Apr 23

    • Big Java, Ch. 11, 12,1-2
    • Object-oriented design
    • File I/O
    • Exception handling
                                 
    7

    20

    Wed Apr 25

    • All previously noted chapters/sections (review)
    • BEFORE THIS CLASS: Attempt a previous exam's programming portion (201520 is a good one) for review. The old exams can be found here: Exam review.
    • Give yourself 105 minutes to complete the programming portion. If you struggle, speak with your professor and/or bring questions to this class period.
      Exam 2 Written Portion
      In Class - 1st Hour Only
    • Exam Review - Programming Portion
                                 
    7

    21

    Thu Apr 26

    • Exam 2 Programming Portion
      In class
    Arcade Game - Cycle 0                            
    8

    22

    Mon Apr 30

    • Big Java, 15.1 - 15.2, 16.1
    • Intro. to linked lists
    • Linked list implementation
    Arcade Game - Cycle 1 SinglyLinkedList                          
    8

    23

    Wed May 2

    • None
    • Linked lists part 2
    • Linked list worktime
      Arcade Game - Cycle 1 SinglyLinkedList                          
      8

      24

      Thu May 3

      • None
      • Timers for a game loop
      • Workday and feedback on design
      Arcade Game - Cycle 1 Arcade Game - Cycle 2                          
      9

      25

      Mon May 7

      • None
      • Team worktime for project
      Arcade Game - Cycle 2                            
      9

      26

      Wed May 9

      • Sorting
      • Algorithm analysis
      Arcade Game - Cycle 3                            
      9

      27

      Thu May 10

      • Big Java 14.4 - 14.8
      • Merge sort
      • More on Big O
      Arcade Game - Cycle 3 Arcade Game - Cycle 4                          
      10

      28

      Mon May 14

      • Big Java 14.4 - 14.8
      • Comparable/Comparator
      Arcade Game - Cycle 4                            
      10

      29

      Wed May 16

      • None
      • Course evaluations
      • ArcadeGame work time
                                   
      10

      30

      Thu May 17

      • Big Java, Ch. 18 (skim)
      • Final ArcadeGame project due (see spec for details)
      • Team Performance Evalutions this Monday