CSSE120 – Introduction to Software Development (Robotics sections)

Fall 2011-2012 (a.k.a. 201210)

Schedule Overview

Due dates Programming problems at one session are due at 8 a.m. of the day of the next session.
  • Exception: Programming problems assigned Monday may be turned in any time before Wednesday at 8 a.m.
All other work assigned at one session is due at the beginning of the next session.

 

Schedule last updated Tue Sep 6.

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 Topics HW Due HW Assigned Resources
0

1

Thu Sep 1

Details
  • What it means to do:
    • Software Engineering
    • Software development
  • What a program is
  • Some key programming primitives
  • Introductions to:
    • Eclipse, our IDE (Interactive Developement Environment)
    • Version control
    • Python, our programming language
  • How to use Eclipse to:
    • Execute statements in a Python shell
    • Get a program from a repository
    • Run a program and view its output
    • Edit a program to make it behave differently
 
  • The official Python documentation
    • This is for the most current version of Python 3.
    • The Library Reference link on that page (subtitled keep this under your pillow) takes you to the Python Standard Library, which is a huge collection of Python modules, classes and functions.
1

2

Mon Sep 5

Details
  • Expressions
  • Types: ints, floats and strings
  • Assigning values to variables
  • Input and output
  • Input-compute-output programs
  • Calling functions and capturing returned values
  • Using Eclipse to correct error messages
 
1

3

Tue Sep 6

Details
  • Objects
    • Constructing objects
    • Calling methods vs calling functions
  • zellegraphics as an application of using objects
  • Counted loops and range expressions
1

4

Thu Sep 8

Details
  • Defining your own functions with:
    • parameters
    • returned values
    Why to do so. How to do so.
  • Coding to a specification, design by contract
  • The Create robots as an application of using objects
 
2

5

Mon Sep 12

Details
  • The Accumulator Pattern applied to:
    • Graphics applications
    • Robot navigation applications
  • Practice at everything so far
 
2

6

Tue Sep 13

Details
  • Conditionals
  • Accumulator patterns: Summing, counting
 
2

7

Thu Sep 15

Details
  • Sequences (iterators): Lists and Strings
  • Accumulator patterns with sequences
 
3

8

Mon Sep 19

Details
  • Mutators
    • What does it mean to mutate an object?
    • What are references (pointers)?
    • What really happens when a function is called
  • Tuples
  • Exam 1 (in-class, date may change)
 
3

9

Tue Sep 20

Details
  • WHILE loops
  • The wait-for-event pattern
    • And robot applications thereof
 
3

10

Thu Sep 22

Details
  • String processing
  • File processing
 
4

11

Mon Sep 26

Details
  • Top-down design
 
4

12

Tue Sep 27

Details
  • Implementing your own classes
  • Exam 2 (in-class, date may change)
 
4

13

Thu Sep 29

Details
  • Project Kickoff
  • Teaming
  • Software development processes
 
5

14

Mon Oct 3

Details
  • Event-driven programming
  • GUI (graphical user interface) programming
  • Dictionaries
 
5

15

Tue Oct 4

Details
  • Teaming, revisited
 
5

16

Thu Oct 6

Details
  • Sprint 1 ends
  • More GUI programming
 
6

17

Mon Oct 10

Details
  • Nested loops
  • Sequences of sequences
 
6

18

Tue Oct 11

Details
  • Project time
 
7

19

Mon Oct 17

Details
  • Sprint 2 ends
 
7

20

Tue Oct 18

Details
  • Project time
 
7

21

Thu Oct 20

Details
  • Exam 3 (evening exam)
 
8

22

Mon Oct 24

Details
  • Sprint 3 ends
 
8

23

Tue Oct 25

Details
  • Introduction to the C programming language
    • input and output
    • arithmetic expressions
    • loops (FOR and WHILE)
    • types
    • functions: calling and defining
 
8

24

Thu Oct 27

Details
  • C: Structures
 
9

25

Mon Oct 31

Details
  • C: Pointers
 
9

26

Tue Nov 1

Details
  • C: Arrays and their relationship to pointers
 
9

27

Thu Nov 3

Details
  • C: Two-dimensional arrays
  • Ascii Art project kickoff
 
10

28

Mon Nov 7

Details
  • C: File input and output
  • C: Strings
 
10

29

Tue Nov 8

Details
  • C: Dynamic memory allocation
 
10

30

Thu Nov 10

Details
  • Ascii Art project is due
  • None.