| Week |
Session |
Reading |
HW Due |
Topics |
Resources |
Programs |
| 1 |
1
Mon Mar 8
Details
|
|
|
- Introductions:
- Students and instructor
- Course administration / background
- The Python programming language
- zellegraphics
- Constructing and using objects
- Loops and animation!
|
|
FirstAnimation: a graphical scene that includes some animation implemented using one or more loops
|
|
| 1 |
2
Tue Mar 9
Details
|
- Zelle §1.3, 1.5-1.9, and 2.1-2.4
(24 pages)
|
|
- Introduction to functions: defining and calling
- Basic program structure
- Introduction to the Create robot
- Hardware: actuators and sensors
- UART, wireless communication
- Programming with PyCreate
|
|
montyPythonParrot.py: A simple example of functions
|
Song 'n' Dance
|
| 1 |
3
Thu Mar 11
Details
|
- Zelle §2.5 - 2.8
(14 pages)
|
- HW 2
but the Song 'n' Dance robot project is not due until Session 4 (Monday)
|
- byte code
- Program output ( print statements)
- Identifiers, expressions, syntax versus semantics
- print statements
- Variables and assignment
- Definite loops ( for statements)
- range function
- math library
- The accumulator pattern
- Pair programming
|
- Slides:Assignment, loops and types
|
Song 'n' Dance
|
|
| 2 |
4
Mon Mar 15
Details
|
- Zelle Chapter 3
(18 pages)
|
|
- Number types: int, float, long
- Type conversion
|
|
|
|
| 2 |
5
Tue Mar 16
Details
|
|
- HW 4
Programming part of HW 4 is due Wednesday at noon; other parts due today (Tuesday)
|
- A software development exercise: Analyze, Specify, Design, Implement, Test, Maintain
- Character String operations, encodings
- String formatting using %
|
|
|
|
| 2 |
6
Thu Mar 18
Details
|
|
|
- Eclipse development environment
- Debugger intro
- Practice:
Loops Lists Strings
|
- Eclipse, Debugger, and practice: ../Slides/PracticeEclipseDebugger.pdf
|
|
|
| 3 |
7
Mon Mar 22
Details
|
|
|
- Processing files
- Writing simple functions
|
- Slides: Functions (defining, calling, parameters), File handling and version control with Subversion
|
|
|
| 3 |
8
Tue Mar 23
Details
|
- 5.1-5.7, 5.9
(28 pages)
- Skim 5.8, use as a reference later (or use zellegraphics.pdf)
- Note that our
zellegraphics package replaces the author's graphics package.
|
- HW 7
Programming part of HW 7 is due Wednesday at noon; other parts due today (Tuesday)
|
- Version control and Subversion/Subclipse
- Introduction to Objects and object-based programming
- Graphics
- Animation
|
- Slides: File handling, Objects and Graphics
|
|
|
| 3 |
9
Thu Mar 25
Details
|
|
|
- Exam topics
- Creating simple functions
- Passing values to functions, returning values
- Functions calling other functions.
- Optional parameters
- Mutation of parameters
- More on debugging
|
|
|
|
| 4 |
10
Mon Mar 29
Details
|
|
- HW 9
Quiz and Programs due on Thursday
|
- Decision structures (
if statements)
- Boolean constants and variables (a.k.a. flags)
- Boolean operators: and, or, not
|
- Slides: Conditionals (decision structures)
|
|
|
| 4 |
11
Tue Mar 30
Details
|
|
- HW 10
Programming part of HW 10 is due Wednesday at noon; other parts due today (Tuesday)
|
- More Debugging
- Indefinite (while) loops
|
|
|
|
| 4 |
12
Thu Apr 1
Details
|
|
|
- Regular class time cancelled
- Exam 1 (7 - 9 PM)
- But you may stay until 10 p.m., if you wish
- Section 1: Olin 257
- Section 2: Olin 259
- Bring laptop, network cable, and power cord to the exam
|
|
SpringBreakBeginsFriday
|
|
| 5 |
13
Mon Apr 12
Details
|
|
|
- Hand back and discuss Exam 1
- Using a debugger
- Indefinite (while) loops
- Loop patterns
|
- Slides: Debugging, indefinite (while) loops, and loop patterns
|
|
|
| 5 |
14
Tue Apr 13
Details
|
|
|
- Top-down design: the Blackjack example, Part 1
- More loop patterns:
- Nested loops
- Wait-until-event loop pattern
|
- Slides: Top design design and more loop patterns: nested loops and the wait-until-event loop pattern
|
|
|
| 5 |
15
Thu Apr 15
Details
|
|
- HW 14
Team preference survey due at beginning of class
|
- Top-down design: the Blackjack example, Part 2
- Bottom-up testing
- Line follower exercise (see HW15)
|
- slides will be available immediately after your class session on ANGEL-->Slides for specific sessions --> slides for session 15.
|
|
|
| 6 |
16
Mon Apr 19
Details
|
- 11.1-11.3, 11.6
(30 pages)
|
|
- Dictionaries as collections
- Dictionaries as objects
- Project intro and meet your team
- MusicalChairs introduction and demo
- Project planning time
|
- Dictionaries, project kickoff : ../Slides/DictionariesAndProjectKickoff.pdf
|
|
|
| 6 |
17
Tue Apr 20
Details
|
|
- HW 16
Programming part of HW 16 is due Wednesday at noon; other parts due today (Tuesday)
|
|
|
|
|
| 6 |
18
Thu Apr 22
Details
|
|
|
|
|
|
|
| 7 |
19
Mon Apr 26
Details
|
|
|
- Exam 2 topics
- Project work
|
| |
|
| 7 |
20
Tue Apr 27
Details
|
|
|
|
| |
|
| 7 |
21
Thu Apr 29
Details
|
|
|
|
| |
|
| 8 |
22
Mon May 3
Details
|
|
|
- Dictionaries
- Exam 2 topics
|
|
|
|
| 8 |
23
Tue May 4
Details
|
- Kochan, Chapters 3-8, and page 426 (skim as needed)
|
- HW 22
Programming part of HW 22 is due Wednesday at noon; other parts due today (Tuesday)
|
- Structure of a C program: includes, prototypes, main, other functions
- Variables have types, including int, double, float, char
- printf
- For loops
- If statements
- C punctuation: curly-braces and semicolons
|
|
|
|
| 8 |
24
Thu May 6
Details
|
|
|
- Regular class time WILL BE HELD (continuing our discussion of C)
- Exam 2 (7 - 9 PM)
- But you may stay until 10 p.m., if you wish
- Section 1: Olin 257
- Section 2: Olin 259
- Bring laptop, network cable, and power cord to the exam
- Optional Help Session Wednesday evening, 7 to 8:30 p.m., in F-217 (CSSE lab)
|
|
|
|
| 9 |
25
Mon May 10
Details
|
- Review p. 95-108. Read 137-146, 182-191, 259-265.
|
|
|
|
|
|
| 9 |
26
Tue May 11
Details
|
- Pages 195-216, 266-267, 470-471.
|
- HW 25
Programming part of HW 25 is due Wednesday at noon; other parts due today (Tuesday)
|
|
|
|
|
| 9 |
27
Thu May 13
Details
|
- Pages 240-243, 363-369, except feof
|
|
|
|
|
|
| 10 |
28
Mon May 17
Details
|
|
|
|
|
|
|
| 10 |
29
Tue May 18
Details
|
|
- HW 28
Programming part of HW 28 is due Wednesday at noon; other parts due today (Tuesday)
|
- Introduction to dynamic allocation of memory
|
- Slides: Dynamic Memory Allocation (malloc)
|
|
|
| 10 |
30
Thu May 20
Details
|
|
|
- Defining classes and objects in Python
- Course evaluations
- Final exam review
- Final Exam: Monday, May 24
6 to 10 p.m. Olin 167 and 169 (your choice)
|
|
|
|