CSSE120 – Introduction to Software Development

Fall 2009-10

Schedule Overview

Assignments are due according to the following table. Note that the due time for all quizzes, programs, and other homework is the same time of day as the beginning of your class meetings. Also 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.

Day assignedPrograms dueOther parts of assignment due
MondayWednesdayTuesday
TuesdayFridayThursday
ThursdayMondayMonday

Schedule last updated Tue Nov 10.

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 3

Details
 
  • Introduction to Course
  • Introduction to Python
  • Introduction to zellegraphics
Introduction  
1

2

Mon Sep 7

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

3

Tue Sep 8

Details
  • 2.5-3.3
    (28 pages)
  • HW 2
    Programming part due Wednesday; other parts Tuesday
  • Variables and assignment
  • Definite Loops
  • Basic types: numbers (int and float)
  • Math library
  • Accumulator problem(s)
Assignments to types  
1

4

Thu Sep 10

Details
  • 3.4-4.3
    (26 pages)
  • HW 3
    Programming part due Friday; other parts Thursday
Types, conversions, lists, strings  
2

5

Mon Sep 14

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

6

Tue Sep 15

Details
  • 5.1-5.7, 5.9
    (28 pages)
  • Skim 5.8 as reference
  • HW 5
    Programming part due Wednesday; other parts Tuesday
  • Eclipse development environment
  • Introduction to Objects and object-oriented programming
  • Graphics
Objects and graphics  
2

7

Thu Sep 17

Details
  • 6.1-6.4
    (12 pages)
  • HW 6
    Programming part due Friday; other parts Thursday
  • 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 21

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 22

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

10

Thu Sep 24

Details
  • 7.5-7.6, 8.1-8.2
    (11 pages)
  • HW 8
    Quiz and Programs due on Thursday
  • Exam redux
  • Debugging
  • Indefinite (while) loops
Debugging and Indefinite Loops  
4

11

Mon Sep 28

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

12

Tue Sep 29

Details
 
  • HW 11
    Programming part due Wednesday; other parts Tuesday
  • Boolean constants
  • Boolean operators: and, or, not
  • Nested loops
  • Solving problems by synthesizing functions, decision structures, loops, and booleans
Nested loops  
4

13

Thu Oct 1

Details
  • 9.1-9.6
    (24 pages)
  • HW 12
    Programming part due Friday; other parts Thursday
  • Top-Down design
  • Bottom-up testing
Top-Down Design  
5

14

Mon Oct 5

Details
  • 11.1-11.3, 11.6
    (23 pages)
TicTacToe  
5

15

Tue Oct 6

Details
  • None
  • HW 14
    Team preference survey due at beginning of class
    TTT parts 1-4 due at beginning of class
    Remainder of TTT due Friday
  • Dictionaries
  • TTT work
Dictionaries  
5

16

Thu Oct 8

Details
  • None
  • HW 15
    Programming part due Friday, includes TicTacToe
Project kickoff  
6

17

Mon Oct 12

Details
  • None
  • Project work
   
6

18

Tue Oct 13

Details
  • None
  • HW 17
    Programming part due Wednesday; other parts Tuesday
  • Project work
   
7

19

Mon Oct 19

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

20

Tue Oct 20

Details
  • None
  • HW 19
    All parts due Tuesday
  • 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 22

Details
 
  • 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/22) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O267
04O269
8

22

Mon Oct 26

Details
  • Kochan, Chapters 3-8, and page 426. Much of this is review. Skim the text and focus on the code examples. Skip p. 12, 84-92, middle of 108 - 117, and 138 - 161.
  • Formal intro. to the C Programming Language
  • Some Python-esque features of C
C Language Intro  
8

23

Tue Oct 27

Details
  • Pages 165-182
  • HW 22
    Programming part due Wednesday; other parts Tuesday
  • Exam results discussion
  • Structures
Structs, typedef, #define  
8

24

Thu Oct 29

Details
  • Pages 235-244, 254-259
  • HW 23
    Programming part due Friday; other parts Thursday
  • Pointers in C
  • Passing pointers to functions
Pointers in C  
9

25

Mon Nov 2

Details
  • Review p. 95-108. Read 137-146, 182-191, 259-265.
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
Arrays and Pointers  
9

26

Tue Nov 3

Details
  • Pages 195-216, 266-267, 470-471.
  • HW 25
    Programming part due Wednesday; other parts Tuesday
  • Strings and chars
Characters and Strings  
9

27

Thu Nov 5

Details
  • Pages 240-243, 363-369, except feof
  • HW 26
    Programming part due Friday; other parts Thursday
  • 2D arrays
  • File input/output
2DArraysAndFiles  
10

28

Mon Nov 9

Details
 
  • Introduction to dynamic allocation of memory
  • Work on AroundTheWorld project.
DynamicMemoryAllocation  
10

29

Tue Nov 10

Details
 
  • HW 28
    Programming part due Wednesday; other parts Tuesday
  • Defining classes and objects in Python
  • Continue working on AroundTheWorld project
DefiningClasses  
10

30

Thu Nov 12

Details
 
  • Course evaluations
  • Final exam review
  • More on defining classes
Fractions, Course Evaluations, Final Exam Review Final Exam Thursday (11/19)
1 to 5 PM
SectionRoom
01G313
02G315
03G317
04G310