Course Schedule

You've already read the course description and course policies?

Lectures and solutions to selected problems are available.

Course Calendar

NOTE: Dates & assignments are subject to change!

Richard White, Intro to Computer Science. Third Quarter, 2009-2010
SUN MON TUE WED THU FRI SAT
1/24 1/25 1/26 1/27 1/28 1/29 1/30
  Unit 1, Day 1
Introduction to the course, the website, our computers. Intro to the Terminal, the shell/command line (ls, cd, ctrl-c) strong passwords.
  Unit 1, Day 2
More shell commands (mkdir); file system structure; intro to text editing (Notepad, TextEdit, nano, vim, emacs), file-naming conventions in this course. Text-editing: moving around, finding, inserting/deleting, copy/cut/paste, undo. More shell commands (mv, cp, rm).
Unit 1, Day 3
Intro to Programming: high-level vs. low-level languages, compiled vs. interpreted languages. Running the Python interpreter. Print statements. First program ("Hello, world!"). Comments, defining and calling a function, spacing for suites, "for" loops, inputting numbers, assigning values to variables.
Unit 1, Day 4
The Big Picture: Software development cycles, flowcharts, pseudocode, identifiers and reserved words, advanced "for" loops, intro to "while" loops.
 
  crashwhite.com/compsci          
  HW: Explore course website, fill out student info form, install Cygwin/Python on your home machine, get a 4 GB flash drive. Make sure you have textbook: John Zelle's Python Programming: An Introduction to Computer Science.   HW: Read Chapter 1, Sections 1.1-1.4 HW: Read Chapter 1, Sections 1.5-1.8; do Chapter 1 programming exercises #1, #2, and #3. HW: Read Chapter 2; do Chapter 2 programming exercises #2, #4, and #6.  
1/31 2/1 2/2 2/3 2/4 2/5 2/6
  Unit 2, Day 1:
Branching structures: the "if" statement, boolean expressions, "if-else" statements, nested "if" statements, "elif".
  Unit 2, Day 2:
Programming Day: Coin Flipper
Unit 2, Day 3:
Indefinite Loops: the "while" loop, interactive loops, sentinel loops.
Unit 2, Day 4:
Programming Day: Craps
 
             
  HW: Read Chapter 7, Sections 7.1-7.3; do Chapter 7 programming exercises #1, #3, #6.   HW: HW: Read Chapter 8, Sections 8.1, 8.2, 8.3.1, 8.3.2; do Chapter 8 programming exercises #1, #5. HW:  
2/7 2/8 2/9 2/10 2/11 2/12 2/13
  Unit 2, Day 5:
Numeric Data Types: integers, floating, numeric operations, the math library, math library functions, converting numeric types.
  Unit 2, Day 6:
String Data Type: raw_input(), string operations,"chr" and "ord" functions, formatting, intro to lists
Unit 2, Day 7:
Strong passwords; Network demo: "scp," "ssh," submitting files online.
Staff Day: No classes  
             
  HW: Read Chapter 3, Sections 3.1-3.6, do Chapter 3 programming exercises #1, #3, #9, #15(optional).   HW: Read Chapter 4, Sections 4.1-4.5, do Chapter 4 programming exercises #3, #5, #7, #8. HW: Take online quiz    
2/14 2/15 2/16 2/17 2/18 2/19 2/20
  Holiday: President's Day   Unit 2, Day 8:
Study in Design: Max of Three (whiteboard exercise); Basic List manipulation
Unit 2, Day 9:
Programming Day: Bubblesort
Independent Project 1:
Intro to First Independent Project. Introduction. Specs. Design. Coding.
 
             
      HW: Read Chapter 7, Section 7.5, 7.6. Read Chapter 11, Sections 11.1, 11.2 HW: HW:  
2/21 2/22 2/23 2/24 2/25 2/26 2/27
  Independent Project 1:
Coding
  Independent Project 1:
Coding
Independent Project 1:
Coding
Independent Project 1:
Complete assignment
 
             
  HW:   HW: HW: HW:  
2/28 3/1 3/2 3/3 3/4 3/5 3/6
  Unit 3, Day 1: Structural Elements: Functions, Classes, Objects, Methods:
Functions, parameters, passing to a function, getting results from a function, modifying parameters, why use functions
  Unit 3, Day 2: Intro to Object: examples of objects, O-O design, example of O-O Python program (carddeck.py, dog.py). Unit 3, Day 3: Intro to Graphics Programming: Download and install "graphics.py" module. Demonstration of some basic commands. Unit 3, Day 4: Programming Day. Use Section 5.8 from textbook as a reference. Work on assignment visualcraps.py  
             
  HW: Ready Chapter 6, Sections 6.1-6.7, do Ch 6 programming exercises #1, #3, #7, #12. (Note that there is typo in #7. You should refer to Chapter 3, programming exercise #16, NOT #3!)   HW: Read Chapter 5, Sections 5.1-5.2. Do worksheet on Object-Oriented Design HW: Read through Sections 5.3 through 5.6; work through the "Graphing Future Value" example HW:  
3/7 3/8 3/9 3/10 3/11 3/12 3/13
  Unit 3, Day 5: Programming Day: visualcraps.py   Unit 3, Day 6: More on Graphics: Text, capturing click, GUIs. Independent Project 2: randomWalker, spirograph, fractals. Intro, coding Independent Project 2: Complete assignment  
             
  HW: Read Chapter 5, Section 5.7   HW: Do Ch 5 programming exercises #2, #8 HW: Begin working on IP2 HW: Finish IP2  
3/14 3/15 3/16 3/17 3/18 3/19 3/20
  Unit 4, Day 1: Larger Programs: External Files, Program Design.
File Processing, w/ multiline strings, external files, batch processing.
  Unit 4, Day 2: Intro to Databases: What is a database? Records, fields, "flat file" database. Unit 4, Day 3: Program Development. Top-Down design, Bottom-Up implementation LEC: TBA  
             
  HW: Read Chapter 4, Section 4.6.; do Programming Exercises #11, #14, #15.   HW: Develop Address Book Program HW: Develop Address Book Program HW: Relax!  
3/21 3/22 3/23 3/24 3/25 3/26 3/27
  Spring Break Spring Break Spring Break Spring Break Spring Break  
             
             
Fourth Quarter, 2009-2010          
SUN MON TUE WED THU FRI SAT
3/28 3/29 3/30 3/31 4/1 4/2 4/3
  Spring Break   Unit 5, Day 1: Delivering Web Pages:
HyperText Markup Language. How webpages are delivered. Basic HTML.
Unit 5, Day 2: CSS: Custom Style Sheets for HTML pages. Uploading pages to the server. Unit 5, Day 3: Programming Day  
             
      HW: HW: HW: