CSSE120 Robotics – Introduction to Software Development (Robotics)

Fall, 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 Tue Nov 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 Reading HW Due Topics Slides Milestone
0

1

Thu Sep 4

Details
 
  • Introduction to Course
  • Introduction to Python
Introduction  
1

2

Mon Sep 8

Details
  • 1.3, 1.5-2.4
    (24 pages)
  • Basic program structure
  • Program output
Writing simple programs  
1

3

Tue Sep 9

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

4

Thu Sep 11

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

5

Mon Sep 15

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

6

Tue Sep 16

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  
2

7

Thu Sep 18

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

Mon Sep 22

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

Tue Sep 23

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

10

Thu Sep 25

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

11

Mon Sep 29

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

12

Tue Sep 30

Details
 
  • Nested loops
  • Booleans
  • Synthesizing functions, decision structures, loops, and booleans
Nested loops  
4

13

Thu Oct 2

Details
 
  • Sensors
Sensors  
5

14

Mon Oct 6

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

15

Tue Oct 7

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

16

Thu Oct 9

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

17

Mon Oct 13

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

18

Tue Oct 14

Details
  • None
  • Project work
   
7

19

Mon Oct 20

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

20

Tue Oct 21

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

Thu Oct 23

Details
 
  • Project team evaluation survey (see HW 20 instructions) due Friday at 5 PM
  • Exam 2
  • No regular class session
  • Make sure you bring your laptop and power cord to the exam
Week 8 Reminders Exam 2
Thursday (10/23) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O267
03O269
04O257
8

22

Mon Oct 27

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

Tue Oct 28

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

24

Thu Oct 30

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

Mon Nov 3

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

Tue Nov 4

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

27

Thu Nov 6

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

Mon Nov 10

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

Tue Nov 11

Details
 
  • Continue working on homework
None  
10

30

Thu Nov 13

Details
 
  • Course evaluations
  • Final exam review
Course Evaluations and Final Exam Review Final Exam Tuesday (11/18) evening
6:00 to 10:00 PM
SectionRoom
01G220
02G219
03G221
04G222