CSSE120 – Introduction to Software Development

Fall 2010-11 (a.k.a. 201110)

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 tentatively based on previous course offerings. We may change assigned homework at any time before it is given. Schedule subject to change.

Day assignedReading quizzes dueOther parts of assignments due
MondayTuesdayWednesday
TuesdayThursdayThursday
ThursdayMondayMonday

Schedule last updated Mon Nov 22.

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 Resources Milestones
0

1

Thu Sep 2

Details
 
  • Introductions:
      students and Instructor
      Course
      Python
      zellegraphics
 
1

2

Mon Sep 6

Details
  • 1.3, 1.5-2.4
    (24 pages)
  • Functions
  • Basic program structure
  • Program output
  • SE tools: Eclipse (IDE) and Subversion (SVN)
  • Slides Writing simple programs and functions
 
1

3

Tue Sep 7

Details
  • 2.5-2.8
    (14 pages)
  • HW 2
    Quiz due Tuesday as usual; rest due Wednesday (as usual for homework assigned on Mondays)
  • Variables and assignment
  • Definite Loops
  • Range function
  • Math library
  • Accumulator problem(s)
  • Pair Programming
  • Slides Assignments and Loops
 
1

4

Thu Sep 9

Details
  • Chapter 3
    (18 pages)
  • Pair Programming
  • Review and Practice at topics we have covered
 
2

5

Mon Sep 13

Details
  • Sections 5.1 - 5.5 (of Chapter 5)
    (21 pages)
  • Types
  • Sequences (especially Lists)
  • Slides Types and Sequences (especially Lists)
 
2

6

Tue Sep 14

Details
  • None
  • HW 5
    Quiz due Tuesday as usual; rest due Wednesday (as usual for homework assigned on Mondays)
  • Software development processes.
  • Strings: String operations. Lists and strings. String encoding. String formatting.
  • Practice:
    Loops
    Lists
    Strings
  • Note: Here are two versions of the Slides from today's session. They cover the same material with the same exercises, but Delvin's are more stream-lined and David's are more verbose. You can use either one for your reference.
  • Slides (Delvin's section) Software development processes and Strings
  • Slides (David's section) Software development processes and Strings
 
2

7

Thu Sep 16

Details
  • Sections 5.6-5.10
    20 pages
  • HW 6 Note: this homework is due MONDAY (not Thursday), per special instructions given in class.
  • Processing files
  • Writing simple functions
  • Functions calling other functions.
 
3

8

Mon Sep 20

Details
  • 4.1-4.9
    (36 pages, BUT much of Chapter 4 has details that you should just skim, returning to the text for reference when you need those details. For example, all of Section 4.8 is in this category — just skim that section briefly and return to it as needed for reference.)
  • Note that our zellegraphics package replaces the author's graphics package.
  • Using a Debugger
  • Introduction to Objects and object-based programming
  • Graphics
  • Animation
  • Slides Debugging, Objects and graphics
 
3

9

Tue Sep 21

Details
  • Chapter 6
    (26 pages)
  • HW 8
    Quiz due Tuesday as usual; rest due Wednesday (as usual for homework assigned on Mondays)
  • Review Functions: Defining, calling, returning values.
  • Optional parameters
  • Returning more than one value from a function
  • Mutators — Mutation of parameters
  • Practice, including debugging
 
3

10

Thu Sep 23

Details
  • Chapter 7
    (26 pages)
  • Exam 1 topics
  • Decision structures (if statements)
  • Boolean constants and variables (a.k.a. flags)
  • Boolean operators: and, or, not
  • Slides Exam 1 preview, Decision structures
 
4

11

Mon Sep 27

Details
  • Chapter 8
    (26 pages)
  • Review for Exam 1
  • Definite loops (review, for statements)
  • Indefinite loops ( while statements, break statements)
  • Practice Debugging
  • Prepare for Exam 1
 
4

12

Tue Sep 28

Details
 
  • none
  • Exam 1 (7:00-9:00 PM)
  • No regular daytime class session
  • Bring to the exam:
    • Laptop, including power adapter and network cable
    • Cheat Sheet (one 8.5 by 11 page, back and front)
    • Your textbook (Zelle)
    • Any printed or handwritten materials you want for the On-the-Computer part
  Exam 1 Tuesday (09/28/2010) evening
7:00 to 9:00 PM
SectionRoom
01O267
02O269
03O167
04O169
4

13

Thu Sep 30

Details
  • 9.1-9.2
    (6 pages)
  • HW 11
    Note: There is no HW 12
  • Loop patterns
 
5

14

Mon Oct 4

Details
  • 9.3
    (13 pages)
  • Exam redux
  • Blackjack intro
  • Nested loops
  • Nested loops practice
  • Slides Top-down design and Nested loops
 
5

15

Tue Oct 5

Details
  • 9.4-9.6
    (13 pages)
  • HW 14
    Quiz due Tuesday as usual; rest due Wednesday (as usual for homework assigned on Mondays)
    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.
 
5

16

Thu Oct 7

Details
  • 11.1-11.3, 11.6
    (30 pages)
  • Dictionaries as collections
  • Dictionaries as objects
  • Project intro and meet your team
  • Quixo Project introduction and demo
  • Project planning time
 
6

17

Mon Oct 11

Details
 
  • Project work
  • Defining and using classes in Python
  • Slides Defining classes in Python
 
6

18

Tue Oct 12

Details
   
  • Project work
  • Defining and using classes in Python, part two
  • Slides Defining and using classes in Python, part two
 
7

19

Mon Oct 18

Details
   
  • Exam 2 topiocs
  • Project work
 
7

20

Tue Oct 19

Details
   
  • Project work
   
7

21

Thu Oct 21

Details
 
  • 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
Project Presentations
8

22

Mon Oct 25

Details
  • Essential C (for reference for the rest of the course)
 
  • Exam 2 (7:00-9:00 PM)
  • No regular daytime class session
  • Bring to the exam:
    • Laptop, including power adapter and network cable
    • Cheat Sheet (one 8.5 by 11 page, back and front)
    • Your textbook (Zelle)
    • Any printed or handwritten materials you want for the On-the-Computer part
  Exam 2
Monday (10/5) evening
7:00 to 9:00 PM
SectionRoom
01O157
02O159
03O167
04O169
8

23

Tue 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 (below)
  • 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
  • Slides C language introduction
 
8

24

Thu Oct 28

Details
  • Structures
  • #define
  • typedef
  • modules in C
  • Slides Structs, typedef, #define
 
9

25

Mon Nov 1

Details
  • Exam results discussion
  • Pointers in C
  • Passing pointers to functions
 
9

26

Tue Nov 2

Details
  • HW 25
    Quiz due Tuesday as usual; rest due Wednesday (as usual for homework assigned on Mondays)
  • Arrays (but no dynamic allocation)
  • Arrays are Pointers
 
9

27

Thu Nov 4

Details
  • Characters and Strings
  • Slides Characters and strings
 
10

28

Mon Nov 8

Details
  • 2D arrays
  • File input/output
  • Slides Two Dimensional Arrays, File Handling
 
10

29

Tue Nov 9

Details
  • HW 28
    Make significant progress on AroundTheWorld project. Rest due Wednesday (as usual for homework assigned on Mondays)
  • Introduction to dynamic allocation of memory
  • Work on AroundTheWorld project.
  • Slides Dynamic Memory Allocation
 
10

30

Thu Nov 11

Details
 
  • Course evaluations
  • Final exam review
  • Slides Review for the Final Exam
Final Exam: Thursday (11/18) morning
8:00 AM to noon
SectionRoom
01O167
02O169
03O157
04O159