CIS200 lecture notes

CIS200 Lecture Notes: Introduction to Software Development Using Python


Week 1

Chapter 0A: Introduction to computing

Week 2

Chapter 0B: Computer hardware and operating systems
Chapter 1: Introduction to the Python programming language
Optional: Dawson, Chapter 1

Week 3

Chapter 2: Arithmetic, variables, and input-output
Chapter 3A: Conditional control
Optional: Dawson, Chapter 2 and the first half of Chapter 3
The demo programs that compute square roots:

Week 4

Chapter 3B: Iterative control
A repetitive version of the coin-flip game: LotsOfDeals.py
Chapter 4: Computing with strings (Sections 4.1-4.4 only)
Optional: Dawson, the second half of Chapter 3 and the first half of Chapter 4

Week5

Examples from the lectures:

Week 6

Chapter 5: List data structures (Sections 5.1-5.3, 5.5, 5.6 only)
Optional: Dawson, the first half of Chapter 5
Examples from lecture:
Votes.py
Move1.py
ApptMgr.py

Week 7

Examples from lecture:
Grid.py
Puzzle.py
Chapter 6A: Small pieces: functions
Optional: the first half of Dawson, Chapter 6
The ATM examples:
ATM1.py | ATM2.py | ATM3.py
ATM4.py and BankDatabase.py (You must download and use these together in the same folder.)

Week 8

A series of examples that show how to introduce functions while refining an algorithm into a program --- a tic-tac-toe-like game:
TTT0.py | TTT1.py | TTT2.py | TTT3.py | TTT4.py | TTT5.py
Chapter 6B: Big pieces: modules
Optional: the second half of Dawson, Chapter 6

Week 9 (spring-break week)

Chapter 7: How to read and write text files (This is for your information and is not required reading. It matches Dawson's book, Chapter 7.)

Week 10

Chapter 8: Objects for GUIs and animations
Optional: Dawson, Chapters 9-12
Note: A good reference to Tkinter is found at http://www.pythonware.com/library/tkinter/introduction/
The telephone book example: TelBook.zip | TelBookGUI.py | TelephoneBook.py

Week 11

GUI examples from lecture:
A three-button counter written with copy-and-paste: Counters0.py
How to use a function to manufacture customized functions: Fcns.py
A generalized counter GUI using the previous technique: Counters2.py
How to collect the addresses of button objects and reset all the buttons: Counters3.py
How to use a class to generate controller objects that hold the event-handling functions: CounterGUI.py | CounterButton.py
Counters.zip, a zipped folder that contains all the examples listed here.

Week 12

A slide puzzle built with controller objects constructed from a controller class: PuzzleModel.py | PuzzleView3.py SlideControllers3.py
SlidePuzzle.zip, a zipped folder that contains the previous three modules.

Week 13

Chapter 99: Programming with C#
Examples: Reciprocal.cs | ReciprocalEx.cs | Votes.cs | SlidePuzzle.cs
A zip file that holds the examples: Ch99.zip

Week 14

Examples of clocks:
Clock.cs (compile with the command, csc /debug+ /t:library Clock.cs)
TestClock.cs (compile with the command, csc /debug+ /R:Clock.dll TestClock.cs)
ThreeClocks.cs (compile with the command, csc /debug+ /R:Clock.dll /t:library ThreeClocks.cs)
StartClocks.cs (compile with the command, csc /debug+ /R:ThreeClocks.dll StartClocks.cs)
Clocks.zip: a zipped folder holding these files.

Week 15

Exam 3 review


Summary of Python Language Features


Creative Commons License This work is licensed under a Creative Commons License.