CPSC 124 | Introduction to Programming | Spring 2019 |
Readings are to be done for the class period where they are listed. Warmups are due by midnight before the class for which they are listed.
Optional readings are more advanced or extra material for those who are curious or want to go beyond the basics - you are encouraged to check them out, but they will not be addressed in class.
Dates for things in light gray are for planning purposes and may shift slightly.
Assignments | ||||
---|---|---|---|---|
Week 1: 1/22-1/25Topics: course introduction; the mental landscape; basic building blocks |
||||
Wed | Slides: | |||
Thu | Reading:
|
lab 1 Introduction to Linux and Java due Thu 1/31 comments |
||
Fri |
Reading:
Slides:
|
warmup #1 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 2: 1/28-2/1Topics: basic building blocks; algorithms |
||||
Mon | Reading:
Slides:
|
warmup #2 (on Canvas, in the "Quizzes" section) due Sun 11:59pm |
||
Wed |
In Class: 5-minute syntax quiz on variable
declarations, assignment statements, expressions, and
output. Expect questions of the following types:
Slides and Examples: |
|||
Thu |
Slides:
Reference: |
lab 2 First Programs due Thu 2/7 comments |
||
Fri |
Reading:
Slides and Examples:
|
warmup #3 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 3: 2/4-2/8Topics: conditionals; loops |
||||
Mon |
Reading:
Slides and Examples:
|
warmup #4 (on Canvas, in the "Quizzes" section) due Sun 11:59pm |
||
Wed |
In Class: 5-minute syntax quiz on
if statements. Expect questions which ask you to translate
pseudocode, such as:
(Note that in pseudocode like this, the indentation matters.) Reading:
Examples:
|
|||
Thu | lab 3 Making Choices due Thu 2/14 comments |
|||
Fri |
Reading:
Slides: |
warmup #5 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 4: 2/11-2/15Topics: loops; arrays |
||||
Mon |
Slides and Examples:
|
|||
Wed |
Reading:
In Class: 5-minute syntax quiz on loops. Expect questions of the form:
As indicated, you'll be provided with code for everything except the loop syntax itself (which will be expressed in pseudocode). You may need to declare loop variables. Both while loops and for loops are acceptable. Slides and Examples: |
warmup #6 (on Canvas, in the "Quizzes" section) due Tue 11:59pm |
||
Thu | lab 4 Repetition due Thu 2/21 comments |
|||
Fri |
Reading:
Slides and Examples:
|
warmup #7 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 5: 2/18-2/22Topics: arrays |
||||
Mon |
Reading:
Slides and Examples:
|
|||
Wed |
Reading:
In Class: 5-minute syntax quiz on arrays. Expect questions of the following types:
Slides and Examples:
|
warmup #8 (on Canvas, in the "Quizzes" section) due Tue 11:59pm |
||
Thu | lab 5 Arrays due Thu 2/28 comments |
|||
Fri |
Slides and Examples:
|
|||
Week 6: 2/25-3/1Topics: subroutines |
||||
Mon |
Reading:
|
warmup #9 (on Canvas, in the "Quizzes" section) due Sun 11:59pm |
project 1 Minesweeper muddiest points due Tue 2/26 11:59pm |
|
Wed |
Reading:
Slides: |
project 1 Minesweeper pseudocode due Fri 3/1 pseudocode handout |
||
Thu | work on project | |||
Fri |
Reading:
|
warmup #10 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
project 1 Minesweeper program due Fri 3/15 comments |
|
Week 7: 3/4-3/8Topics: subroutines |
||||
Mon |
Reading:
In Class: 5-minute syntax quiz on subroutines and subroutines with parameters. Expect questions of the following types:
Slides and Examples:
|
warmup #11 (on Canvas, in the "Quizzes" section) due Sun 11:59pm |
||
Wed |
exam 1 in class
|
|||
Thu | lab 6 Subroutines and Functions due Thu 3/14 comments |
|||
Fri |
Slides and Examples:
|
|||
Week 8: 3/11-3/15Topics: subroutines; odds and ends; exceptions; using objects |
||||
Mon |
In Class: 5-minute syntax quiz on functions and return
statements. Expect questions of the following types:
|
|||
Wed |
Reading:
Slides and Examples:
|
warmup #12 (on Canvas, in the "Quizzes" section) due Tue 11:59pm |
||
Thu | lab 7 Programming With Subroutines due Thu 3/28 |
|||
Fri |
Reading:
|
warmup #13 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Spring Break: 3/16-3/24 |
||||
Week 9: 3/25-3/29Topics: using objects, creating classes |
||||
Mon |
Reading:
Slides and Examples:
|
|||
Wed |
In Class: 5-minute syntax quiz on using objects. Expect
questions of the following type:
You may be asked to work with the Card, Deck, and Hand classes, or with a new class. You will be provided with the javadoc API of any classes you are to use (including Card, Deck, Hand). Slides and Examples:
|
|||
Thu | lab 8 Using Objects due Thu 4/4 comments |
|||
Fri |
Reading:
Slides and Examples:
|
warmup #14 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 10: 4/1-4/5Topics: creating classes; program design with classes |
||||
Mon |
Slides and Examples:
|
|||
Wed | In Class: 5-minute syntax quiz
on writing classes as a blueprint for objects. Expect questions of
the following type:
Slides and Examples:
|
project 2 Billiards muddiest points due Sun 4/7 11:59pm |
||
Thu | lab 9 Writing Classes due Thu 4/11 comments |
|||
Fri |
Reading:
Slides: |
warmup #15 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 11: 4/8-4/12Topics: program design with classes; partially full arrays, dynamic arrays, array lists |
||||
project 2 Billiards class/program design due Thu 4/11 |
||||
Mon |
Reading:
Slides: |
|||
Wed |
Reading:
Slides and Examples:
|
warmup #16 (on Canvas, in the "Quizzes" section) due Tue 11:59pm |
||
Thu | Materials: | work on project | project 2 Billiards program due 4/22 |
|
Fri |
Reading:
Slides and Examples:
|
warmup #17 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 12: 4/15-4/19Topics: partially full arrays, dynamic arrays, array lists; inheritance |
||||
Mon |
Slides and Examples:
|
|||
Wed |
exam 2 in class
|
|||
Thu | lab 10 Variable-Sized Collections due Thu 4/25 |
|||
Fri |
Reading:
Slides and Examples:
|
warmup #18 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
||
Week 13: 4/22-4/26Topics: inheritance, polymorphism, abstract classes, interfaces |
||||
Mon |
Slides and Examples:
|
project 3 Snake Den muddiest points due Thu 4/25 11:59pm |
||
Wed |
Reading:
In Class: 5-minute syntax quiz on inheritance. Expect questions of the following types:
Slides and Examples: |
warmup #19 (on Canvas, in the "Quizzes" section) due Tue 11:59pm |
||
Thu | lab 11 Inheritance due Thu 5/2 comments |
|||
Fri |
Reading:
Slides and Examples: |
warmup #20 (on Canvas, in the "Quizzes" section) due Thu 11:59pm |
project 3 Snake Den class/program design due Mon 4/29 |
|
Week 14: 4/29-5/3Topics: interfaces; GUI programming |
||||
Mon |
Materials:
Slides and Examples:
|
project 3 Snake Den program due 5/13 11:30am |
||
Wed |
Reading:
Slides and Examples:
|
|||
Thu | Introduction to GUIs due at the end of lab |
|||
Fri |
Slides and Examples:
|
|||
Week 15: 5/6Topics: wrapup |
||||
Mon | -- meet in Rosenberg 009 -- | |||
Reading Period: 5/7-4/9 | ||||
Tue | ||||
Wed | ||||
Thu | ||||
Final Exams: 5/10-5/13 |
||||
Fri | ||||
Sat | ||||
Sun | ||||
Mon |
final exam
Mon 5/13 8:30-11:30am |
end-of-semester deadline no work accepted after 5/13 11:30am |