Lecture Presentations
Class No. Date Slides Code + additional material Updated / comments Topics
1 Mar 12 PDF

PY ID.py Install Python: http://tau-cs1001-py.wikidot.com/python Course administration

Python basics
2 Mar 15 PDF PY sum.py Python basics (cont.): Boolean values and operators, conditionals, iteration, lists
3 Mar 19 PDF PY palindrome.py PY xor.py More Python basics: list comprehension and slicing, functions, Python's memory model
4 Mar 22 PDF

PY memory.py

PY char_count.py
Python Tutor: http://www.pythontutor.com/visualize.html#mode=edit
Examples in class: linear-combination, modify_list
Python's memory model, More Collections, Grammars
5 Mar 26 PDF

Integer Representation

Floating point representation
6 Mar 29 PDF

PY random_walk_dist.py

PY random_walk_back.py
Floating point representation (see slides from previous class)

Types of errors; "Good" programming guidelines

7 Apr 16 PDF


PY search.py
PY select_sort.py
Randomness (see slides from previous class)

Text representation, ASCII and Unicode

Basic Algorithms 1: Binary search, Selection sort
8 Apr 19 PDF PY merge.py Basic Algorithms 2: selection sort (cont), merging sorted lists

Introduction to Complexity and the O() notation
9 Apr 23 PDF
PY factorial_and_fibonacci.py
PY rec_bsearch.py
PY quicksort.py
More on complexity

Recursion - Part 1:
factorial (n!), Fibonacci, recursive binary search, Quicksort
10 Apr 30 PDF PY mergesort.py
PY sorting_race.py

PY hanoi.py
Recursion - Part 2:

Towers of Hanoi
11 May 7 PDF
PY fib_memo.py

PY chomp.py
PDF fib2_reverse_recursion_tree.pdf Recursion - Part 3:
Monster of Hanoi (using last lecture slides)


The game of Chomp!
12 May 10 PDF PY power.py Recursion - Part 4: The game of Chomp!

Integer Exponentiation
13 May 14 PDF PY primality.py Integer Exponentiation (cont.)

Randomized primality testing
14 May 17


PY DH.py
Prime numbers (cont., using the slides of Lecture 13)

Diffie-Hellman key exchange
15 Jun 7 PDF


PY student.py

PY linked_list.py
Intro to Object Oriented Programming (OOP)

Data structures: Linked lists
16 Jun 11 PDF PY binary_search_tree.py
PY printree.py
Data Structures: Linked lists (using slides from prev lecture)

Data Structures: Binary Search Trees
17 Jun 14 PDF


PY hash.py Data Structures: Binary search trees (using slides from prev lecture)

Data Structures: Hash functions and hash tables
18 Jun 18 PDF PY huffman_comp.py Text compression: Huffman algorithm
19 Jun 21 PDF PY LZ.py

TXT Vibrio_cholerae_B33.txt
Text compression: Lempel-Ziv algorithm
20 Jun 22 PDF PY ID_ERR.py
PY Hamming_dist.py
PY repetition_decode.py
Error Detection and Correction Codes (part 1)
21 Jun 25 PDF Error Detection and Correction Codes (part 2)
Summary, the exam, and more
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License