| Week |
Session |
Reading |
HW Due |
Topics |
Slides |
Milestone |
| 0 |
1
Sec. 1: Fri Aug 31 Sec. 2: Fri Aug 31 Sec. 3: Thu Aug 30
Details
|
|
|
- Introduction to Course
- Introduction to Python
|
Introduction
|
|
| 1 |
2
Sec. 1: Tue Sep 4 Sec. 2: Mon Sep 3 Sec. 3: Mon Sep 3
Details
|
|
|
- Basic program structure
- Program output
|
Writing simple programs
|
|
| 1 |
3
Sec. 1: Wed Sep 5 Sec. 2: Wed Sep 5 Sec. 3: Tue Sep 4
Details
|
|
|
- Variables and assignment
- Definite Loops
- Basic types: numbers (int and float)
- Math library
- Accumulator problem(s)
|
Assignments through types
|
|
| 1 |
4
Sec. 1: Fri Sep 7 Sec. 2: Fri Sep 7 Sec. 3: Thu Sep 6
Details
|
|
|
- Basic types: more numbers, more lists, strings
- Type conversion
|
Types, conversions, lists, strings
|
|
| 2 |
5
Sec. 1: Tue Sep 11 Sec. 2: Mon Sep 10 Sec. 3: Mon Sep 10
Details
|
|
|
- More on strings
- Processing files
- Functions vs. methods
|
More strings, files, methods
|
|
| 2 |
6
Sec. 1: Wed Sep 12 Sec. 2: Wed Sep 12 Sec. 3: Tue Sep 11
Details
|
- 5.1-5.7, 5.9
(28 pages)
- Skim 5.8 as reference
|
|
- Eclipse development environment
- Introduction to Objects and object-oriented programming
- Graphics
|
Objects and graphics
|
|
| 2 |
7
Sec. 1: Fri Sep 14 Sec. 2: Fri Sep 14 Sec. 3: Thu Sep 13
Details
|
|
|
- Exam review
- Creating functions
- Passing values to functions
- Optional parameters
|
Functions and parameters
|
|
| 3 |
8
Sec. 1: Tue Sep 18 Sec. 2: Mon Sep 17 Sec. 3: Mon Sep 17
Details
|
- 6.5-6.7, 7.1-7.3
(26 pages)
|
|
- Functions that return results
- Decision structures ("if" statements)
|
Return values and if statements
|
Exam I Tuesday Night
Section 1 in O257 Section 2 in O259 Section 3 in O267
|
| 3 |
9
Sec. 1: Wed Sep 19 Sec. 2: Wed Sep 19 Sec. 3: Tue Sep 18
Details
|
- 7.4-7.6, 8.1-8.2
(15 pages)
|
|
- Conditional Program execution
- Exception handling
- Debugging
|
Exception handling, debugging and indefinite loops
|
|
| 3 |
10
Sec. 1: Fri Sep 21 Sec. 2: Fri Sep 21 Sec. 3: Thu Sep 20
Details
|
|
|
- Parameter passing
- Indefinite loops
- Common loop patterns
|
Parameter passing and Indefinite loops
|
|
| 4 |
11
Sec. 1: Tue Sep 25 Sec. 2: Mon Sep 24 Sec. 3: Mon Sep 24
Details
|
|
|
- Subversion version control system (Subclipse)
- Nested loops
- Booleans
- Synthesizing functions, decision structures, loops, and booleans
|
Nested loops and subversion
|
|
| 4 |
12
Sec. 1: Wed Sep 26 Sec. 2: Wed Sep 26 Sec. 3: Tue Sep 25
Details
|
|
|
|
Tic Tac Toe exercise
|
|
| 4 |
13
Sec. 1: Fri Sep 28 Sec. 2: Fri Sep 28 Sec. 3: Thu Sep 27
Details
|
|
|
- Top-Down design
- Bottom-up testing
|
Top-Down Design
|
|
| 5 |
14
Sec. 1: Tue Oct 2 Sec. 2: Mon Oct 1 Sec. 3: Mon Oct 1
Details
|
|
|
- Defining classes
- Objects and encapsulation
|
Defining Classes
|
|
| 5 |
15
Sec. 1: Wed Oct 3 Sec. 2: Wed Oct 3 Sec. 3: Tue Oct 2
Details
|
- 10.6-10.7, 11.1-11.3
(29 pages)
|
|
- Widgets
- Data collections (list operations, lists of objects)
|
Widgets and Data Collections
|
|
| 5 |
16
Sec. 1: Fri Oct 5 Sec. 2: Fri Oct 5 Sec. 3: Thu Oct 4
Details
|
|
|
- Operations with lists and classes
- Project preview
|
Operations on collections and project preview
|
|
| 6 |
17
Sec. 1: Tue Oct 9 Sec. 2: Mon Oct 8 Sec. 3: Mon Oct 8
Details
|
|
|
- Object-oriented design
- Announce teams
- Project work
|
Object-oriented Design
|
|
| 6 |
18
Sec. 1: Wed Oct 10 Sec. 2: Wed Oct 10 Sec. 3: Tue Oct 9
Details
|
|
|
- OO Concepts: Encapsulation, polymorphism, and inheritance (Oh, my!)
- Exam review
- Project work
|
Object-oriented Concepts
|
|
| 7 |
19
Sec. 1: Tue Oct 16 Sec. 2: Mon Oct 15 Sec. 3: Mon Oct 15
Details
|
|
|
|
|
Exam 2—Tuesday Night
Section 1 in O257 Section 2 (A-G) in O257 Section 2 (H-Z) in O267 Section 3 in O267
|
| 7 |
20
Sec. 1: Wed Oct 17 Sec. 2: Wed Oct 17 Sec. 3: Tue Oct 16
Details
|
|
|
|
|
|
| 7 |
21
Sec. 1: Fri Oct 19 Sec. 2: Fri Oct 19 Sec. 3: Thu Oct 18
Details
|
|
|
- Exam results discussion
- Project work
|
|
|
| 8 |
22
Sec. 1: Tue Oct 23 Sec. 2: Mon Oct 22 Sec. 3: Mon Oct 22
Details
|
|
|
|
Week 8 Reminders
|
|
| 8 |
23
Sec. 1: Wed Oct 24 Sec. 2: Wed Oct 24 Sec. 3: Tue Oct 23
Details
|
|
|
- Intro. to the C Programming Language
- Some Python-esque features of C
- Declaring types
|
C Language Intro
|
Project Presentations
|
| 8 |
24
Sec. 1: Fri Oct 26 Sec. 2: Fri Oct 26 Sec. 3: Thu Oct 25
Details
|
|
|
- More Python-esque C Features
- C's "true" and "false" values
- Input of ints with scanf
|
More C Intro
|
|
| 9 |
25
Sec. 1: Tue Oct 30 Sec. 2: Mon Oct 29 Sec. 3: Mon Oct 29
Details
|
|
|
- The C Programming Language
- Arrays (but no dynamic allocation)
- Passing simple variables by reference
- Reinforcement of functional decomposition
|
Passing references to simple variables, arrays in C
|
|
| 9 |
26
Sec. 1: Wed Oct 31 Sec. 2: Wed Oct 31 Sec. 3: Tue Oct 30
Details
|
|
|
- The C Programming Language
- Review of Pointers and Arrays
|
Pointers Recap
|
|
| 9 |
27
Sec. 1: Fri Nov 2 Sec. 2: Fri Nov 2 Sec. 3: Thu Nov 1
Details
|
|
|
- Structs
- Arrays of structs
- #define
- typedef
|
Structs, typedef, #define
|
|
| 10 |
28
Sec. 1: Tue Nov 6 Sec. 2: Mon Nov 5 Sec. 3: Mon Nov 5
Details
|
|
|
- Strings and chars
- Passing a struct to a function by reference
|
Chars, Strings, and Files
|
|
| 10 |
29
Sec. 1: Wed Nov 7 Sec. 2: Wed Nov 7 Sec. 3: Tue Nov 6
Details
|
|
|
- Course evaluations
- Final exam review
- Dynamic allocation of arrays and Strings
- Malloc and free
|
Dynamic Memory Allocation
|
|
| 10 |
30
Sec. 1: Fri Nov 9 Sec. 2: Fri Nov 9 Sec. 3: Thu Nov 8
Details
|
|
|
- Optional Python Make-up Exam
|
|
Final Exam Monday 6pm Section 1 in O157 Section 2 in O167 Section 3 in O159
|