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

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

Python basics
2 Mar 7 PDF PY sum.py Python basics (cont.): variables and operators, conditionals, iteration
3 Mar 10 PDF PY palindrome.py PY xor.py More Python basics: lists, functions, Python's memory model (part 1)
4 Mar 14 PDF
PDF
PY lec4.py Python's memory model, Containers, Grammars
5 Mar 17 PDF
PDF
PY random_walk.py Randomness

Errors and testing; "Good" programming guidelines
6 Mar 21 PDF
PDF
Integer Representation (in Binary and other bases)

Floating point representation
7 Mar 23 PDF


PDF
PY text2bits.py

PY search.py
PY select_sort.py
Text representation, ASCII and Unicode;



Basic Algorithms – Part 1: Binary Search, Selection Sort
8 Apr 7 PDF PY merge.py Basic Algorithms – Part 2: Selection Sort, Merge

Introduction to Complexity
9 Apr 11 PDF
PDF
PY bsearch_rec.py
PY factorial_and_fibonacci.py
PY quicksort.py
More complexity

Recursion - Part 1:
Fibonacci, factorial
10 Apr 18 PDF PY mergesort.py
PY sorting_race.py

PY hanoi.py
Recursion - Part 2:


Quick-Sort , Merge-Sort



Towers of Hanoi
11 Apr 21 PDF
PDF
PY hanoi.py
PY fib_memo.py
Recursion - Part 3:
Towers of Hanoi (cont.)

Memoization
12 Apr 25 PDF
PDF
PY munch.py
PY power.py
PY clock.py
Recursion - Part 4: Munch!


Integer Exponentiation (iterated squaring)
13 Apr 28 PDF PY Integer Exponentiation (iterated squaring),
Modular exponentiation,
Prime numbers
14 May 2 PDF PY DH.py Prime numbers (cont.), Diffie-Hellman
15 May 5 PDF
PDF
PDF
PY root.py
PY pi.py
PY deriv_integral.py
PY gcd.py
PY student.py
Numeric Computation


Euclid's gcd


Intro to OOP
16 May 9 PDF
PDF
PY student.py
PY linked_list.py
OOP


Linked lists
17 May 12 PDF PY Binary_search_tree.py
PY printree.py
Linked Lists


Binary Search Trees
18 May 19 PDF PY hash.py Hash functions and hash tables
19 May 23 PDF
PDF
PDF
PY generators.py Generators for streams


Text: Context free grammars and CYK parsing algorithm
20 May 26 same slides from May 23rd
PDF
PY cyk.py CYK parsing algorithm
21,22 May 30, Jun 2 PDF PY ID_ERR.py
PY Hamming_dist.py
PY repetition_decode.py
PY Hamming743.py
Error Detection and Correction Codes
23 Jun 6 PDF PY huffman.py Text compression: Huffman algorithm
24 Jun 9 PDF PY LZ.py Text compression: LZ
25 Jun 13 PDF PY PY BIT Introduction to Image Representation and Noise Reduction
26 Jun 16 PDF Summary
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License