CSC150H -- Fall 2010

Accelerated Introduction to Computer Programming

Lectures

Lectures take place MWF 10:00-11:00 in BA1240.

Topic Date Notes Files
Python basics.
Mon 13 Sep
variables and types, help(), strings, numbers
transcript
Wed 15 Sep
dir(), functions, booleans, __name__
transcript
functions example
__main__ example
cool turtle code
Fri 17 Sep
lists, for, range, comprehensions
transcript
linspace module
turtle example
Modules, Control Flow, Dictionaries
Mon 20 Sep
import, if/elif/else, while,
doc strings, list functions
import transcript
transcript
import_me.py
i_import_you.py
while_and_if.py
lissajou_starter.py
Wed 22 Sep
lambda, break, continue, in
string functions, simple file IO
transcript
some_file.txt
Fri 24 Sep
dictionaries, file IO, sets
transcript
Algorithms, Sorting, Intro to Big-Oh Notation
Mon 27 Sep
bubble, insertion, selection, quick sort
sorting.py
Wed 29 Sep
recursion, quick sort, intro merge sort
sorting.py
recursion.py
Fri 1 Oct
merge sort, intro to big oh
slides
merge_sort.py
timed_sorting.py
Big-Oh notation, Intro to Classes/Objects
Mon 4 Oct
Analysis of our O(n^2) sorts
slides
Wed 6 Oct
Analysis of recursive algorithms
slides
Fri 8 Oct
Objects, Classes, Stacks, Single Inheritance
slides
stack.py
More Object Oriented Programming, Unit Testing, Exceptions
Mon 11 Oct
Thanksgiving. No lecture.  
Wed 13 Oct
Unit tests, nose, decorators
testing readings
binary_search.py
nose_testing.py
simple_decorators.py
decorators_with_arguments.py
Fri 15 Oct
global, scope, exceptions
global_keyword.py
my_exceptions.py
test_exceptions.py
scope_tests_one.py
scope_tests_two.py
scope_tests_three.py
Trees
Mon 18 Oct
class scope, tree definitions, fun adding example
slides
class_scopes.py
multiprocessing_adding.py
threading_adding.py
tree_node.py
tree_traversal.py
Wed 20 Oct
binary trees, intro BST
slides
binary_node.py
in_order_traversal.py
Fri 22 Oct
Midterm test. No lecture today.
 
Tree Algorithms
Mon 25 Oct
Game Trees, Board objects.
slides
board.py
game_exceptions.py
game_traversal.py
Wed 27 Oct
BST algorithms, intro minimax
binary_search_tree_solution.py
Fri 29 Oct
minimax and alpha-beta pruning
slides
minimax.py
alphabeta.py
minimax trace
alphabeta trace
Finish Game Trees, Heaps
Mon 1 Nov
Heuristics, bounded search
slides
bounded_alphabeta.py
Wed 3 Nov
Priority Queues
slides
binary_heap.py
binary_heap_nosetests.py
Fri 5 Nov
Heap Building Analysis, heapsort
slides
binary_heap.py
binary_heap_nosetests.py
Linked Lists
Mon 8 Nov
Fall break. No lecture.  
Wed 10 Nov
heap review, LL def, search, insert
slides
sorted_linked_list.py
linked_list_tests.py
Fri 12 Nov
delete, iterators, generators
linked_list_iterator.py
Graphs
Mon 15 Nov
heapsort review, intro to graphs
slides
graph.py
Wed 17 Nov
breadth/depth-first search
slides
graph.py
stack.py
stack_nosetests.py
queue.py
queue_nosetests.py
Fri 19 Nov
Midterm test 2
 
Graph Algorithms
Mon 22 Nov
Greedy algorithms. Dijkstra and Prim
slides
Wed 24 Nov
Prim implementation and analysis
slides
Prim's algorithm files
Fri 26 Nov
Dijkstra implementation and analysis
slides
Dijkstra's algorithm files
Advanced Topics
Mon 29 Nov
Genetic Algorithms
slides
Wed 1 Dec
Genetic Algorithm Example
mnk evolution files
Fri 3 Dec
Fourier Series and Signal Compression
fourier_reconstructor.py
play_wav.py
wav_helpers.py
cow.wav
several reconstituted .wav files
Review Lecture
Mon 6 Dec