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 |