CPSC 124 | Introduction to Programming | Spring 2024 |
Reading is to be done for the class period where it is listed; "Eck" refers to the textbook (Introduction to Programming in Java). Warmups are due by 10pm the night before the class for which they are listed.
Dates for things in light gray are for planning purposes and may be adjusted slightly.
Assignments | |||||
---|---|---|---|---|---|
Week 1: 1/22-1/26Topics: course introduction; the mental landscape; building blocks |
|||||
Mon |
Reading:
|
introductory survey (on Canvas, under "Quizzes") due Fri 1/26 11:59pm |
|||
Tue |
Reading:
|
lab 1 Introduction to Linux and Java due Tue 1/30 |
|||
Wed |
Reading:
|
warmup (on Canvas, under "Quizzes") due Tue 1/23 10pm |
|||
Fri |
Reading:
|
warmup (on Canvas, under "Quizzes") due Thu 1/25 10pm |
|||
Week 2: 1/29-2/2Topics: building blocks; introduction to control structures; conditionals |
|||||
Mon |
Reading:
|
syntax quiz 1 - building blocks (on Canvas, under "Quizzes") due Mon 1/29 11:59pm (review info) |
|||
Tue | lab 2 First Programs due Tue 2/6 |
||||
Wed |
Reading:
|
warmup (on Canvas, under "Quizzes") due Tue 1/30 10pm |
|||
Fri |
Reading:
|
||||
Week 3: 2/5-2/9Topics: loops |
|||||
Mon |
Reading:
|
warmup (on Canvas, under "Quizzes") due Sun 2/4 10pm |
syntax quiz 2 - conditionals (on Canvas, under "Quizzes") due Mon 2/5 11:59pm (review info) |
||
Tue | lab 3 Making Choices due Tue 2/13 |
||||
Wed |
Slides and Examples:
|
||||
Fri |
Reading:
|
warmup (on Canvas, under "Quizzes") due Thu 2/8 10pm |
|||
Week 4: 2/12-2/16Topics: arrays |
|||||
Mon |
Reading:
|
warmup (on Canvas, under "Quizzes") due Sun 2/11 10pm |
syntax quiz 3 - loops (on Canvas, under "Quizzes") due Mon 2/12 11:59pm (review info) |
||
Tue | lab 4 Repetition due Tue 2/20 |
||||
Wed |
Slides and Examples:
|
||||
Fri |
Reading:
|
warmup (on Canvas, under "Quizzes") due Thu 2/15 10pm |
|||
Week 5: 2/19-2/23Topics: algorithm development, testing and debugging |
|||||
Mon |
Reading:
|
syntax quiz 4 - arrays (on Canvas, under "Quizzes") due Mon 2/19 11:59pm (review info) |
|||
Tue |
Slides and Examples:
|
lab 5 Arrays due Tue 2/27 |
|||
Wed |
Slides and Examples:
|
||||
Fri |
Slides and Examples:
|
||||
Week 6: 2/26-3/1Topics: drawing and animation; subroutines |
|||||
Mon |
Reading:
|
project 1 Minesweeper muddiest points due Thu 2/29 10pm |
|||
Tue | lab 6 Drawing and Animation due Tue 3/5 |
||||
Wed |
Reading:
|
warmup (on Canvas, under "Quizzes") due Tue 2/27 10pm |
|||
Fri |
Reading:
|
project 1 Minesweeper pseudocode due Mon 3/4 noon |
|||
Week 7: 3/4-3/8Topics: functions; program design with subroutines |
|||||
Mon |
Reading:
|
warmup (on Canvas, under "Quizzes") due Sun 3/3 10pm |
project 1 Minesweeper due Fri 3/15 noon |
||
Tue | work on project | ||||
Wed |
Reading:
|
||||
Fri |
Slides and Examples:
|
||||
Week 8: 3/11-3/15Topics: more about exceptions; odds and ends |
lab 7 Subroutines and Functions due Tue 3/26 |
||||
Mon |
Reading:
|
warmup (on Canvas, under "Quizzes") due Sun 3/10 10pm |
syntax quiz 5 - subroutines and functions (on Canvas, under "Quizzes") due Mon 3/11 11:59pm (review info) |
||
Tue | |||||
Wed |
Reading:
|
||||
Fri |
** If you have a laptop that you can bring to class, please do
so today. Also, we'll be using the Linux VDI, so please try it out
before class if you haven't already.
Slides and Examples: |
||||
Spring Break: 3/16-3/24 |
|||||
Week 9: 3/25-3/29Topics: using objects, creating classes |
|||||
lab 7 (continued) |
|||||
Mon |
Reading:
Slides and Examples:
|
syntax quiz 6 - objects (on Canvas, under "Quizzes") due Mon 3/25 11:59pm (review info) |
|||
Tue | lab 8 Using Objects due Tue 4/2 |
||||
Wed |
Slides and Examples:
|
||||
Fri |
Reading:
|
warmup (on Canvas, under "Quizzes") due Thu 3/28 10pm |
|||
Week 10: 4/1-4/5Topics: creating classes; program design with classes |
|||||
Mon |
Slides and Examples:
|
syntax quiz 7 - classes (on Canvas, under "Quizzes") due Mon 4/1 11:59pm (review info) |
|||
Tue | lab 9 Writing Classes due Tue 4/9 |
||||
Wed |
Reading:
|
warmup (on Canvas, under "Quizzes") due Tue 4/2 10pm |
project 2 Pac-Man muddiest points due Thu 4/4 10pm muddiest points second chance due Sun 4/7 10pm |
||
Fri |
Slides and Examples:
|
project 2 Pac-Man due Mon 4/22 noon |
|||
Week 11: 4/8-4/12Topics: partially full arrays, dynamic arrays |
|||||
Mon |
Slides and Examples:
|
||||
Tue | work on project | ||||
Wed |
Reading:
|
warmup (on Canvas, under "Quizzes") due Tue 4/9 10pm |
|||
Fri |
Slides and Examples:
|
||||
Week 12: 4/15-4/19Topics: ArrayList; inheritance, polymorphism; abstract classes |
|||||
Mon |
Reading:
|
warmup (on Canvas, under "Quizzes") due Sun 4/14 10pm |
|||
Tue |
Slides and Examples:
|
Linux VDI survey (on Canvas, under "Quizzes") due Tue 4/16 11:59pm |
lab 10 Collections of Varying Size due Tue 4/23 |
||
Wed |
Reading:
|
warmup (on Canvas, under "Quizzes") due Tue 4/16 10pm |
|||
Fri |
Reading:
|
warmup (on Canvas, under "Quizzes") due Thu 4/18 10pm |
|||
Week 13: 4/22-4/26Topics: abstract classes and interfaces |
|||||
Mon |
Slides and Examples:
|
final project Connect Four muddiest points due Thu 4/25 10pm |
syntax quiz 8 - inheritance (on Canvas, under "Quizzes") due Mon 4/22 11:59pm (review info) |
||
Tue | lab 11 Inheritance due Tue 4/30 |
||||
Wed | HWS Day (no class) | ||||
Fri |
Reading:
|
warmup (on Canvas, under "Quizzes") due Thu 4/25 10pm |
final project Connect Four due Wed 5/8 4:30pm (no extensions!) |
||
Week 14: 4/29-5/3Topics: interfaces; wrapup |
|||||
Mon |
Slides and Examples:
|
||||
Tue | work on project | ||||
Wed |
work on project and/or syntax quizzes
** bring a laptop you can use to access the Linux VDI and/or Canvas |
||||
Fri |
work on project and/or syntax quizzes
** bring a laptop you can use to access the Linux VDI and/or Canvas |
||||
Reading Period: 5/4-5/6 |
|||||
Sat | |||||
Sun | |||||
Mon | office hours 10am-1pm | ||||
Final Exams: 5/7-5/10 |
|||||
Tue | office hours 10am-1pm | ||||
Wed |
office hours 10am-1pm
final exam
5/8 1:30-4:30pm |
end-of-semester deadline no work accepted after 5/8 4:30pm |
|||
Thu | |||||
Fri |