` CPSC 120 Schedule

CPSC 120: Fundamentals of Computer Science I

Fall 2011: Tentative Schedule

Date Topics & Associated Reading Study Questions & Activities
Wed,
Aug 31
  • Course Overview
  • What is Computer Science? A Problem-Solving Exercise
  • The Linux operating system (Linux/Unix Overview)
  • RC Computer Set up and Linux Operating System: Read the Linux/Unix Overview and answer the study questions.
Thur,
Sept 1
Lab 0: Introduction to Linux
Fri,
Sept 2
Mon, Sept 5
  • Fetch Execute, more detail
  • Algorithms,programming, programming languages (Section 1.2)
  • Compilers and interpreters (Section 1.2)
  • Self-Review (p. 26) SR# 1.1 - 1.3, 1.6, 1.7
Wed,
Sept 7
  • Java programs - basic structure and style (documentation, identifiers, naming conventions, and use of white space) (Section 1.1)
    Example program
  • Problem Solving & Program Development (Sections 1.3 & 1.4)
  • Character strings & printing (Section 2.1)
  • Quiz #1
  • Self-Review (p. 26) SR# 1.4, 1.5
  • Exercises (pp. 26, 27) EX# 1.1 - 1.6;
  • Self-Review (pp. 62) SR# 2.2 - 2.5;
Thurs,
Sept 8
Lab 1: Editing, compiling, and modifying elementary Java programs;
Fri,
Sept 9
  • Introduction to variables and assignment statements in Java (Section 2.2)
  • Primitive data types (Section 2.3)
  • Exercises (p. 63 - 64) EX# 2.1 - 2.5
  • Self-Review (p. 63) #SR 2.6 - 2.14;
  • Exercises (p. 64 - 66) #EX 2.6 - 2.11
Mon,
Sept 12
  • Operators, operator precedence, & expressions (Section 2.4)
  • Post lab #1 Due
  • Self Review (page 26) #SR 1.8
Wed,
Sept 14
  • Interactive programs - Scanner class (Section 2.6)
  • Data conversion (Section 2.5)
  • Quiz #2
  • Self Review (p. 98) #3.1 - 3.7; Exercises (p. 99) #3.1 - 3.4
Thurs,
Sept 15
Lab 2: Writing simple programs using expressions
Fri,
Sept 16
  • Objects and Classes (Sections 1.5, 3.1)
  • The String class (Section 3.2)
  • Introduction to Classes and class libraries (Sections 3.2 & 3.3)
  • Self-Review (p. 99) #SR 3.10 - 3.16; Exercises (p. 100) #EX 3.6 - 3.9; Programming Projects (p. 101) #3.1, 3.2
Mon,
Sept 19
  • String class continued
  • Math class, Random class (Sections 3.4 & 3.5)
  • Post lab #2 Due
  • Supplementary Exercise; Exercise (p. 100) #3.10, 3.11
Wed,
Sept 21
  • More with classes and method signatures
Thurs,
Sept. 22
Lab 3: Writing programs using classes from the Java class library
Fri,
Sept 23
  • Assignment #1 Due  
Mon,
Sept 26
TEST #1
Wed,
Sept 28
  • More with using Classes and Objects (Color and Graphics)
  • Representation of Numeric Data
    • Review of Numeric data types (Section 2.3)
    • Number Systems (binary, octal, hex; general concept of a base - Appendix B)
Thurs, Sept 29 Lab 4: More with classes (including Color and Graphics)
Fri,
Sept 30
  • Converting a Base 10 number to another base (Appendix B)
  • Computer Arithmetic
  • Representing signed integers
Mon,
Oct 3
Wed,
Oct 5
  • Introduction to Conditionals and Boolean Expressions (Logic) (Section 4.1)
  • if statements (Section 4.2)
  • Quiz #4
  • Self-Review (pp. 150 - 151) #4.1- 4.4; Exercises (pp. 151 - 152) #4.1- 4.5
Thurs,
Oct 6
Lab 5: Data Representation & Conditionals
Fri,
Oct 7
  • Comparing Data (Section 4.3)
  • Switch Statement (Section 4.4)
  • Wrap up logic
  • Introduction to Loops (Section 4.5)
  • Self-Review (p. 151) # 4.5 - 4.8; Study Questions from Logic Handout
Mon,
Oct 10
  • Boolean expressions
  • Post lab #5 Due
  • Self-Review (p. 151) #SR 4.10, 4.11; Exercises (p. 152-153) 4.7, 4.8, 4.11, 4.13, 4.14
Wed,
Oct 12
  • Quiz #5
  • Self-Review (p. 151) #SR 4.11; Exercises (p. 153) #EX 4.9 - 4.10
Thurs,
Oct 13
Lab 6: More Selection & Loops
Fri,
Oct. 14
  • Wrap up for loops (Section 4.8)
  • Assignment #2 Due
  • Self-Review (p. 151) #SR 4.12; Exercises (p. 153) #EX 4.11 - 4.23
Week of
Oct. 17
FALL BREAK!!!
Mon,
Oct. 24
  • Introduction to Writing Classes (Sections 5.1, 5.2)
  • Self-Review (p. 224) #SR 5.1 - 5.4, Exercises (p. 225) EX5.1 - 5.4
Wed,
Oct. 26
  • Introduction to Writing Classes, continued (Sections 5.1, 5.2)
  • Writing Classes - encapsulation (Section 5.3)
  • Methods (Section 5.4)
  • Quiz #6
Thurs,
Oct 27
Lab 7: More Loops & Intro to Writing Classes
Fri,
Oct. 28
  • Review for Test #2
  • Handout - Review topics
Mon,
Oct 31
TEST #2
Wed,
Nov 2
  • Methods, continued (Section 5.4)
Thurs,
Nov 3
Lab 8: More Loops & Intro to Writing Classes
Fri,
Nov 4
  • Classes and Methods, continued
  • Self-Review (p. 224) SR 5.6 - 5.9, 5.12 - 5.14; Exercises (pp. 225 - 226) EX 5.7, 5.10 - 5.20
Mon,
Nov. 7
  • Introduction to Arrays (Sections 7.1 & 7.2)
  • Exercise Sheets
Wed,
Nov. 9
  • Programming Projects 5.4 - 5.7 (page 228) - design (not implement)
Thurs,
Nov. 10
Lab 9: Writing Classes; Intro to Arrays
Fri,
Nov. 11
  • Assignment #3 Due
  • Self-Review (p. 357) SR #7.1 - 7.8; Exercises (p. 358) EX 7.1 - 7.3; EX 7.5 - 7.9
Mon,
Nov. 14
  • Arrays, continued
  • ...
Wed,
Nov. 16
  • Arrays of Objects (Section 7.3)
  • Command Line Arguments (Section 7.4)
  • Self Review #7.9; Exercise #7.4; Programming Project #7.3
Thurs,
Nov. 17
Lab 10: More Classes; Intro to Arrays
Fri,
Nov. 18
Quiz #8
Mon,
Nov 21
Test #3
Nov. 23 - 25
Thanksgiving Break
Mon,
Nov. 28
  • Two Dimensional Arrays (Section 7.6)
  • Self Review #7.12
Wed,
Nov 30
  • Static Class Members (Section 5.5)
  • Class Relationships (Section 5.6)
  • Method overloading (Section 5.8)
...
Thurs,
Dec 1
Lab 11: Arrays and Classes
Fri,
Dec 2
  • Catch up and Review for Test #3
  • Test #3 Topics Handout
Mon,
Dec 5
  • Method Design (Section 5.7)
  • Self-Review (p. 227) SR #5.18 - 5.24
  • Self-Review SR 5.20, 5.21; Exercises (p. 230) EX 5.25 - 5.28
Wed,
Dec. 7
  • Methods and parameter passing, continued (Section 5.7)
  • Parameter Passing exercises (handout)
Thurs,
Dec. 8
Lab 12: Grand Finale
Fri,
Dec. 9
Catch up and Review Assignment #4 Due
Wed,
Dec. 15
FINAL EXAM (2:00 pm - 5:00 pm)