| Week |
Session |
Topics |
HW Due |
HW Assigned |
Resources |
| 0 |
1
Thu Sep 1
Details
|
- What it means to do:
- Software Engineering
- Software development
- What a program is
- Some key programming primitives
- Introductions to:
- Eclipse, our IDE (Interactive Developement Environment)
- Version control
- Python, our programming language
- How to use Eclipse to:
- Execute statements in a Python shell
- Get a program from a repository
- Run a program and view its output
- Edit a program to make it behave differently
|
|
|
- The official Python documentation
- This is for the most current version of Python 3.
- The Library Reference link on that page (subtitled keep this under your pillow) takes you to the Python Standard Library, which is a huge collection of Python modules, classes and functions.
|
| 1 |
2
Mon Sep 5
Details
|
- Expressions
- Types: ints, floats and strings
- Assigning values to variables
- Input and output
- Input-compute-output programs
- Calling functions and capturing returned values
- Using Eclipse to correct error messages
|
|
|
|
| 1 |
3
Tue Sep 6
Details
|
- Objects
- Constructing objects
- Calling methods vs calling functions
- zellegraphics as an application of using objects
- Counted loops and range expressions
|
|
|
|
| 1 |
4
Thu Sep 8
Details
|
- Defining your own functions with:
- parameters
- returned values
Why to do so. How to do so.
- Coding to a specification, design by contract
- The Create robots as an application of using objects
|
|
|
|
| 2 |
5
Mon Sep 12
Details
|
- The Accumulator Pattern applied to:
- Graphics applications
- Robot navigation applications
- Practice at everything so far
|
|
|
|
| 2 |
6
Tue Sep 13
Details
|
- Conditionals
- Accumulator patterns: Summing, counting
|
|
|
|
| 2 |
7
Thu Sep 15
Details
|
- Sequences (iterators): Lists and Strings
- Accumulator patterns with sequences
|
|
|
|
| 3 |
8
Mon Sep 19
Details
|
- Mutators
- What does it mean to mutate an object?
- What are references (pointers)?
- What really happens when a function is called
- Tuples
- Exam 1 (in-class, date may change)
|
|
|
|
| 3 |
9
Tue Sep 20
Details
|
- WHILE loops
- The wait-for-event pattern
- And robot applications thereof
|
|
|
|
| 3 |
10
Thu Sep 22
Details
|
- String processing
- File processing
|
|
|
|
| 4 |
11
Mon Sep 26
Details
|
|
|
|
|
| 4 |
12
Tue Sep 27
Details
|
- Implementing your own classes
- Exam 2 (in-class, date may change)
|
|
|
|
| 4 |
13
Thu Sep 29
Details
|
- Project Kickoff
- Teaming
- Software development processes
|
|
|
|
| 5 |
14
Mon Oct 3
Details
|
- Event-driven programming
- GUI (graphical user interface) programming
- Dictionaries
|
|
|
|
| 5 |
15
Tue Oct 4
Details
|
|
|
|
|
| 5 |
16
Thu Oct 6
Details
|
- Sprint 1 ends
- More GUI programming
|
|
|
|
| 6 |
17
Mon Oct 10
Details
|
- Nested loops
- Sequences of sequences
|
|
|
|
| 6 |
18
Tue Oct 11
Details
|
|
|
|
|
| 7 |
19
Mon Oct 17
Details
|
|
|
|
|
| 7 |
20
Tue Oct 18
Details
|
|
|
|
|
| 7 |
21
Thu Oct 20
Details
|
|
|
|
|
| 8 |
22
Mon Oct 24
Details
|
|
|
|
|
| 8 |
23
Tue Oct 25
Details
|
- Introduction to the C programming language
- input and output
- arithmetic expressions
- loops (FOR and WHILE)
- types
- functions: calling and defining
|
|
|
|
| 8 |
24
Thu Oct 27
Details
|
|
|
|
|
| 9 |
25
Mon Oct 31
Details
|
|
|
|
|
| 9 |
26
Tue Nov 1
Details
|
- C: Arrays and their relationship to pointers
|
|
|
|
| 9 |
27
Thu Nov 3
Details
|
- C: Two-dimensional arrays
- Ascii Art project kickoff
|
|
|
|
| 10 |
28
Mon Nov 7
Details
|
- C: File input and output
- C: Strings
|
|
|
|
| 10 |
29
Tue Nov 8
Details
|
- C: Dynamic memory allocation
|
|
|
|
| 10 |
30
Thu Nov 10
Details
|
|
|
|
|