CPSC 124 | Introduction to Programming | Spring 2011 |
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 tenative and may shift slightly.
Assignments | ||||
---|---|---|---|---|
Week 1: 1/19-1/21Topics: course introduction; the mental landscape; basic building blocks |
||||
Wed | Notes: course introduction | |||
Fri | Reading:
Examples:
|
warmup #1 (on Blackboard) due Thu 11:59pm |
||
Week 2: 1/24-1/28Topics: basic building blocks; algorithms |
||||
Mon |
Reading:
Examples:
Important: If you already have an account on the math/CS Linux computers, make sure you remember your password and can log in. If not, send an email with your username to Scotty Orr (scottyorr@hws.edu) by Monday and ask for your password to be reset. (If you don't have an account, you don't need to do anything - you'll receive your password in lab on Tuesday.) |
warmup #2 (on Blackboard) due Sun 11:59pm |
||
Tue | Reading: Eck section 2.6.2 (just to get a sense of the process - the lab will introduce the particular tools and directory setup) | lab
#1 Introduction to Linux and Java due Tue Feb 1 |
||
Wed | In Class: 5-minute syntax quiz on
variable declarations, assignment statements, expressions, input,
and output. Expect questions of the following types:
Examples:
|
|||
Fri | Reading: Eck sections 2.5.3-2.5.4,
2.5.8, 3.1-3.2 [reading guide]
Examples:
|
warmup #3 (on Blackboard) due Thu 11:59pm |
||
Week 3: 1/31-2/4Topics: conditionals and loops |
||||
Mon | Reading:
Examples: |
warmup #4 (on Blackboard) due Sun 11:59pm |
||
Tue | lab #2 First Programs due Tue Feb 8 |
|||
Wed | Reading:
In Class: 5-minute syntax quiz on if statements. Expect questions which ask you to translate pseudocode, such as:
Examples:
|
warmup #5 (on Blackboard) due Tue 11:59pm |
||
Fri |
Examples:
|
|||
Week 4: 2/7-2/11Topics: loops; arrays |
||||
Mon |
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 can write a while loop or a for loop. Examples:
|
warmup #6 (on Blackboard) due Sun 11:59pm |
||
Tue | lab #3 Control due Tue Feb 15 |
|||
Wed |
Examples:
|
|||
Fri |
Reading:
Examples:
|
warmup #7 (on Blackboard) due Thu 11:59pm |
||
Week 5: 2/14-2/18Topics: arrays |
||||
Mon |
In Class: 5-minute syntax quiz on arrays. Expect questions of
the following types:
Examples:
|
|||
Tue | lab #4 Arrays due Tue Feb 22 |
|||
Wed | Reading:
Examples:
|
warmup #8 (on Blackboard) due Tue 11:59pm |
||
Fri | Examples: | |||
Week 6: 2/21-2/25Topics: subroutines |
||||
Mon | Reading:
Examples:
|
warmup #9 (on Blackboard) due Sun 11:59pm |
||
Tue | project #1 Minesweeper pseudocode due Fri Feb 25 program due Tue Mar 8 |
|||
Wed |
exam #1
Wed 2/23 in class |
|||
Fri |
Reading:
Eck sections 4.3.1-4.3.4
[reading guide]
Examples:
|
warmup #10 (on Blackboard) due Thu 11:59pm |
||
Week 7: 2/28-3/4Topics: subroutines |
||||
Mon |
Reading:
In Class: 5-minute syntax quiz on subroutines and subroutines with parameters. Expect questions of the following types:
Examples:
|
warmup #11 (on Blackboard) due Sun 11:59pm |
||
Tue | lab
#5 Subroutines due Tue Mar 8 |
|||
Wed |
Reading:
Eck section 4.4
[reading guide]
Examples:
|
warmup #12 (on Blackboard) due Tue 11:59pm |
||
Fri | Examples: | |||
Week 8: 3/7-3/11Topics: creating programs with subroutines and functions |
||||
Mon |
In Class: 5-minute syntax quiz on functions and return statements.
Expect questions of the following
types:
Examples:
|
|||
Tue | lab
#6 Functions due Tue Mar 22 |
|||
Wed | Reading:
Eck section 4.7
[reading guide]
Examples:
|
warmup #13 (on Blackboard) due Tue 11:59pm |
||
Fri | Reading: no reading for today,
but look ahead to 3/21 so you don't have to do the reading over
spring break!
Examples:
|
|||
Spring Break |
||||
Week 9: 3/21-3/25Topics: objects and classes |
lab
#6 Functions (continued) due Tue Mar 22 |
|||
Mon | Reading:
Eck section 1.5 and the "Objects" handout posted
on Blackboard (under "Course
Documents")
[reading guide]
Examples:
|
|||
Tue | Reading: Eck section 5.4 (just pay attention to what methods each class has and to the example in section 5.4.3 - don't worry about how to write or design a class) | lab #7 Using Objects due Tue Mar 29 |
||
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 API of any classes you are to use (including Card, Deck, Hand), similar in format to the Card/Hand/Deck handout. Examples:
|
|||
Fri | Reading: Eck sections 5.1-5.2
[reading guide]
Examples:
|
warmup #14 (on Blackboard) due Thu 11:59pm |
||
Week 10: 3/28-4/1Topics: objects and classes |
||||
Mon | Reading: Eck section 5.4.2
[reading guide]
Examples:
|
|||
Tue | lab
#8 Writing Classes due Tue Apr 5 |
|||
Wed |
In Class: 5-minute syntax quiz on writing classes as a
blueprint for objects.
Expect questions of the following
type:
Examples:
|
|||
Fri | Reading: Eck sections
5.3.4, 5.4.1-5.4.2 [reading
guide]
Examples: |
warmup #15 (on Blackboard) due Thu 11:59pm |
||
Week 11: 4/4-4/8Topics: data structures: partially full arrays, dynamic arrays, ArrayList |
||||
Mon | Reading: Eck sections 7.3.1-7.3.2 [reading guide] | warmup #16 (on Blackboard) due Sun 11:59pm |
||
Tue | project #2 Not the Usual Breakout design meeting due Tue Apr 12 program due Wed Apr 20 |
|||
Wed | Reading: Eck sections 4.5.2-4.5.3,
5.3.2, 7.3.3-7.3.4 [reading
guide]
Examples:
|
warmup #17 (on Blackboard) due Tue 11:59pm |
||
Fri |
exam #2
Fri 4/8 in class |
|||
Week 12: 4/11-4/15Topics: data structures; inheritance |
||||
Mon | In Class: 5-minute syntax quiz on
using ArrayList. Expect questions asking you to write statement(s)
for tasks like the following:
A section of the ArrayList API will be provided for you for reference. Examples:
|
|||
Tue | lab
#9 Partially-Full and Dynamic Arrays due Tue Apr 19 |
|||
Wed | Reading: Eck sections
5.5.1-5.5.3, 5.6 [reading
guide]
Examples:
|
warmup #18 (on Blackboard) due Tue 11:59pm |
||
Fri |
Examples:
|
|||
Week 13: 4/18-4/22Topics: inheritance and polymorphism; GUI programming |
||||
Mon | Reading: Eck sections
5.5.4-5.5.5, 5.7.1 [reading
guide]
In Class: 5-minute syntax quiz on inheritance. Expect questions of the following types:
Examples:
|
warmup #19 (on Blackboard) due Sun 11:59pm |
||
Tue | lab #10 Rabbit Hunt due Tue Apr 26 |
|||
Wed | Examples:
|
|||
Fri | Reading:
Examples:
More Information on GUIs: |
warmup #20 (on Blackboard) due Thu 11:59pm |
||
Week 14: 4/25-4/29Topics: GUI programming |
||||
Mon | Examples: | |||
Tue | project #3 Connect Four due Tue 5/10 10pm |
|||
Wed | Reading:
Examples:
|
warmup #21 (on Blackboard) due Tue 11:59pm |
||
Fri | Examples: | |||
Week 15: 5/2-5/3Topics: wrapup |
||||
Mon |
Examples:
|
|||
Tue | ||||
Exams: 5/7-5/10 |
||||
Sat | ||||
Sun | ||||
Mon | ||||
Tue |
exam #3
Tue 5/10 7-10pm |
end-of-semester deadline no work accepted after 5/10 10pm |