CSSE120 – Introduction to Software Development

Spring 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 May 16.

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

Mon Mar 3

Details
 
  • Introduction to Course
  • Introduction to Python
Introduction  
1

2

Tue Mar 4

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

3

Fri Mar 7

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

Mon Mar 10

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

5

Tue Mar 11

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

6

Fri Mar 14

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

Mon Mar 17

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

8

Tue Mar 18

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

Fri Mar 21

Details
   
  • Exam 1
  • No regular class session
  • Make sure you bring your laptop and power cord
  Exam 1
Room O267
During Normal class meeting time
4

10

Mon Mar 24

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

Tue Mar 25

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

12

Fri Mar 28

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

13

Mon Apr 7

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

14

Tue Apr 8

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

15

Fri Apr 11

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

16

Mon Apr 14

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

17

Tue Apr 15

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

18

Fri Apr 18

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

19

Mon Apr 21

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

20

Tue Apr 22

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

21

Fri Apr 25

Details
   
  • Exam 2
  • No regular class session
  • Make sure you bring your laptop and power cord
Week 8 Reminders Exam 2
Room O267
During Normal class meeting time
8

22

Mon Apr 28

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

23

Tue Apr 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

Fri May 2

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

25

Mon May 5

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

26

Tue May 6

Details
 
  • Strings and chars
Characters and Strings  
9

27

Fri May 9

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

28

Mon May 12

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

29

Tue May 13

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

30

Fri May 16

Details
 
  • HW 29 (Due Friday night, 11:59 pm)
  • Course evaluations
  • Final exam review
Course Evaluations and Final Exam Review Final Exam