CSSE120 Robotics – Introduction to Software Development (Robotics)

Winter, 2008

Schedule Overview

Readings are to be completed before the class session. Homework is due at the beginning of class unless otherwise noted. Please 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.

Schedule last updated Fri Feb 20.

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

Tue Dec 2

Details
 
  • Introduction to Course
  • Introduction to Python
Introduction  
1

2

Wed Dec 3

Details
  • 1.3, 1.5-2.4
    (24 pages)
  • Basic program structure including functions
  • Introduction to Create's hardware
  • Introduction to programming the Create
Intro to the Create  
1

3

Fri Dec 5

Details
  • 2.5-3.3
    (28 pages)
  • Program output
  • Variables and assignment
  • Definite Loops
  • Basic types: numbers (int and float)
  • Math library
  • Accumulator problem(s)
Assignments through types  
2

4

Tue Dec 9

Details
  • 3.4-4.3
    (26 pages)
Types, conversions, lists, strings  
2

5

Wed Dec 10

Details
  • 4.4-4.7
    (28 pages)
  • More on strings
  • Processing files
  • Functions vs. methods
More strings, files, methods  
2

6

Fri Dec 12

Details
  • 5.1-5.7, 5.9
    (28 pages)
  • Skim 5.8 as reference
  • Eclipse development environment
  • Introduction to Objects and object-oriented programming
  • Graphics
Objects and graphics  
3

7

Tue Dec 16

Details
  • 6.1-6.4
    (12 pages)
  • Exam review
  • += etc.
  • Version control and Subversion/Subclipse
  • Creating functions
  • Passing values to functions, returning values
  • Functions calling other functions.
Functions, parameters, and Subversion  
3

8

Wed Dec 17

Details
  • 6.5-6.7, 7.1-7.3
    (26 pages)
  • Functions that return results
  • Optional parameters
  • Decision structures ("if" statements)
More functions and if statements  
3

9

Fri Dec 19

Details
   
  • Exam 1
  • No regular class session
  • Make sure you bring your laptop and power cord
  Exam 1 Thursday (12/18) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O269
04O267
4

10

Tue Jan 6

Details
  • 7.5-7.6, 8.1-8.2
    (11 pages)
  • Exam reduc
  • Debugging
  • Indefinite (while) loops
Debugging and Indefinite Loops  
4

11

Wed Jan 7

Details
  • 8.3-8.6
    (22 pages)
  • Parameter passing
  • Common loop patterns
Parameter passing and Loop Patterns  
4

12

Fri Jan 9

Details
 
  • Robot behaviors
None  
5

13

Tue Jan 13

Details
 
  • Boolean constants
  • Boolean operators: and, or, not
  • Nested loops
  • Solving problems by synthesizing functions, decision structures, loops, and booleans
Nested loops  
5

14

Wed Jan 14

Details
  • 9.1-9.6
    (24 pages)
  • Top-Down design
  • Bottom-up testing
Top-Down Design  
5

15

Fri Jan 16

Details
  • 10.1-10.5
    (23 pages)
  • Defining classes
  • Objects and encapsulation
Defining Classes  
6

16

Tue Jan 20

Details
  • 10.6-10.7, 11.1-11.3
    (29 pages)
  • Widgets
Widgets  
6

17

Wed Jan 21

Details
  • 11.4-11.7, 12.1
    (26 pages)
  • Announce project teams
  • Project introduction and demo
  • Project worktime
Behaviors  
6

18

Fri Jan 23

Details
  • None
  • Project work
   
7

19

Tue Jan 27

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

20

Wed Jan 28

Details
  • None
  • Project demonstrations
  • 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

Fri Jan 30

Details
 
  • Exam 2
  • No regular class session. ME323 Preparation using MATLAB
  • Make sure you bring your laptop and power cord to the exam
Matlab Preparation for ME323 Exam 2
Thursday (1/29) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O269
04O267
8

22

Tue Feb 3

Details
  • Schildt pages 4-5 (History, Middle-level)
  • Pages 10-11 (keywords and main)
  • Page 21 (declaring Variables)
  • Page 23, bottom (String Constants and character literals)
  • Pages 274-275 (Comments)
  • Skim pages 212-219 (Using printf for formatted output)
  • Pages 148-149 (Function Declarations and braces)
  • Pages 63-67 (if, else, compound statemets, C's "true" and "false" values)
  • Pages 76-86 (while loops)
  • Pages 221-224 (obtaining input values using scanf)
  • Formal intro. to the C Programming Language
  • Some Python-esque features of C
  • Using the stdio printf library function to print formated output
  • Strings vs character literals
  • More on function definitions including parameters and return types
  • Recap: example programs illustrating these C topics
  • Using a function's return value
  • if, if-else, else statements
  • Single statements vs. compound statements with { } as parts of loops, if statements
  • while loops
  • break statements
  • C's "true" and "false" values
  • Input of ints with scanf
C Language Intro  
8

23

Wed Feb 4

Details
  • Pages 173-188 (Structures)
  • Pages 262-263 (#define)
  • Page 203 (typedef)
  • Exam results discussion
  • Structures
  • #define
  • typedef
Structs, typedef, #define  
8

24

Fri Feb 6

Details
  • Pages 53-55, 120-130, 108-110 (Pointers in C)
  • Pages 148-155 (passing pointers to functions)
  • Pointers in C
  • Passing pointers to functions
Pointers in C  
9

25

Tue Feb 10

Details
  • Pages 96-107, 111-117 (Arrays -- but no dynamic allocation yet)
  • Pages 108-110 (Arrays are Pointers)
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
Arrays and Pointers  
9

26

Wed Feb 11

Details
  • Pages 99-101, 106-107, 128 (Strings and Chars)
  • Strings and chars
Characters and Strings  
9

27

Fri Feb 13

Details
  • Pages 138-142, 143-146 (malloc and free)
  • Pages 188-192 (Dynamic Allocation of arrays, strings, and structs)
  • Dynamic allocation of arrays and strings
  • Malloc and free
  • Pointers to structs
Dynamic Memory Allocation  
10

28

Tue Feb 17

Details
  • Pages 230-235 (File input and output)
  • Pages 254-255 (File parsing)
  • The Malloc family--malloc, calloc, and realloc
  • File input/output
  • File parsing
File Input and Output  
10

29

Wed Feb 18

Details
 
  • Continue working on homework
None  
10

30

Fri Feb 20

Details
 
  • Course evaluations
  • Final exam review
Course Evaluations and Final Exam Review Final Exam: Wednesday (02/25) Morning
Time: 8:00 AM to 1:00 PM
SectionRoom
01O267
02O269
03O231
04(A to K) in O267
(L to Z) in O269