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 hand in as lab3v2 feedback lab 4 resubmit due Mon 3/31 9:40am hand in as lab4v2 feedback |
|||
Wed |
Reading:
|
class prep — Eck 5.3.4, 5.4 (on Canvas) due Tue 4/1 10pm |
|||
Thu | |||||
Fri | class prep (to be posted) due Thu 4/3 10pm |
||||
Week 11: 4/7-4/11Topics: |
|||||
Mon | project 4 | Omino resubmit due Mon 4/7 9:40am hand in as ominov2 feedback |
|||
Wed | |||||
Thu | |||||
Fri | |||||
Week 12: 4/14-4/18Topics: |
|||||
Mon | |||||
Wed | |||||
Thu |
exam 2
|
||||
Fri | |||||
Week 13: 4/21-4/25Topics: |
|||||
Mon | |||||
Wed | |||||
Thu | |||||
Fri | |||||
Week 14: 4/28-5/2Topics: |
|||||
Mon | |||||
Wed | |||||
Thu | |||||
Fri | |||||
Week 15: 5/5Topics: |
|||||
Mon | |||||
Reading Period: 5/6-5/8 |
|||||
Tue | |||||
Wed | |||||
Thu | |||||
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 |
|||
Sat | |||||
Sun | |||||
Mon |