CPSC 225 | Data Structures and Algorithms | Spring 2025 |
Class preparation assignments are generally based on the assigned reading and are due by 10pm the night before the class for which they are listed. For readings, "Eck" refers to the textbook (Introduction to Programming Using Java).
Dates for things in light gray are for planning purposes and may be adjusted slightly. Expect class preparation assignments for most classes, weekly labs, and several projects.
Assignments | |||||
---|---|---|---|---|---|
Week 1: 1/21-1/24Topics: course introduction; review of procedural programming |
|||||
Wed |
Materials from class:
|
introductory survey (on Canvas) |
|||
Thu | lab 1 Linux and Eclipse due Thu 1/30 1:10pm |
||||
Fri |
Materials from class:
|
class prep — review of procedural programming (on Canvas) due Thu 1/23 10pm |
|||
Week 2: 1/27-1/31Topics: review of object-oriented programming |
|||||
Mon |
Materials from class:
|
class prep — programming with objects (on Canvas) due Sun 1/26 10pm |
project 1a Flip due Mon 2/3 11:59pm |
||
Wed |
Materials from class:
|
class prep — writing classes (on Canvas) due Tue 1/28 10pm |
|||
Thu | |||||
Fri |
Materials from class:
|
||||
Week 3: 2/3-2/7Topics: OOAD fundamentals; program correctness |
|||||
Mon | Materials from class: | project 1b OO Flip due Mon 2/10 11:59pm |
|||
Wed |
Reading:
|
class prep — Eck 8.1, 4.1, 4.7.1, 4.6.5 (on Canvas) due Tue 2/4 10pm |
|||
Thu | lab 2 Testing due Thu 2/13 1:10pm |
||||
Fri |
Reading:
|
class prep — Eck 8.2.1-8.2.3, 8.4.1 (on Canvas) due Thu 2/6 10pm |
|||
Week 4: 2/10-2/14Topics: correctness and robustness: debugging, preventing bugs, checking preconditions, robust handling of input, exceptions |
|||||
Mon |
Materials from class:
|
lab 1 resubmit due Mon 2/10 9:40am |
|||
Wed |
Materials from class:
|
||||
Thu | lab 3 Correctness due Thu 2/20 1:10pm |
||||
Fri |
Reading:
|
class prep — Eck 8.3 (on Canvas) due Thu 2/13 10pm |
|||
Week 5: 2/17-2/21Topics: data structure fundamentals: arrays |
|||||
Mon |
Reading:
|
class prep — arrays (on Canvas) due Sun 2/16 10pm |
|||
Wed |
Materials from class:
|
||||
Thu | lab 4 Arrays and Debugging due Thu 2/27 1:10pm |
||||
Fri |
Materials from class:
|
class prep — Omino (on Canvas) due Thu 2/20 11:59pm (optional, but encouraged) |
project 2 Omino due Fri 3/7 11:59pm |
flip resubmit due Fri 2/21 9:40am feedback |
|
Week 6: 2/24-2/28Topics: searching, sorting, shuffling; linked lists |
|||||
Mon |
Reading:
|
class prep — Eck 7.5.3-7.5.4 (on Canvas) due Sun 2/23 10pm |
|||
Wed |
Reading:
|
class prep — Eck 7.5.1 (on Canvas) due Tue 2/25 10pm |
|||
Thu | |||||
Fri |
Reading:
|
class prep — Eck 9.2 (on Canvas) due Thu 2/27 10pm |
|||
Week 7: 3/3-3/7Topics: linked lists; efficiency |
|||||
Mon |
Materials from class:
|
||||
Wed | lab 2 resubmit due Wed 3/5 9:40am feedback |
||||
Thu |
Materials from class:
|
lab 5 Linked Lists due Thu 3/13 1:10pm |
|||
Fri |
Reading:
|
class prep — Eck 8.5 (on Canvas) due Thu 3/6 10pm |
|||
Week 8: 3/10-3/14Topics: efficiency; streams, readers/writers, files |
|||||
Mon |
Materials from class:
|
class prep — Solitaire (on Canvas) due Sun 3/9 10pm |
project 3 Solitaire due Wed 4/2 11:59pm |
||
Wed |
Materials from class:
|
||||
Thu |
exam 1
|
||||
Fri |
Reading:
|
class prep — Eck 11.1-11.3 (on Canvas) due Thu 3/13 10pm |
|||
Spring Break: 3/17-3/21 |
|||||
Week 9: 3/24-3/28Topics: ADTs and Java Collections |
|||||
Mon |
Materials from class:
|
||||
Wed |
Reading:
|
class prep — Eck 9.3 (on Canvas) due Tue 3/25 10pm |
|||
Thu | lab 6 Streams due Thu 4/3 1:10pm |
||||
Fri |
Reading:
|
class prep — Eck 10.1-10.3 (on Canvas) due Thu 3/27 10pm |
|||
Week 10: 3/31-4/4Topics: ADTs and Java Collections; object-oriented analysis and design; choosing data structures |
|||||
Mon |
Reading:
|
lab 3 resubmit due Mon 3/31 9:40am feedback lab 4 resubmit due Mon 3/31 9:40am feedback |
|||
Wed |
Reading:
|
class prep — Eck 5.3.4, 5.4 (on Canvas) due Tue 4/1 10pm |
|||
Thu | lab 7 Java Collections due Thu 4/10 1:10pm |
||||
Fri |
Materials from class:
|
class prep — Adventure (on Canvas) due Thu 4/3 10pm |
project 4 Adventure design due Fri 4/11 9:40am checkpoint Mon 4/14 project due Mon 4/28 11:59pm |
||
Week 11: 4/7-4/11Topics: binary trees and binary search trees; inheritance and polymorphism |
|||||
Mon |
Reading:
|
class prep — 9.4-9.4.1 (on Canvas) due Sun 4/6 10pm |
Omino resubmit due Mon 4/7 9:40am feedback |
||
Wed |
Reading:
|
class prep — Eck 9.4.2 (on Canvas) due Tue 4/8 10pm |
|||
Thu | lab 8 Binary Trees due Thu 4/17 1:10pm |
||||
Fri |
Reading:
|
class prep — Eck 5.5.1-5.5.3, 5.6 (on Canvas) due Thu 4/10 10pm |
|||
Week 12: 4/14-4/18Topics: polymorphism, abstract classes, interfaces |
|||||
Mon |
Reading:
|
class prep — Eck 5.5.4, 5.5.5, 5.7.1, 5.7.3 (on Canvas) due Sun 4/13 10pm |
|||
Wed |
Materials from class:
|
lab 5 resubmit due Wed 4/16 9:40am feedback |
|||
Thu |
exam 2
|
||||
Fri |
Materials from class:
|
||||
Week 13: 4/21-4/25Topics: OOAD with inheritance; nested classes; recursion |
|||||
Mon |
Reading:
|
class prep — Eck 5.8-5.8.2 (on Canvas) due Sun 4/20 10pm |
|||
Wed | HWS Day — no class | lab 6 resubmit due Wed 4/23 9:40am feedback |
|||
Thu | lab 9 Inheritance due Thu 5/1 1:10pm |
||||
Fri |
Reading:
|
class prep — Eck 9.1 (on Canvas) due Thu 4/24 10pm |
|||
Week 14: 4/28-5/2Topics: recursion |
|||||
Mon |
Materials from class:
|
||||
project interviews (see your email for the signup link) signup deadline 4/28 11:59pm |
|||||
Wed |
Materials from class:
|
lab 7 resubmit due Wed 4/30 9:40am hand in as lab7v2 feedback |
|||
Thu | lab 10 Recursion due Mon 5/5 11:59pm |
||||
Fri | *** meet in Rosenberg 009 *** | ||||
Week 15: 5/5Topics: wrapup |
|||||
Mon | *** meet in Rosenberg 009 *** | Solitaire resubmit due Mon 5/5 11:59pm hand in as solitairev2 feedback lab 8 resubmit due Mon 5/5 9:40am hand in as lab8v2 feedback |
|||
Reading Period: 5/6-5/8 |
|||||
Tue | office hours: 12:30-4pm | ||||
Wed | office hours: 12:30-2:30pm | ||||
Thu | office hours: 12:30-4pm | ||||
Final Exams: 5/9-5/12 |
|||||
Fri |
final exam
5/9 8:30-11:30am |
end-of-semester deadline no work accepted after 5/9 11:30am |
lab 9 resubmit hand in as lab9v2 lab 10 resubmit hand in as lab10v2 Adventure resubmit hand in as adventurev2 due Fri 5/9 11:30am |
||
Sat | |||||
Sun | |||||
Mon |