CSSE120 – Introduction to Software Development, Robotics

Winter 2010-11 (a.k.a. 201120)

Schedule Overview

Homework assigned at one session is due at the beginning of the next session. Exception: While you should strive to complete homework assigned Thursday by Friday, it will be accepted without penalty until Monday at 5 p.m..

Also note that future homework assignments are tentative based on previous course offerings. We may change assigned homework at any time before it is given. Schedule subject to change.

Schedule last updated Fri Feb 11.

Session quick links:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Week Session Prep HW Due Topics Resources Milestones
1

1

Tue Nov 30

Details
 
  • 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 Dec 2

Details
  • Zelle, §1.3, 1.5–2.4
  • 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 Dec 3

Details
  • Zelle, §2.5–2.8
  • 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 Dec 7

Details
  • Zelle, §3.1–3.3
  • 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 Dec 9

Details
  • 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 Dec 10

Details
  • Zelle, §3.4–3.6
  • 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
  • No slides today
 
3

7

Tue Dec 14

Details
  • 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.
  • No slides today
 
3

8

Thu Dec 16

Details
  • 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 Dec 17

Details
  • Chapter 6
    (26 pages)
  • 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
  • Slides: Sequences and Robots
 
4

10

Tue Jan 4

Details
  • Chapter 7
    (26 pages)
  • 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 Jan 6

Details
  • Chapter 8
    (26 pages)
  • Definite loops (review, for statements)
  • Indefinite loops ( while statements, break statements)
  • Prepare for Exam 1
  • Slides While loops, Exam 1 advice
 
4

12

Fri Jan 7

Details
 
  • none
  • Exam 1 is MONDAY EVENING, 1/10/2011,
    7 p.m. to 9 p.m.
  • OPTIONAL review session during regular daytime class session Friday
  • Bring to the exam:
    • Laptop, including power adapter and network cable
    • Cheat Sheet (one 8.5 by 11 page, back and front)
    • Your textbook (Zelle)
    • Any printed or handwritten materials you want for the On-the-Computer part
Exam 1 Monday (01/10/2011) evening
7 p.m. to 9 p.m.
SectionRoom
FisherO267
MutchlerO269
5

13

Tue Jan 11

Details
  • 9.1-9.2
    (6 pages)
  • HW 11
    There is no HW 12
  • Loop patterns for input
  • The max-min loop pattern
  • The wait-for-event loop pattern
  • Structure charts
  • Robot line following
 
5

14

Thu Jan 13

Details
  • 9.3
    (13 pages)
  • Nested loops
  • Mutators and Box-and-Pointer Diagrams
  • Robot Line Following
 
5

15

Fri Jan 14

Details
  • 9.4-9.6
    (13 pages)
  • 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 Jan 18

Details
  • 11.1-11.3, 11.6
    (30 pages)
  • Slides GUIs, Event-driven programming, tkinter and ttk
 
6

17

Thu Jan 20

Details
 
  • Slides
 
6

18

Fri Jan 21

Details
   
  • Defining and using classes in Python, part two
  • Project time, working toward features in the Grading Rubric
  • Slides Defining your OWN classes
 
7

19

Tue Jan 25

Details
     
7

20

Thu Jan 27

Details
   
  • OPTIONAL class period for Exam 2 review and/or project time
  • Exam 2 is MONDAY EVENING, 1/31/2011,
    7 p.m. to 9 p.m.
  • Project time, working toward features in the Grading Rubric
   
7

21

Fri Jan 28

Details
   
  • We WILL have class today (Friday)
  • Exam 2 is MONDAY EVENING, 1/31/2011,
    7 p.m. to 9 p.m.
  • Take-home Quiz
  • (5:24) Configuring C Workspace [local] [slides]
  • (10:50) Worked example: First C Program [local] [slides]
  • Introduction to the C Programming Language
  • Project time, working toward features in the Grading Rubric
  • Bring to the exam:
    • Laptop, including power adapter and network cable
    • Cheat Sheet (one 8.5 by 11 page, back and front)
    • Your textbook (Zelle)
    • Any printed or handwritten materials you want for the On-the-Computer part
  • Slides Exam 2 topics
Exam 2 Monday (01/31/2011) evening
7 p.m. to 9 p.m.
SectionRoom
FisherO267
MutchlerO269
8

22

Tue Feb 1

Details
  • Formal intro. to the C Programming Language
  • Some Python-esque features of C
 
8

23

Thu Feb 3

Details
  • HW 22
    Eclipse Projects: CNestedLoops, ThatsPerfect
  • Structures
 
8

24

Fri Feb 4

Details
  • HW 23
    Eclipse Project: RectangleStructs
  • Pointers in C
  • Passing pointers to functions
 
9

25

Tue Feb 8

Details
  • HW 24
    Eclipse Project: PointersHomework
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
 
9

26

Thu Feb 10

Details
  • HW 25
    Eclipse Project: HousePrices
  • Strings and chars
 
9

27

Fri Feb 11

Details
  • HW 26
    Eclipse Project: StringFunctions
 
10

28

Tue Feb 15

Details
 
10

29

Thu Feb 17

Details
   
10

30

Fri Feb 18

Details
 
  • Complete (or nearly complete) the Transcript Project.
    It is due before you go to bed tonight (Friday).
  • Course evaluations
  • Final exam review
  • Continue working on the Transcript Project if you have not yet completed it
Final Exam: Tuesday (2/22) evening
6 p.m. to 10 p.m.
SectionRoom
01 (Clifton)O169
02 (Mutchler)O167
03 (Fisher)O257