CSSE120 – Introduction to Software Development

Fall 2007

Schedule Overview

Readings are to be completed before the class session. Homework is due at the beginning of class unless otherwise noted. Schedule subject to change.

Schedule last updated Tue Nov 6.

Week Session Reading HW Due Topics Slides Milestone
0

1

Sec. 1: Fri Aug 31
Sec. 2: Fri Aug 31
Sec. 3: Thu Aug 30

Details
 
  • Introduction to Course
  • Introduction to Python
Introduction  
1

2

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

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

3

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

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

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

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

5

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

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

6

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

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

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

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

8

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

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

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

9

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

Details
  • 7.4-7.6, 8.1-8.2
    (15 pages)
  • HW 8 (reading only)
  • Conditional Program execution
  • Exception handling
  • Debugging
Exception handling, debugging and indefinite loops  
3

10

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

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

11

Sec. 1: Tue Sep 25
Sec. 2: Mon Sep 24
Sec. 3: Mon Sep 24

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

12

Sec. 1: Wed Sep 26
Sec. 2: Wed Sep 26
Sec. 3: Tue Sep 25

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

13

Sec. 1: Fri Sep 28
Sec. 2: Fri Sep 28
Sec. 3: Thu Sep 27

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

14

Sec. 1: Tue Oct 2
Sec. 2: Mon Oct 1
Sec. 3: Mon Oct 1

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

15

Sec. 1: Wed Oct 3
Sec. 2: Wed Oct 3
Sec. 3: Tue Oct 2

Details
  • 10.6-10.7, 11.1-11.3
    (29 pages)
  • Widgets
  • Data collections (list operations, lists of objects)
Widgets and Data Collections  
5

16

Sec. 1: Fri Oct 5
Sec. 2: Fri Oct 5
Sec. 3: Thu Oct 4

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

17

Sec. 1: Tue Oct 9
Sec. 2: Mon Oct 8
Sec. 3: Mon Oct 8

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

18

Sec. 1: Wed Oct 10
Sec. 2: Wed Oct 10
Sec. 3: Tue Oct 9

Details
  • 12.3-12.5
    (23 pages)
  • OO Concepts: Encapsulation, polymorphism, and inheritance (Oh, my!)
  • Exam review
  • Project work
Object-oriented Concepts  
7

19

Sec. 1: Tue Oct 16
Sec. 2: Mon Oct 15
Sec. 3: Mon Oct 15

Details
 
  • Project work
  Exam 2—Tuesday Night

Section 1 in O257
Section 2 (A-G) in O257
Section 2 (H-Z) in O267
Section 3 in O267
7

20

Sec. 1: Wed Oct 17
Sec. 2: Wed Oct 17
Sec. 3: Tue Oct 16

Details
   
  • Project work
   
7

21

Sec. 1: Fri Oct 19
Sec. 2: Fri Oct 19
Sec. 3: Thu Oct 18

Details
   
  • Exam results discussion
  • Project work
   
8

22

Sec. 1: Tue Oct 23
Sec. 2: Mon Oct 22
Sec. 3: Mon Oct 22

Details
   
  • Project work
Week 8 Reminders  
8

23

Sec. 1: Wed Oct 24
Sec. 2: Wed Oct 24
Sec. 3: Tue Oct 23

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

24

Sec. 1: Fri Oct 26
Sec. 2: Fri Oct 26
Sec. 3: Thu Oct 25

Details
 
  • More Python-esque C Features
  • C's "true" and "false" values
  • Input of ints with scanf
More C Intro  
9

25

Sec. 1: Tue Oct 30
Sec. 2: Mon Oct 29
Sec. 3: Mon Oct 29

Details
 
  • The C Programming Language
  • Arrays (but no dynamic allocation)
  • Passing simple variables by reference
  • Reinforcement of functional decomposition
Passing references to simple variables, arrays in C  
9

26

Sec. 1: Wed Oct 31
Sec. 2: Wed Oct 31
Sec. 3: Tue Oct 30

Details
   
  • The C Programming Language
  • Review of Pointers and Arrays
Pointers Recap  
9

27

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

Details
 
  • Structs
  • Arrays of structs
  • #define
  • typedef
Structs, typedef, #define  
10

28

Sec. 1: Tue Nov 6
Sec. 2: Mon Nov 5
Sec. 3: Mon Nov 5

Details
 
  • Strings and chars
  • Passing a struct to a function by reference
Chars, Strings, and Files  
10

29

Sec. 1: Wed Nov 7
Sec. 2: Wed Nov 7
Sec. 3: Tue Nov 6

Details
 
  • Course evaluations
  • Final exam review
  • Dynamic allocation of arrays and Strings
  • Malloc and free
Dynamic Memory Allocation  
10

30

Sec. 1: Fri Nov 9
Sec. 2: Fri Nov 9
Sec. 3: Thu Nov 8

Details
 
  • Optional Python Make-up Exam
  Final Exam
Monday 6pm
Section 1 in O157
Section 2 in O167
Section 3 in O159