Wael Aboulsaadat



CSC108 Introduction to Computer Programming (Spr 11, Fall 08)


Administrative Docs and Links
Course Info Sheet
TuringsCraft's CodeLab
Policy on Collaboration
The Portal!
CDF Resources
UoT - Medical Certificate
Current UoT CS Courses
UoT Arts & Science Calendar

References
Practical Programming: An Introduction to Computer Science by Campbel et. al.

Course Schedule and Notes
Lecture 1:    Administravia, Computer Architecture & Programming Languages, Intro to Python
Lecture 2:    Expressions, Variables, Functions, Modules, Types
Lecture 3:    Modules, docstring, Iteration, Strings
Lecture 4:    Functions, Variable Scope & Namespaces, Iteration, Testing, Lists
Lecture 5:    Object Oriented Programming, Chaining Methods
Lecture 6:    Class & Objects, Mutability, Files
Lecture 7:    Tuples, Dictionaries, Inheritance
Lecture 8:    assert func, Pyunit, Bubble Sort
Lecture 9:    Searching, Efficiency, Deep/shallow cp, Obj Comp, GUI I, Efficiency Spreadsheet
Lecture 10:  Parameter Passing Modes, Name spaces, Selection Sort, GUI II
Lecture 11:  Function Parameter Passing Modes, Name spaces, Selection Sort, GUI II
Lecture 12:  Review, Updated Examples

Labs
Lab 1:    Wing IDE, Code: canvas.py, christmas.py
Lab 2:    Math, Type, Conditinals, Code: ifs.py, puzzle.py
Lab 3:    Code: calc.py, cube.py, functions.py
Lab 4:    Strings, Conditinals, Iteration
Lab 5:    Lists, While Loops
Lab 6:    Files, Code: files.py, data1.txt, data2.txt
Lab 7:    Dictionary, Code: dict.py, small_set.txt
Lab 8:    Classes, Code: card.py, player.py, deck.py, war.py
Lab 9:    Testing and Debugging, Code: buggy_functions.py, test_buggy_functions.py
Lab 10:  Efficiency: performance_tester.py

Quizzes
Quiz 1
Quiz 2
Quiz 3
Quiz 4

Assignments
CSC108 Assignment Style Guide
Assignment/midterm Remark Form
A1:    Expressions & Operators, Code: charlie.py, test_charlie.py
A2:    Audio App, Numpy && Pygame Tutorial
A3:    Calendar App, Code: A3 Startup

Midterm/Exam
Midterm + Solution

Related Links
Wing IDE
Python Official Website
Thinking in Python (Intermediate/Advanced)