Lecture Presentations 2022b
Class No. Date Slides Code + additional material Updated / comments Topics
1 Feb 20 PDF

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


Python basics
2 Feb 23 PDF PY sum.py Python basics (cont.): Boolean values and operators, conditionals, iteration, lists
3 Feb 27 PDF

PDF
PY palindrome.py PY xor.py More Python basics: list comprehension and slicing, functions, Python's memory model
4 Mar 2 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 (cont.), More Collections, Grammars
5 Mar 6 PDF

PDF
Integer Representation

Floating point representation
6 Mar 9 PDF

PDF
PY random_walk.py Types of errors; "Good" programming guidelines

Randomness
7 Mar 13 PDF


PDF


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


Basic Algorithms 1: binary search, selection sort


8 Mar 16 PDF PY merge.py Basic Algorithms 2: selection sort (cont), merging sorted lists

Introduction to Complexity and the O() notation
9 Mar 20 PDF
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 Mar 23 PDF PY mergesort.py
PY sorting_race.py

PY hanoi.py
Slides 4-23 are copied from lecture #9. Recursion - Part 2:
Quick-Sort,
Merge-Sort,
Towers of Hanoi
11 Mar 27 PDF PY fib_memo.py Recursion - Part 3:
Monster of Hanoi (appear in the slides of Lecture 10);
Memoization
12 Mar 30 PDF
PDF
PY munch.py
PY power.py
Recursion - Part 4: Munch!

Integer Exponentiation
13 Apr 3 PDF PY primality.py Integer Exponentiation and Modular exponentiation (appear in the slides of Lecture 12)

Prime numbers
14 Apr 6 PDF PY DH.py Prime numbers (appear in the slides of Lecture 13)

Diffie-Hellman key exchange
15 Apr 10 PDF

PDF

PDF


PY gcd.py
PY root.py
PY pi.py
PY deriv_integral.py
PY student.py
Euclid's gcd


Numeric Computation


Intro to OOP
16 Apr 24 PDF

PDF


PY student.py
PY Linked_list.py
OOP (cont.)

Data structures: Linked lists
17 Apr 27 PDF

PDF

PY Binary_search_tree.py
PY printree.py
Data Structures: Binary Search Trees
18 May 1 PDF

PDF

PY hash.py Data Structures: Hash functions and hash tables
19 May 11 PDF

PDF
PY generators.py Generators for streams


Text: grammars (again)
20 May 15 PDF PY cyk.py CYK parsing algorithm for context free grammars
21 May 18 PDF PY huffman_comp.py Text compression: Huffman algorithm
22 May 22 PDF PY LZ.py Text compression: Lempel-Ziv algorithm
23 May 25 PDF PY ID_ERR.py
PY Hamming_dist.py
PY repetition_decode.py
Error Detection and Correction Codes
24 May 29

PDF
PY Hamming743.py


PY images_with_PIL.py
BIT guess.bmp
Error Detection and Correction Codes - cont. (appear in the slides of Lecture 23)



Digital Image Representation and Processing
25 Jun 1 PDF


PDF
PY noise.py
BIT square.jpg
Image noise reduction



Summary, the exam, and more
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License