CSSE120 Robotics – Introduction to Software Development (Robotics)

Winter 2009-10 (a.k.a. 201020)

Schedule Overview

Assignments are due according to the following table. Note that the due time for all quizzes, programs, and other homework is the same time of day as the beginning of your class meetings. Also note that future homework assignments are tentative based on previous course offerings. We may change assigned homework at any time before it is assigned. Schedule subject to change.

Day assignedPrograms dueOther parts of assignment due
MondayWednesdayWednesday
WednesdayFridayThursday
ThursdayMondayMonday

Schedule last updated Wed Feb 10.

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 Slides Milestone
1

1

Mon Nov 30

Details
 
  • Introductions:
      students and Instructor
      Course
      Python
      zellegraphics
Introduction  
1

2

Wed Dec 2

Details
  • 1.3, 1.5-2.4
    (24 pages)
Intro to the Create  
1

3

Thu Dec 3

Details
  • 2.5-2.8
    (14 pages)
  • HW 2
    Programming part due Friday; other parts Thursday
  • Program output
  • Variables and assignment
  • Definite Loops
  • Range function
  • Math library
  • Accumulator problem(s)
  • Pair Programming
Assignments and lops  
2

4

Mon Dec 7

Details
  • Chapter 3
    (18 pages)
Types, conversions, lists  
2

5

Wed Dec 9

Details
  • 4.1-4.5
    (28 pages)
  • Software Development Exercise
  • Character Sting operations, encodings
  • String formatting using %
Strings  
2

6

Thu Dec 10

Details
  • None
  • HW 5
    Programming part due Friday; other parts Thursday
  • Eclipse development environment
  • Debugger intro
  • Practice:
    Loops
    Lists
    Strings
Eclipse, Debugger, and practice  
3

7

Mon Dec 14

Details
  • Sections 4.6-4.7
    9 pages
  • Processing files
  • Writing simple functions
Files and functions  
3

8

Wed Dec 16

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.
  • Version control and Subversion/Subclipse
  • Introduction to Objects and object-based programming
  • Graphics
  • Animation
Objects and graphics  
3

9

Thu Dec 17

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
Functions and parameters  
4

10

Mon Jan 4

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
Decisions  
4

11

Wed Jan 6

Details
  • Chapter 8
    (26 pages)
  • More Debugging
  • Indefinite (while) loops
While loops  
4

12

Thu Jan 7

Details
 
  • none
  • Exam 1 (7:00-9:00 PM)
  • No regular daytime class session
  • Bring laptop, network cable, and power cord to the exam
  Exam 1 Thursday (1/7/2010) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O267
5

13

Mon Jan 11

Details
  • 9.1-9.2
    (6 pages)
  • Exam redux
  • Loop patterns
Loop patterns  
5

14

Wed Jan 13

Details
  • 9.3
    (13 pages)
  • Blackjack intro
  • Nested loops
  • Nested loops practice
Nested loops  
5

15

Thu Jan 14

Details
  • 9.4-9.6
    (13 pages)
  • HW 14
    Programming part due Friday; other parts Thursday
    Team preference survey due at beginning of class
  • Top-Down design
  • 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 Jan 18

Details
  • 11.1-11.3, 11.6
    (30 pages)
  • Note different meeting time: Convo schedule
  • Dictionaries as collections
  • Dictionaries as objects
  • Project intro and meet your team
  • MusicalChairs introduction and demo
  • Project planning time
Dictionaries, project kickoff  
6

17

Wed Jan 20

Details
  • None
     
6

18

Thu Jan 21

Details
  • None
  • Project work
   
7

19

Mon Jan 25

Details
  • None
  • Exam 2 topiocs
  • Project work
Exam 2 review  
7

20

Wed Jan 27

Details
  • None
  • Project final code
  • Project demonstrations/explanations
  • Introduction to the C Programming Language
  • #include
  • main()
  • Statements (and semicolons)
  • Function declarations (and braces)
  • Declaring types
  • Declaring variables
  • Function definitions including parameters and return types
First C program Project Presentations
7

21

Thu Jan 28

Details
 
  • Exam 2
  • No regular class session
  • Make sure you bring your laptop, network cable, and power cord to the exam
Week 8 reminders Exam 2
Thursday (1/28) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O267
8

22

Mon Feb 1

Details
  • Kochan, Chapters 3-8, and page 426. Much of this is review. Skim the text and focus on the code examples. Skip p. 12, 84-92, middle of 108 - 117, and 138 - 161.
  • Exam results discussion
  • Formal intro. to the C Programming Language
  • Some Python-esque features of C
C language intro  
8

23

Wed Feb 3

Details
  • Pages 165-182
  • Structures
  • #define
  • typedef
Structs, typedef, #define  
8

24

Thu Feb 4

Details
  • Pages 235-244, 254-259
  • HW 23
    Programming part due Friday; other parts Thursday
  • Pointers in C
  • Passing pointers to functions
Pointers in C  
9

25

Mon Feb 8

Details
  • Review p. 95-108. Read 137-146, 182-191, 259-265.
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
Arrays and pointers  
9

26

Wed Feb 10

Details
  • Pages 195-216, 266-267, 470-471.
  • Strings and chars
Characters and strings  
9

27

Thu Feb 11

Details
  • Pages 240-243, 363-369, except feof
  • HW 26
    Programming part due Friday; other parts Thursday
  • 2D arrays
  • File input/output
2DArraysAndFiles  
10

28

Mon Feb 15

Details
 
  • Introduction to dynamic allocation of memory
  • Work on AroundTheWorld project.
DynamicMemoryAllocation  
10

29

Wed Feb 17

Details
 
  • HW 28
    Programming part due Wednesday; other parts Tuesday
  • Defining classes and objects in Python
  • Continue working on AroundTheWorld project
DefiningClasses  
10

30

Thu Feb 18

Details
 
  • Course evaluations
  • Final exam review
  • More on defining classes
Fractions, Course Evaluations, Final Exam Review Final Exam Thursday (2/25)
8 AM to Noon
SectionRoom
01O259
02O257
03O267