CSSE120 – Introduction to Software Development

Winter 2009-10 (a.k.a. 201020)

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
MondayWednesdayWednesday
WednesdayFridayThursday
ThursdayMondayMonday

Schedule last updated Sun Feb 14.

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 Nov 30

Details
 
  • Introductions:
      students and Instructor
      Course
      Python
      zellegraphics
Introduction  
1

2

Wed Dec 2

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

3

Thu Dec 3

Details
  • 2.5-2.8
    (14 pages)
  • HW 2
    Programming part due Friday; other parts Thursday
  • Variables and assignment
  • Definite Loops
  • Range function
  • Math library
  • Accumulator problem(s)
  • Pair Programming
Assignments and lops  
2

4

Mon Dec 7

Details
  • Chapter 3
    (18 pages)
Types, conversions, lists  
2

5

Wed Dec 9

Details
  • 4.1-4.5
    (28 pages)
  • Software Development Exercise
  • Character Sting operations, encodings
  • String formatting using %
Strings  
2

6

Thu Dec 10

Details
  • None
  • Bring your textbook to class.
  • HW 5
    Programming part due Friday; other parts Thursday
  • Eclipse development environment
  • Debugger intro
  • Practice:
    Loops
    Lists
    Strings
Eclipse, Debugger, and practice  
3

7

Mon Dec 14

Details
  • Sections 4.6-4.7
    9 pages
  • Processing files
  • Writing simple functions
  • Functions calling other functions.
Files and functions  
3

8

Wed Dec 16

Details
  • 5.1-5.7, 5.9
    (28 pages)
  • Skim 5.8, use as a reference later (or use zellegraphics.pdf)
  • Note that our zellegraphics package replaces the author's graphics package.
  • Version control and Subversion/Subclipse
  • Introduction to Objects and object-based programming
  • Graphics
  • Animation
Subversion, Objects and graphics  
3

9

Thu Dec 17

Details
  • Chapter 6
    (26 pages)
  • HW 8
    Programming part due Friday; other parts Thursday
  • Optional parameters
  • Mutation of parameters
  • Practice
More on Functions  
4

10

Mon Jan 4

Details
  • Chapter 7
    (26 pages)
  • HW 9
    Quiz due before class; programs at 11:59 PM
  • Exam 1 topics
  • Decision structures (if statements)
  • Boolean constants and variables (a.k.a. flags)
  • Boolean operators: and, or, not
Decisions  
4

11

Wed Jan 6

Details
  • Chapter 8
    (26 pages)
  • More Debugging
  • Indefinite (while) loops
While loops  
4

12

Thu Jan 7

Details
 
  • none
  • Exam 1 (7:00-9:00 PM)
  • No regular daytime class session
  • Bring laptop, network cable, and power cord to the exam
  Exam 1 Thursday (1/7/2010) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O267
5

13

Mon Jan 11

Details
  • 9.1-9.2
    (6 pages)
  • Exam redux
  • Loop patterns
Loop patterns  
5

14

Wed Jan 13

Details
  • 9.3
    (13 pages)
  • Blackjack intro
  • Nested loops
  • Nested loops practice
Nested loops  
5

15

Thu Jan 14

Details
  • 9.4-9.6
    (13 pages)
  • HW 14
    Programming part due Friday; other parts Thursday
    Team preference survey (on ANGEL) due at beginning of class.
  • Top-Down design
  • Bottom-up testing
slides will be available immediately after your class session on ANGEL-->Slides for specific sessions --> slides for session 15.  
6

16

Mon Jan 18

Details
  • 11.1-11.3, 11.6
    (30 pages)
  • Note different meeting time: Convo schedule
  • Dictionaries as collections
  • Dictionaries as objects
  • Project intro and meet your team
  • Emergence Project introduction and demo * Project planning time
Dictionaries, project kickoff  
6

17

Wed Jan 20

Details
  • None
  • Project milestone 17. Commit your EmergenceMilestone.txt document.
     
6

18

Thu Jan 21

Details
  • None
  • Project Milestone 18. Commit your EmergenceMilestone.txt document.
  • Project work
   
7

19

Mon Jan 25

Details
  • None
  • Project milestone 19. Commit your EmergenceMilestone.txt document.
  • Exam 2 topiocs
  • Project work
Exam 2 review  
7

20

Wed Jan 27

Details
  • None
  • Project final code
  • Project Milestone 20. Commit your EmergenceMilestone.txt document.
  • Project demonstrations/explanations
  • 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 Jan 28

Details
 
  • Exam 2
  • No regular class session
  • Make sure you bring your laptop, network cable, and power cord to the exam
Week 8 reminders Exam 2
Thursday (1/28) evening
7:00 to 9:00 PM
SectionRoom
01O257
02O259
03O267
8

22

Mon Feb 1

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.
  • Exam results discussion
  • Formal intro. to the C Programming Language
  • Some Python-esque features of C
C language intro  
8

23

Wed Feb 3

Details
  • Pages 165-182
  • Structures
  • #define
  • typedef
Structs, typedef, #define  
8

24

Thu Feb 4

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 Feb 8

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

Wed Feb 10

Details
  • Pages 195-216, 266-267, 470-471.
  • Strings and chars
Characters and strings  
9

27

Thu Feb 11

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 Feb 15

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

29

Wed Feb 17

Details
 
  • Defining classes and objects in Python
  • Continue working on AroundTheWorld project
DefiningClasses  
10

30

Thu Feb 18

Details
 
  • Course evaluations
  • Final exam review
  • More on defining classes
Fractions, Course Evaluations, Final Exam Review Final Exam Thursday (2/25)
8 AM to Noon
SectionRoom
01O259
02O257
03O267