CSSE120 – Introduction to Software Development

Winter 2007

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 Feb 12.

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

Sec. 1: Tue Nov 27
Sec. 2: Mon Nov 26
Sec. 3: Mon Nov 26

Details
 
  • Introduction to Course
  • Introduction to Python
Introduction  
1

2

Sec. 1: Wed Nov 28
Sec. 2: Wed Nov 28
Sec. 3: Tue Nov 27

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

3

Sec. 1: Fri Nov 30
Sec. 2: Thu Nov 29
Sec. 3: Thu Nov 29

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  
2

4

Sec. 1: Tue Dec 4
Sec. 2: Mon Dec 3
Sec. 3: Mon Dec 3

Details
  • 3.4-4.3
    (26 pages)
  • Basic types: more numbers, more lists, strings
  • Type conversion
Types, conversions, lists, strings  
2

5

Sec. 1: Wed Dec 5
Sec. 2: Wed Dec 5
Sec. 3: Tue Dec 4

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

6

Sec. 1: Fri Dec 7
Sec. 2: Thu Dec 6
Sec. 3: Thu Dec 6

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

Sec. 1: Tue Dec 11
Sec. 2: Mon Dec 10
Sec. 3: Mon Dec 10

Details
  • 6.1-6.4
    (12 pages)
  • Exam review
  • Creating functions
  • Passing values to functions
  • Optional parameters
Functions and parameters  
3

8

Sec. 1: Wed Dec 12
Sec. 2: Wed Dec 12
Sec. 3: Tue Dec 11

Details
  • 6.5-6.7, 7.1-7.3
    (26 pages)
  • Functions that return results
  • Decision structures ("if" statements)
Return values and if statements  
3

9

Sec. 1: Fri Dec 14
Sec. 2: Thu Dec 13
Sec. 3: Thu Dec 13

Details
   
  • Exam 1 (Thursday Night)
  • No regular class session
  Exam 1
Thursday
7–9 pm

Section 1 in O259
Section 2 in O267
Section 3 in O257
4

10

Sec. 1: Tue Dec 18
Sec. 2: Mon Dec 17
Sec. 3: Mon Dec 17

Details
  • 7.4-7.6, 8.1-8.2
    (15 pages)
  • Conditional program execution
  • Exception handling
  • Debugging
  • Indefinite (while) loops
Exception handling, debugging and indefinite loops  
4

11

Sec. 1: Wed Dec 19
Sec. 2: Wed Dec 19
Sec. 3: Tue Dec 18

Details
  • 8.3-8.6
    (22 pages)
  • None
  • Parameter passing
  • Indefinite loops
  • Common loop patterns
Parameter passing and Indefinite loops  
4

12

Sec. 1: Fri Dec 21
Sec. 2: Thu Dec 20
Sec. 3: Thu Dec 20

Details
 
  • Subversion version control system (Subclipse)
  • Nested loops
  • Booleans
  • Synthesizing functions, decision structures, loops, and booleans
Nested loops and subversion  
5

13

Sec. 1: Tue Jan 8
Sec. 2: Mon Jan 7
Sec. 3: Mon Jan 7

Details
 
  • Tic, tac, toe
Tic Tac Toe exercise  
5

14

Sec. 1: Wed Jan 9
Sec. 2: Wed Jan 9
Sec. 3: Tue Jan 8

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

15

Sec. 1: Fri Jan 11
Sec. 2: Thu Jan 10
Sec. 3: Thu Jan 10

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

16

Sec. 1: Tue Jan 15
Sec. 2: Mon Jan 14
Sec. 3: Mon Jan 14

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

17

Sec. 1: Wed Jan 16
Sec. 2: Wed Jan 16
Sec. 3: Tue Jan 15

Details
  • 11.4-11.7
    (23 pages)
  • Operations with lists and classes
  • Project preview
Operations on collections and project preview  
6

18

Sec. 1: Fri Jan 18
Sec. 2: Thu Jan 17
Sec. 3: Thu Jan 17

Details
  • 12.1-12.2
    (14 pages)
  • Object-oriented design
  • Announce teams
  • Project work
Object-oriented Design  
7

19

Sec. 1: Tue Jan 22
Sec. 2: Mon Jan 21
Sec. 3: Mon Jan 21

Details
  • 12.3-12.5
    (23 pages)
  • Tetris Design
  • Project work
Tetris Design  
7

20

Sec. 1: Wed Jan 23
Sec. 2: Wed Jan 23
Sec. 3: Tue Jan 22

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

21

Sec. 1: Fri Jan 25
Sec. 2: Thu Jan 24
Sec. 3: Thu Jan 24

Details
   
  • Exam 2 (Thursday Night)
  • No regular class session
Week 8 Reminders Exam 2
Thursday
7–9 pm

Section 1 in O259
Section 2 in O257
Section 3 split:
A-H in O259 and
I-Z in O257
8

22

Sec. 1: Tue Jan 29
Sec. 2: Mon Jan 28
Sec. 3: Mon Jan 28

Details
 
  • Intro. to the C Programming Language
  • Some Python-esque features of C
  • Declaring types
C Language Intro  
8

23

Sec. 1: Wed Jan 30
Sec. 2: Wed Jan 30
Sec. 3: Tue Jan 29

Details
 
  • HW 22
  • Team Proj. Eval. on ANGEL
  • More Python-esque C Features
  • C's "true" and "false" values
  • Input of ints with scanf
More C Intro Project Presentations
8

24

Sec. 1: Fri Feb 1
Sec. 2: Thu Jan 31
Sec. 3: Thu Jan 31

Details
 
  • Pointers in C
  • Passing pointers to functions
Pointers in C  
9

25

Sec. 1: Tue Feb 5
Sec. 2: Mon Feb 4
Sec. 3: Mon Feb 4

Details
 
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
Arrays and Pointers  
9

26

Sec. 1: Wed Feb 6
Sec. 2: Wed Feb 6
Sec. 3: Tue Feb 5

Details
 
  • Structures
  • #define
  • typedef
Structs, typedef, #define  
9

27

Sec. 1: Fri Feb 8
Sec. 2: Thu Feb 7
Sec. 3: Thu Feb 7

Details
 
  • Strings and chars
Characters and Strings  
10

28

Sec. 1: Tue Feb 12
Sec. 2: Mon Feb 11
Sec. 3: Mon Feb 11

Details
 
  • Dynamic allocation of arrays and Strings
  • Malloc and free
  • Pointers to structs
Dynamic Memory Allocation  
10

29

Sec. 1: Wed Feb 13
Sec. 2: Wed Feb 13
Sec. 3: Tue Feb 12

Details
 
  • File input/output
  • File parsing
File Input and Output  
10

30

Sec. 1: Fri Feb 15
Sec. 2: Thu Feb 14
Sec. 3: Thu Feb 14

Details
 
  • HW 29 (Due Friday night, 11:59 pm)
  • Course evaluations
  • Final exam review
Course Evaluations and Final Exam Review Final Exam
Monday 6pm
Section 1 (Clifton) in O203
Section 2 (Boutell) in O201
Section 3 (Defoe)
A–K in O201
L–Z in O203