Lecture Presentations
Class No. | Date | Slides | Code + additional material | Updated / comments | Topics |
1 | Mar 12 | ![]() ![]() |
![]() |
Install Python: http://tau-cs1001-py.wikidot.com/python | Course administration Python basics |
2 | Mar 15 | ![]() |
![]() |
Python basics (cont.): Boolean values and operators, conditionals, iteration, lists | |
3 | Mar 19 | ![]() |
![]() ![]() |
More Python basics: list comprehension and slicing, functions, Python's memory model | |
4 | Mar 22 | ![]() ![]() |
![]() ![]() |
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 | ![]() ![]() |
Integer Representation Floating point representation |
||
6 | Mar 29 | ![]() ![]() |
![]() ![]() |
Floating point representation (see slides from previous class) Types of errors; "Good" programming guidelines Randomness |
|
7 | Apr 16 | ![]() ![]() |
![]() ![]() |
Randomness (see slides from previous class) Text representation, ASCII and Unicode Basic Algorithms 1: Binary search, Selection sort |
|
8 | Apr 19 | ![]() |
![]() |
Basic Algorithms 2: selection sort (cont), merging sorted lists Introduction to Complexity and the O() notation |
|
9 | Apr 23 | ![]() ![]() |
![]() ![]() ![]() |
More on complexity Recursion - Part 1: factorial (n!), Fibonacci, recursive binary search, Quicksort |
|
10 | Apr 30 | ![]() |
![]() ![]() ![]() |
Recursion - Part 2: Quick-Sort, Merge-Sort, Towers of Hanoi |
|
11 | May 7 | ![]() ![]() |
![]() ![]() |
![]() |
Recursion - Part 3: Monster of Hanoi (using last lecture slides) Memoization The game of Chomp! |
12 | May 10 | ![]() |
![]() |
Recursion - Part 4: The game of Chomp! Integer Exponentiation |
|
13 | May 14 | ![]() |
![]() |
Integer Exponentiation (cont.) Randomized primality testing |
|
14 | May 17 | ![]() |
![]() |
Prime numbers (cont., using the slides of Lecture 13) Diffie-Hellman key exchange |
|
15 | Jun 7 | ![]() ![]() |
![]() ![]() |
Intro to Object Oriented Programming (OOP) Data structures: Linked lists |
|
16 | Jun 11 | ![]() |
![]() ![]() |
Data Structures: Linked lists (using slides from prev lecture) Data Structures: Binary Search Trees |
|
17 | Jun 14 | ![]() ![]() |
![]() |
Data Structures: Binary search trees (using slides from prev lecture) Data Structures: Hash functions and hash tables |
|
18 | Jun 18 | ![]() |
![]() |
Text compression: Huffman algorithm | |
19 | Jun 21 | ![]() |
![]() ![]() |
Text compression: Lempel-Ziv algorithm | |
20 | Jun 22 | ![]() |
![]() ![]() ![]() |
Error Detection and Correction Codes (part 1) | |
21 | Jun 25 | ![]() |
Error Detection and Correction Codes (part 2) Summary, the exam, and more |