CSSE120 Robotics – Introduction to Software Development (Robotics)

Spring 2009-10 (a.k.a. 201030)

Schedule Overview

Homework (including reading) assigned at one session is due at the beginning of the next session.

  • Exception: Programming assignments (not reading) assigned Monday are not due until Wednesday morning at noon.

  • Exception to the exception: All of HW01 is due at Session 2.

Future homework assignments are tentative based on previous course offerings; we may change assigned homework at any time before it is assigned.


Schedule last updated Fri May 21.

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 Reading HW Due Topics Resources Programs
1

1

Mon Mar 8

Details
 
  • Introductions:
    • Students and instructor
    • Course administration / background
    • The Python programming language
    • zellegraphics
    • Constructing and using objects
    • Loops and animation!
FirstAnimation: a graphical scene that includes some animation implemented using one or more loops  
1

2

Tue Mar 9

Details
  • Zelle §1.3, 1.5-1.9, and 2.1-2.4
    (24 pages)
  • Introduction to functions: defining and calling
  • Basic program structure
  • Introduction to the Create robot
    • Hardware: actuators and sensors
    • UART, wireless communication
    • Programming with PyCreate
montyPythonParrot.py: A simple example of functions Song 'n' Dance
1

3

Thu Mar 11

Details
  • Zelle §2.5 - 2.8
    (14 pages)
  • HW 2
    but the Song 'n' Dance robot project is not due until Session 4 (Monday)
  • byte code
  • Program output ( print statements)
  • Identifiers, expressions, syntax versus semantics
  • print statements
  • Variables and assignment
  • Definite loops ( for statements)
  • range function
  • math library
  • The accumulator pattern
  • Pair programming
  • Slides:Assignment, loops and types
Song 'n' Dance  
2

4

Mon Mar 15

Details
  • Zelle Chapter 3
    (18 pages)
  • Number types: int, float, long
  • Type conversion
   
2

5

Tue Mar 16

Details
  • 4.1-4.5
    (28 pages)
  • HW 4
    Programming part of HW 4 is due Wednesday at noon; other parts due today (Tuesday)
  • A software development exercise: Analyze, Specify, Design, Implement, Test, Maintain
  • Character String operations, encodings
  • String formatting using %
   
2

6

Thu Mar 18

Details
  • None
  • Eclipse development environment
  • Debugger intro
  • Practice:
    Loops
    Lists
    Strings
  • Eclipse, Debugger, and practice: ../Slides/PracticeEclipseDebugger.pdf
   
3

7

Mon Mar 22

Details
  • Sections 4.6-4.7
    9 pages
  • Processing files
  • Writing simple functions
  • Slides: Functions (defining, calling, parameters), File handling and version control with Subversion
   
3

8

Tue Mar 23

Details
  • 5.1-5.7, 5.9
    (28 pages)
  • Skim 5.8, use as a reference later (or use zellegraphics.pdf)
  • Note that our zellegraphics package replaces the author's graphics package.
  • HW 7
    Programming part of HW 7 is due Wednesday at noon; other parts due today (Tuesday)
  • Version control and Subversion/Subclipse
  • Introduction to Objects and object-based programming
  • Graphics
  • Animation
  • Slides: File handling, Objects and Graphics
   
3

9

Thu Mar 25

Details
  • Chapter 6
    (28 pages)
  • Exam topics
  • Creating simple functions
  • Passing values to functions, returning values
  • Functions calling other functions.
  • Optional parameters
  • Mutation of parameters
  • More on debugging
   
4

10

Mon Mar 29

Details
  • Chapter 7
    (26 pages)
  • HW 9
    Quiz and Programs due on Thursday
  • Decision structures (if statements)
  • Boolean constants and variables (a.k.a. flags)
  • Boolean operators: and, or, not
  • Slides: Conditionals (decision structures)
   
4

11

Tue Mar 30

Details
  • Chapter 8
    (26 pages)
  • HW 10
    Programming part of HW 10 is due Wednesday at noon; other parts due today (Tuesday)
  • More Debugging
  • Indefinite (while) loops
   
4

12

Thu Apr 1

Details
 
  • Regular class time cancelled
  • Exam 1 (7 - 9 PM)
  • But you may stay until 10 p.m., if you wish
  • Section 1: Olin 257
  • Section 2: Olin 259
  • Bring laptop, network cable, and power cord to the exam
SpringBreakBeginsFriday  
5

13

Mon Apr 12

Details
  • 8.1-8.3
    (14 pages)
  • Hand back and discuss Exam 1
  • Using a debugger
  • Indefinite (while) loops
  • Loop patterns
  • Slides: Debugging, indefinite (while) loops, and loop patterns
   
5

14

Tue Apr 13

Details
  • 8.4-8.6
    (14 pages)
  • Top-down design: the Blackjack example, Part 1
  • More loop patterns:
    • Nested loops
    • Wait-until-event loop pattern
  • Slides: Top design design and more loop patterns: nested loops and the wait-until-event loop pattern
   
5

15

Thu Apr 15

Details
  • 9.1-9.6
    (13 pages)
  • HW 14
    Team preference survey due at beginning of class
  • Top-down design: the Blackjack example, Part 2
  • Bottom-up testing
  • Line follower exercise (see HW15)
  • slides will be available immediately after your class session on ANGEL-->Slides for specific sessions --> slides for session 15.
   
6

16

Mon Apr 19

Details
  • 11.1-11.3, 11.6
    (30 pages)
  • Dictionaries as collections
  • Dictionaries as objects
  • Project intro and meet your team
  • MusicalChairs introduction and demo
  • Project planning time
  • Dictionaries, project kickoff : ../Slides/DictionariesAndProjectKickoff.pdf
   
6

17

Tue Apr 20

Details
  • None
  • HW 16
    Programming part of HW 16 is due Wednesday at noon; other parts due today (Tuesday)
       
6

18

Thu Apr 22

Details
  • None
  • Project work
     
7

19

Mon Apr 26

Details
  • None
  • Exam 2 topics
  • Project work
     
7

20

Tue Apr 27

Details
 
  • Project work
     
7

21

Thu Apr 29

Details
 
  • Project work
     
8

22

Mon May 3

Details
 
  • Dictionaries
  • Exam 2 topics
   
8

23

Tue May 4

Details
  • Kochan, Chapters 3-8, and page 426 (skim as needed)
  • HW 22
    Programming part of HW 22 is due Wednesday at noon; other parts due today (Tuesday)
  • Structure of a C program: includes, prototypes, main, other functions
  • Variables have types, including int, double, float, char
  • printf
  • For loops
  • If statements
  • C punctuation: curly-braces and semicolons
   
8

24

Thu May 6

Details
  • Pages 235-244, 254-259
  • Regular class time WILL BE HELD (continuing our discussion of C)
  • Exam 2 (7 - 9 PM)
  • But you may stay until 10 p.m., if you wish
  • Section 1: Olin 257
  • Section 2: Olin 259
  • Bring laptop, network cable, and power cord to the exam
  • Optional Help Session Wednesday evening, 7 to 8:30 p.m., in F-217 (CSSE lab)
   
9

25

Mon May 10

Details
  • Review p. 95-108. Read 137-146, 182-191, 259-265.
  • Structures
   
9

26

Tue May 11

Details
  • Pages 195-216, 266-267, 470-471.
  • HW 25
    Programming part of HW 25 is due Wednesday at noon; other parts due today (Tuesday)
  • Arrays
   
9

27

Thu May 13

Details
  • Pages 240-243, 363-369, except feof
  • Characters and Strings
   
10

28

Mon May 17

Details
 
  • 2D Arrays
  • Files
   
10

29

Tue May 18

Details
 
  • HW 28
    Programming part of HW 28 is due Wednesday at noon; other parts due today (Tuesday)
  • Introduction to dynamic allocation of memory
  • Slides: Dynamic Memory Allocation (malloc)
   
10

30

Thu May 20

Details
 
  • Defining classes and objects in Python
  • Course evaluations
  • Final exam review
  • Final Exam: Monday, May 24
    6 to 10 p.m.
    Olin 167 and 169 (your choice)