CSSE120 – Introduction to Software Development

Fall, 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 Tue Nov 11.

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

Fri Sep 5

Details
 
  • Introduction to Course
  • Introduction to Python
Introduction  
1

2

Tue Sep 9

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

3

Wed Sep 10

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

Fri Sep 12

Details
  • 3.4-4.3
    (26 pages)
Types, conversions, lists, strings  
2

5

Tue Sep 16

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

6

Wed Sep 17

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

Fri Sep 19

Details
  • 6.1-6.4
    (12 pages)
  • 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

Tue Sep 23

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

Wed Sep 24

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

10

Fri Sep 26

Details
  • 7.4-7.6, 8.1-8.2
    (15 pages)
  • Exam reduc
  • Debugging
  • Indefinite (while) loops
Debugging and Indefinite Loops  
4

11

Tue Sep 30

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

12

Wed Oct 1

Details
 
  • Nested loops
  • Booleans
  • Synthesizing functions, decision structures, loops, and booleans
Nested loops  
4

13

Fri Oct 3

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

14

Tue Oct 7

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

15

Wed Oct 8

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

16

Fri Oct 10

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

17

Tue Oct 14

Details
  • 11.4-11.7, 12.1
    (26 pages)
  • Announce project teams
  • Project introduction and demo
  • Project worktime
Project kickoff  
6

18

Wed Oct 15

Details
  • None
  • Project work
   
7

19

Tue Oct 21

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

20

Wed Oct 22

Details
  • None
  • 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

Fri Oct 24

Details
 
  • Project team evaluation survey (see HW 20 instructions) due Friday at 5 PM
  • 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/23) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O267
03O269
04O257
8

22

Tue Oct 28

Details
  • Schildt pages 4-5 (History, Middle-level)
  • Pages 10-11 (keywords and main)
  • Page 21 (declaring Variables)
  • Page 23, bottom (String Constants and character literals)
  • Pages 274-275 (Comments)
  • Skim pages 212-219 (Using printf for formatted output)
  • Pages 148-149 (Function Declarations and braces)
  • Pages 63-67 (if, else, compound statemets, C's "true" and "false" values)
  • Pages 76-86 (while loops)
  • Pages 221-224 (obtaining input values using scanf)
  • Formal intro. to the C Programming Language
  • Some Python-esque features of C
  • Using the stdio printf library function to print formated output
  • Strings vs character literals
  • More on function definitions including parameters and return types
  • Recap: example programs illustrating these C topics
  • Using a function's return value
  • if, if-else, else statements
  • Single statements vs. compound statements with { } as parts of loops, if statements
  • while loops
  • break statements
  • C's "true" and "false" values
  • Input of ints with scanf
C Language Intro  
8

23

Wed Oct 29

Details
  • Pages 173-188 (Structures)
  • Pages 262-263 (#define)
  • Page 203 (typedef)
  • Exam results discussion
  • Structures
  • #define
  • typedef
Structs, typedef, #define  
8

24

Fri Oct 31

Details
  • Pages 53-55, 120-130, 108-110 (Pointers in C)
  • Pages 148-155 (passing pointers to functions)
  • Pointers in C
  • Passing pointers to functions
Pointers in C  
9

25

Tue Nov 4

Details
  • Pages 96-107, 111-117 (Arrays -- but no dynamic allocation yet)
  • Pages 108-110 (Arrays are Pointers)
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
Arrays and Pointers  
9

26

Wed Nov 5

Details
  • Pages 99-101, 106-107, 128 (Strings and Chars)
  • Strings and chars
Characters and Strings  
9

27

Fri Nov 7

Details
  • Pages 138-142, 143-146 (malloc and free)
  • Pages 188-192 (Dynamic Allocation of arrays, strings, and structs)
  • Dynamic allocation of arrays and strings
  • Malloc and free
  • Pointers to structs
Dynamic Memory Allocation  
10

28

Tue Nov 11

Details
  • Pages 230-235 (File input and output)
  • Pages 254-255 (File parsing)
  • The Malloc family--malloc, calloc, and realloc
  • File input/output
  • File parsing
File Input and Output  
10

29

Wed Nov 12

Details
 
  • Continue working on homework
None  
10

30

Fri Nov 14

Details
 
  • Course evaluations
  • Final exam review
Course Evaluations and Final Exam Review Final Exam Tuesday (11/18) evening
6:00 to 10:00 PM
SectionRoom
01G220
02G219
03G221
04G222