Week |
Session |
Prep |
HW Due |
Topics |
Resources |
Milestones |
1 |
1
Tue Mar 8
|
|
|
- Introduction: Students, assistants and instructor
- Introduction: Course, computer science, software development
- Introduction: Eclipse (IDE, Interactive Development Environment) and Subversion (SVN, version control)
- Introduction: Python (our programming language)
- The input/compute/output pattern: chaos.py
|
- Slides: Introduction to the Course, Eclipse and Python
|
|
1 |
2
Thu Mar 10
|
|
|
- Basic program structure
- The input/compute/output pattern
- Defining functions without parameters
- Printing versus returning a value
- Constructing objects
- Using objects: dot notation for methods and instance variables
- zellegraphics as an example of constructing and using objects
- Robots — introduction to physical properties of the iRobot Create
|
|
|
1 |
3
Fri Mar 11
|
|
- HW 2
But accepted without penalty until Monday at 5 p.m. (as usual for homework assigned on Thursday)
|
- Formal parameters and actual arguments
- Pair Programming
- Robots — introduction to the Create class for programming the iRobot Create
|
|
|
2 |
4
Tue Mar 15
|
|
|
- Review and Practice at topics we have covered
- Practice at functions with parameters that return values, and calling them with actual arguments
- Variables and assignment
- Introduction to using a debugger
- Counted Loops, including the range function
- Accumulator loops
|
- Slides: Loops — Counted and Accumulator
|
|
2 |
5
Thu Mar 17
|
- Zelle, Chapter 4
BUT much of Chapter 4 has details that you should just skim,
- Note that our
zellegraphics package replaces the author's graphics package
|
|
- Types
- Sequences (especially Lists)
|
- Slides: Objects — constructing, applying methods, referencing instance variables (aka fields)
|
|
2 |
6
Fri Mar 18
|
|
- HW 5
But accepted without penalty until Monday at 5 p.m. (as usual for homework assigned on Thursday)
|
- Practice: Loops — Counted loops and Accumulator loops
- Practice: Objects — Constructing, applying methods, referencing instance variables (aka fields)
- Practice: Robots — Constructing, applying methods, using in functions
- Robots: getting sensor input
|
|
|
3 |
7
Tue Mar 22
|
- Zelle, §5.1–5.3, and §5.6. Also review §2.6.
|
|
- Strings: String operations. Lists and strings. String encoding. String formatting.
- Processing files
- Writing simple functions
- Functions calling other functions.
|
|
|
3 |
8
Thu Mar 24
|
- Sections 5.6-5.10
20 pages
- 4.1-4.9
(36 pages, BUT much of Chapter 4 has details that you should just skim,
- Note that our
zellegraphics package replaces the author's graphics package.
|
|
- Using a Debugger
- Introduction to Objects and object-based programming
- Graphics
- Animation
|
- Slides: Sequences — Lists, Strings, Tuples
|
|
3 |
9
Fri Mar 25
|
|
- HW 8
But accepted without penalty until next Monday at 5 p.m. (as usual for homework assigned on Thursday)
|
- Review Functions: Defining, calling, returning values.
- Optional parameters
- Returning more than one value from a function
- Mutators — Mutation of parameters
- Practice, including debugging
|
|
|
4 |
10
Tue Mar 29
|
|
|
- Exam 1 topics
- Decision structures (
if statements)
- Boolean constants and variables (a.k.a. flags)
- Boolean operators: and, or, not
|
- Slides: Exam 1 preview, Decision structures (if .. elif .. else), Files
|
|
4 |
11
Thu Mar 31
|
|
|
- Prepare for Exam 1
- Exam 1 is MONDAY EVENING, 4/4/2011
- OPTIONAL review session during regular daytime class session today (Thursday)
|
- Slides While loops, Exam 1 advice
|
|
4 |
12
Fri Apr 1
|
|
|
- The software engineering process, including specification, analysis, design, implementation, and testing
- Exam 1 is MONDAY EVENING, 4/4/2011
- OPTIONAL review session Sunday evening, 7 p.m. to 9 p.m., in Moench F-217 (CSSE lab)
|
- Bring to the exam:
- Laptop, including power adapter and network cable
- Cheat Sheet (one 8.5 by 11 page, back and front, handwritten or printed), for the On-Paper part
- Any printed or handwritten materials you want, for the On-the-Computer part
|
Exam 1 is MONDAY EVENING 4/4/2011 7 p.m. to 9 p.m. (but you may start as early as 6 p.m. and continue as late as 11 p.m.) Section | Room |
---|
1 (6th-7th periods) | O257 | 2 (8th-9th periods) | O259 |
|
5 |
13
Tue Apr 5
|
|
|
- Loop patterns for input
- The max-min loop pattern
- The wait-for-event loop pattern
- Structure charts
- Robot line following
|
|
|
5 |
14
Thu Apr 7
|
|
|
- Nested loops
- Mutators and Box-and-Pointer Diagrams
- Robot Line Following
|
|
|
5 |
15
Fri Apr 8
|
|
- HW 14
But accepted without penalty until Monday at 5 p.m. (as usual for homework assigned on Thursday)
|
- Top-Down design -- Blackjack exericise
- Bottom-up testing
|
|
|
6 |
16
Tue Apr 12
|
|
|
- Python project: Sharing Secrets
|
|
|
6 |
17
Thu Apr 14
|
|
- Continuing Sprint 1 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
6 |
18
Fri Apr 15
|
|
- Continuing Sprint 1 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
7 |
19
Tue Apr 26
|
|
- Sprint 1 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
7 |
20
Thu Apr 28
|
|
- Continuing Sprint 2 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
7 |
21
Fri Apr 29
|
|
- Continuing Sprint 2 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
8 |
22
Tue May 3
|
|
- Sprint 2 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
8 |
23
Thu May 5
|
|
- Continuing Sprint 3 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
8 |
24
Fri May 6
|
|
- Continuing Sprint 3 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
|
9 |
25
Tue May 10
|
|
- Sprint 3 of your Python project: SharingSecrets
|
- Python project: Sharing Secrets
|
|
Exam 2 is WEDNESDAY or THURSDAY EVENING (your choice) 5/11/2011 or 5/12/2011 7 p.m. to 9 p.m. (but you may continue as late as 10 p.m.) Section | Room |
---|
1 (6th-7th periods) | O269 | 2 (8th-9th periods) | O257 |
|
9 |
26
Thu May 12
|
|
|
- Introduction to the C Programming Language
- Some Python-esque features of C
|
- Essential C (a good reference source for C, if you feel the need for a reference)
|
|
9 |
27
Fri May 13
|
|
- HW 26 is to be completed before class today:
Projects from previous session: Session25_C_NestedLoops and Session25_C_FunctionCalls
|
- Structures, including #typedef and #define
- Pointers in C, especially using pointers to implement mutators
|
- Essential C (a good reference source for C, if you feel the need for a reference)
|
|
10 |
28
Tue May 17
|
|
- HW 27 is to be completed before class today:
Projects from previous session: Session27_C_Structures and Session27_C_Pointers
|
- Arrays (but no dynamic allocation)
- Arrays are Pointers
- 2D arrays
- File input/output
- Introduction to the Ascii Art Project
|
- Essential C (a good reference source for C, if you feel the need for a reference)
|
|
10 |
29
Thu May 19
|
- Do the following BEFORE class today (Thursday).
- Do this Take-home Quiz while watching the following videos.
- (5:44) Char Concepts [local] [slides]
- (7:42) Worked example: Counting Chars [local] [slides]
- (14:27) String Concepts [local] [slides]
- (6:17) Worked example: String Length [local] [slides]
- (14:58) Optional worked example: First Word [local] [slides]
- (10:34) Optional worked example: Camel Case [local] [slides]
|
- HW 28 is to be completed before class today:
Project from previous session: Arrays. Ascii Art project: Read, make a design, and do significant coding of the Ascii Art Project. It is due before you go to bed Saturday night.
|
|
- Essential C (a good reference source for C, if you feel the need for a reference)
|
|
10 |
30
Fri May 20
|
- Do the following BEFORE class today (Friday).
- Do this Take-home Quiz while watching the following videos.
- (12:52) Calculate Average [local] [slides]
|
- HW 29 is to be completed before class today:
Project from the previous session: StringFunctions Finish most (if not all) of the Ascii Art Project It is due before you go to bed Saturday night.
|
- Introduction to dynamic allocation of memory
- Course evaluations
- Final exam review
- Continue working on the Ascii Art Project if you have not yet completed it
|
- Essential C (a good reference source for C, if you feel the need for a reference)
|
Final Exam: Wednesday (5/25) afternoon 1 p.m. to 5 p.m.
Section | Room |
---|
01 (6th-7th periods) | O267 | 02 (8th-9th periods) | O269 |
|