CSSE 120
Introduction to Software Development (Robotics)
Spring, 2013-2014 (aka 201430)
If you are NOT taking Test 3 right now, IGNORE THESE LINKS. But if you ARE taking Test 3, here are screenshots of Problem 3 and Problem 4.
| Mondays | Wednesdays | Fridays |
|---|---|---|
| Session 1, 3/10:
Introduction.
Before this session, do Session 1 Preparation. |
Session 2, 3/12:
Input-Compute-Output. Coding to a specification. Before this session, do Session 2 Preparation. Note: This session's preparation is, BY FAR, the largest "before-the-session" work of the term. Plan a solid 1 to 2 hours to do this important work. |
Session 3, 3/14:
Counted loops.
Objects. Application: Graphics. Before this session, do Session 3 Preparation. |
| Session 4, 3/17:
Functions and Parameters.
Accumulators: Summing. Unit testing. Writing simple tests. Test-first development. Debugging techniques, Part 1: The debugger. Before this session, do Session 4 Preparation. |
Session 5, 3/19:
Conditionals, Part 1: if, if-else, if-elif...
Pair programming. Application: Robots I, Making a robot move. Before this session, do Session 5 Preparation. |
Session 6, 3/21:
Accumulators: Counting, Graphical Patterns.
Writing good unit tests. Before this session, do Session 6 Preparation. |
| Session 7, 3/24:
Debugging techniques, Part 2.
Test 1 Practice. Before this session, do Session 7 Preparation. |
Session 8, 3/26:
Waiting for Events.
Indefinite Loops. Application: Robots II, Using sensors. Before this session, do Session 8 Preparation.
Test 1:
Wednesday 3/26, 7 to 9:30 p.m. (EVENING exam)
Rooms: Section 1: Olin 167. Section 2: Olin 169. Before this test, do Session 8 Preparation. You MUST have completed Session07_Test1Practice (including its paper-and-pencil exercise) BEFORE you take Test 1. It is your ADMISSION TICKET to the test. Talk to your instructor if that poses a problem for you. |
Session 9, 3/28: No class. |
| Session 10, 3/31:
Sequences.
Iterating through sequences. Before this session, do Session 10 Preparation. |
Session 11, 4/2:
Patterns for sequences.
Building sequences. Iterative enhancement. Debugging techniques, Part 3. Before this session, do Session 11 Preparation. |
Session 12, 4/4:
References to objects. Mutation.
Conditionals, Part 2: logical operators, nested conditionals. String methods. Application: String processing. Before this session, do Session 12 Preparation. |
| Session 13, 4/7:
Test 2 practice. Before this session, do Session 13 Preparation. |
Session 14, 4/9:
Optional Review for Test 2.
Before taking Test 2, do Session 14 Preparation. |
Session 15, 4/11:
Procedural decomposition.
Application: Robots III, applying procedural decomposition. Before this session, do Session 15 Preparation. |
| Session 16, 4/14:
Procedural decomposition, Part II.
Exceptions and try/except. Application: File I/O. Before this session, do Session 16 Preparation. |
Session 17, 4/16:
Defining classes, Part 1:
Object-oriented Design. IS-A, HAS-A relationships in UML class diagrams. Defining constructors, fields, methods. What “self” means. Before this session, do Session 17 Preparation. Before taking Test 2, do Session 14 Preparation.
Test 2:
Thursday 4/17, 7 to 9:30 p.m. (EVENING exam)
Rooms: Section 1: Olin 267. Section 2: Olin 269. Before this test, do Session 14 Preparation. You MUST have completed Session13_Test2Practice (including its paper-and-pencil exercise) BEFORE you take Test 2. It is your ADMISSION TICKET to the test. Talk to your instructor if that poses a problem for you. |
Session 18, 4/18:
Defining classes, Part 2.
More practice on: Defining constructors, fields, methods. What “self” means. Inheritance. Multiple implementations of the same interface. Before this session, do Session 18 Preparation. |
| Session 19, 4/28:
Nested Loops.
Sequences of sequences. Before this session, do Session 19 Preparation. |
Session 20, 4/30:
Project Kickoff.
Agile/Scrum: Sprints, Features. Event-Driven Programming. Tkinter I: root/mainloop, frame, buttons, responding to button-clicks. Teaming I: responsibilities. Sprint 0 begins.
Before this session, do Session 20 Preparation.
|
Session 21, 5/2:
Defining classes, Part 3.
Inheritance. Extending tkinter classes. Multiple implementations of the same interface. Sprint 0 ends, Sprint 1 begins.
Before this session, do Session 21 Preparation. |
| Session 22, 5/5:
How to divide up and later integrate work: Integration testing. Tkinter II. Using classes for shared data. Teaming II: roles. Project planning at the beginning of a sprint. Sprint 1 continues.
Before this session, do Session 22 Preparation.
|
Session 23, 5/7:
Tkinter III. More GUI objects.
Test 3 Practice. Sprint 1 ends, Sprint 2 begins.
Before this session, do Session 23 Preparation. |
Session 24, 5/9:
Dictionaries.
Protocols. Application: Robot speech (via IR). Sprint 2 continues.
Before this session, do Session 24 Preparation.
|
| Session 25, 5/12:
Application: Image processing.
Application: Multiple threads and processes. Sprint 2 continues.
Before this test, do Session 25 Preparation.
|
Session 26, 5/14:
Sprint 2 ends. Sprint 3 begins.
Before this session, do Session 26 Preparation.
|
Session 27, 5/16:
Optional class session. Meet with teammates re project. Work on project.
Sprint 3 continues.
Before this session, do Session 27 Preparation.
|
| Session 28, 5/19:
Work on project.
Sprint 3 continues.
Before this session, do Session 28 Preparation.
Test 3:
Tuesday 5/20, 7 to 11 p.m. (EVENING exam)
Rooms: Olin 269 (but see the NOTE on its door when you arrive). See the special instructions for this test at Session 28 Preparation. You MUST have completed Session26_Test3Practice, as described at the above link, BEFORE you take Test 3. It is your ADMISSION TICKET to the test. Talk to your instructor if that poses a problem for you. |
Session 29, 5/21:
Work on project.
Sprint 3 continues.
Before this session, do Session 29 Preparation.
Project is due Thursday evening (May 22) at 11:59 p.m.
|
Session 30, 5/23:
Take the second part of Test 3 in class
if you have not already done so.
Or, prepare for the final exam via practice problems.
Before this session, do Session 30 Preparation. |
|
OPTIONAL Final Exam:
Tuesday of finals week, 1 p.m., Olin 257 and 259.
|
||