Woman engineer drawing UML diagram on glass Students using Create robots in CSSE 120

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.

What to do, When

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.

Resources

Human (and other) Help