CSCI 125 Spring 2024
Software Design and Implementation
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework

Policies
Advice
College
    Policies

Notes
Programs
Tutorials

Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1TueJan 09
  • Course Introduction
  • BlueJ Introduction
  • Course Syllabus
  • BlueJ
  • OFWJ Chapter 1 Code
  • Assignment 0

  • ThuJan 11
  • Objects and Classes
  • Read Ch 1
  • Do all Ch 1 Exercises

  • FriJan 12No ClassSnow Day!

    2TueJan 16
  • Classes
  • Fields
  • Methods
  • Constructors
  • Read 2.1-2.4
  • Try all 2.1-2.4 Exercises
  • Copy chapter02/naive-ticket-machine to your computer
  • Assignment 0 due
  • Quiz 1

  • ThuJan 18
  • Parameters
  • Accessor/Mutator Methods
  • Printing
  • Read 2.5-2.11
  • Try all exercises
  • Ticket Exercise
  • HW 1 due

    FriJan 19
  • Conditional Statements
  • Variable Scope
  • Local Variables
  • Comparing Fields/Parameters/Local Variables
  • Read 2.12-2.18
  • Try all exercises
  • Person Exercise
  • Finish Ticket Exercise

    3TueJan 23
  • More on Methods
  • Reread 2.15-2.17
  • Read 2.18-2.23
  • Try exercises through 2.82
  • Read 6.11, Appendix I
  • Review More Book Exercises
  • HW 2 due

    ThuJan 25
  • Abstraction
  • Modularization
  • Class Diagrams
  • Read 3.1-3.6
  • Read Appendix F
  • Clock Exercise
  • Read 10 Rules of Studying

  • FriJan 26
  • Ch 1
  • Ch 2
  • Book.java
  • Person.java
  • TicketMachine.java
  • Project Test 1

    4TueJan 30
  • Primitive Types
  • Object Types
  • Logical Operators
  • Concatenating Strings
  • Modulo Operator
  • Constructors & Creating Objects
  • More on Method Calls
  • Reread 3.1-3.6
  • Read 3.7-3.12
  • Try exercises through 3.30

  • ThuFeb 01
  • The this keyword
  • Debuggers
  • Read 3.13-3.16
  • Try all exercises
  • HW 3 due

    FriFeb 02
  • Collections
  • Libraries
  • Read 4.1-4.5

  • 5TueFeb 06No ClassWinter Recess

    ThuFeb 08
  • Generic Classes
  • Read 4.1-4.8
  • Try all exercises
  • Collection Comparisons
  • ArrayList API
  • HW 4 due

    FriFeb 09
  • Working with Collections
  • Iterating/Iterators
  • For-each loop
  • While Loop
  • Read 4.9-4.12
  • Try all exercises
  • ArrayList Exercise

  • 6TueFeb 13
  • More on iterators
  • Read 4.12-4.13
  • Try all exercises

  • ThuFeb 15
  • null
  • Anonymous Objects
  • Chaining Method Calls
  • Read 4.14
  • HW 5 due

    FriFeb 16
  • Iterators
  • Read/Reread 4.12-4.15
  • Try all exercises through 4.60

  • 7TueFeb 20
  • Reading Documentation
  • Maps
  • Read 6-6.3 (6 not 5!)
  • Try all exercises
  • Collection Comparisons
  • HashMap API
  • HashSet API
  • Club Code from today's class

  • ThuFeb 22
  • Randomness
  • Random API
  • About Testers
  • Project 1 due

    FriFeb 23
  • Packages and Import
  • Maps
  • RandomNumbers (Code from yesterday)
  • Read 6.4-6.6
  • Try all exercises
  • Collection Comparisons
  • Phonebook Exercise

  • 8TueFeb 27
  • Sets
  • Splitting Strings
  • PhoneBook (Code from yesterday)
  • Read 6.7-6.9
  • Try all exercises
  • Collection Comparisons

  • ThuFeb 29
  • More fun with Phonebook

  • FriMar 01Ch 1-4
  • BigBank Code
  • Project Test 2

    9TueMar 05
  • Mail System Review
  • More with HashMaps
  • PhoneBookBetter (from last week)
  • Re-read 3.13-3.15
  • Read MailSystem Project (Project 2)
  • HW 6 due

    ThuMar 07
  • HashMaps
  • ArrayLists
  • MailSystem
  • Mail System with Test (from last class)

  • FriMar 08No ClassSpring Break

    Spring Break Week

    10TueMar 19
  • Autoboxing
  • Wrapper Classes
  • Class Documentation
  • Public/Private
  • Read 6.10-6.12
  • Try all exercises
  • Work on Project 2

  • ThuMar 21
  • Interfaces
  • Constants
  • Static fields/methods
  • Read 6.13-6.16
  • Project 2 Due

    FriMar 22
  • Arrays
  • For Loop
  • Read 7-7.4
  • Try all exercises through 7.11
  • Arrays Versus ArrayLists
  • Comparing Collections and Arrays
  • test.txt

  • 11TueMar 26
  • Through Ch 6
  • Mail System Code
  • PhoneBookBetter code
  • Project Test 3

    ThuMar 28
  • 2D Arrays
  • Read 7.5-7.6

  • FriMar 29No ClassGood Friday

    12TueApr 02
  • Zuul!
  • Coupling (bad!)
  • Cohesion (good!)
  • Code duplication (bad!)
  • Read 8.1-8.5
  • Project 3: Zuul!
  • Zuul Part 1 Design Questions

  • ThuApr 04
  • More on Coupling
  • Read 8.6
  • HW 7 due

    FriApr 05
  • Design
  • Implicit Coupling (also bad)
  • Read 8.7-8.10

  • 13TueApr 09
  • More Cohesion
  • Refactoring (necessary evil)
  • Read 8.11-8.15

  • ThuApr 11
  • Inheritance
  • Read 10.1-10.5
  • Inheritance Exercise
  • Zuul Part 2 Design Questions
  • Helpful Zuul Files
  • Project 3 Part 1 due

    FriApr 12
  • Subtyping
  • Polymorphic variables
  • Casting
  • The Object class
  • Read 10.6-10.10

  • 14TueApr 16
  • Static versus Dynamic types
  • Method Overriding
  • Dynamic Method Lookup
  • super!
  • Method Polymorphism
  • Read 11-11.6
  • Try all exercises

  • ThuApr 18
  • toString
  • equals
  • hashCode
  • Protected
  • instanceof
  • Abstract Classes
  • Interfaces
  • Read 11.7-11.12
  • Try all exercises
  • Read 12.3.3, 12.6
  • Project 3 Part 2 due

    FriApr 19
  • Mail Attachments Project
  • Reread 6.14-6.15
  • Project 4

  • 15TueApr 23
  • Summary of Inheritance

  • ThuApr 25
  • Read Exercise 12.70

  • FriApr 26
  • Review
  • Project 4 due

  • ExMonApr 29Final Exam 12:30-2:30pm