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
Topic
Resources
Events
1
Tue
Jan 09
Course Introduction
BlueJ Introduction
Course Syllabus
BlueJ
OFWJ Chapter 1 Code
Assignment 0
Thu
Jan 11
Objects and Classes
Read Ch 1
Do all Ch 1 Exercises
Fri
Jan 12
No Class
Snow Day!
2
Tue
Jan 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
Thu
Jan 18
Parameters
Accessor/Mutator Methods
Printing
Read 2.5-2.11
Try all exercises
Ticket Exercise
HW 1
due
Fri
Jan 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
3
Tue
Jan 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
Thu
Jan 25
Abstraction
Modularization
Class Diagrams
Read 3.1-3.6
Read Appendix F
Clock Exercise
Read
10 Rules of Studying
Fri
Jan 26
Ch 1
Ch 2
Book.java
Person.java
TicketMachine.java
Project Test 1
4
Tue
Jan 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
Thu
Feb 01
The
this
keyword
Debuggers
Read 3.13-3.16
Try all exercises
HW 3
due
Fri
Feb 02
Collections
Libraries
Read 4.1-4.5
5
Tue
Feb 06
No Class
Winter Recess
Thu
Feb 08
Generic Classes
Read 4.1-4.8
Try all exercises
Collection Comparisons
ArrayList API
HW 4
due
Fri
Feb 09
Working with Collections
Iterating/Iterators
For-each loop
While Loop
Read 4.9-4.12
Try all exercises
ArrayList Exercise
6
Tue
Feb 13
More on iterators
Read 4.12-4.13
Try all exercises
Thu
Feb 15
null
Anonymous Objects
Chaining Method Calls
Read 4.14
HW 5
due
Fri
Feb 16
Iterators
Read/Reread 4.12-4.15
Try all exercises through 4.60
7
Tue
Feb 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
Thu
Feb 22
Randomness
Random API
About Testers
Project 1
due
Fri
Feb 23
Packages and Import
Maps
RandomNumbers
(Code from yesterday)
Read 6.4-6.6
Try all exercises
Collection Comparisons
Phonebook Exercise
□
8
Tue
Feb 27
Sets
Splitting Strings
PhoneBook
(Code from yesterday)
Read 6.7-6.9
Try all exercises
Collection Comparisons
Thu
Feb 29
More fun with Phonebook
Fri
Mar 01
Ch 1-4
BigBank Code
Project Test 2
9
Tue
Mar 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
Thu
Mar 07
HashMaps
ArrayLists
MailSystem
Mail System with Test
(from last class)
Fri
Mar 08
No Class
Spring Break
Spring Break Week
10
Tue
Mar 19
Autoboxing
Wrapper Classes
Class Documentation
Public/Private
Read 6.10-6.12
Try all exercises
Work on Project 2
Thu
Mar 21
Interfaces
Constants
Static fields/methods
Read 6.13-6.16
Project 2
Due
Fri
Mar 22
Arrays
For Loop
Read 7-7.4
Try all exercises through 7.11
Arrays Versus ArrayLists
Comparing Collections and Arrays
test.txt
11
Tue
Mar 26
Through Ch 6
Mail System Code
PhoneBookBetter code
Project Test 3
Thu
Mar 28
2D Arrays
Read 7.5-7.6
Fri
Mar 29
No Class
Good Friday
12
Tue
Apr 02
Zuul!
Coupling (bad!)
Cohesion (good!)
Code duplication (bad!)
Read 8.1-8.5
Project 3: Zuul!
Zuul Part 1 Design Questions
Thu
Apr 04
More on Coupling
Read 8.6
HW 7
due
Fri
Apr 05
Design
Implicit Coupling (also bad)
Read 8.7-8.10
13
Tue
Apr 09
More Cohesion
Refactoring (necessary evil)
Read 8.11-8.15
Thu
Apr 11
Inheritance
Read 10.1-10.5
Inheritance Exercise
Zuul Part 2 Design Questions
Helpful Zuul Files
Project 3
Part 1 due
Fri
Apr 12
Subtyping
Polymorphic variables
Casting
The
Object
class
Read 10.6-10.10
14
Tue
Apr 16
Static versus Dynamic types
Method Overriding
Dynamic Method Lookup
super
!
Method Polymorphism
Read 11-11.6
Try all exercises
Thu
Apr 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
Fri
Apr 19
Mail Attachments Project
Reread 6.14-6.15
Project 4
15
Tue
Apr 23
Summary of Inheritance
Thu
Apr 25
Read Exercise 12.70
Fri
Apr 26
Review
Project 4
due
Ex
Mon
Apr 29
Final Exam 12:30-2:30pm