Lecture Presentations 2014b

Number | Lecture Date | Presentation | Codezzzzzzzzzzzzzzzzzzzzzz | Last Updated | Topics zzzzzzzzzzzzzzzzzzzzzz |
---|---|---|---|---|---|

1 | 16 Feb | Course administration; Python basics | |||

2 | 19 Feb | Python basics (conditionals, iteration, lists) | |||

3 | 23 Feb | 23 Feb., 7pm | Iteration over lists and strings; slicing; functions; mutable and immutable classes; equality vs. identity; Python's memory model. | ||

4 | 26 Feb | Functions, side effects and the memory model; Integer representation: Unary, binary, and other bases | |||

5 | 2 March | 4 March, 11am | Integer exponentiation; Search: sequential and binary search. An explanation of the binary number representation (in Hebrew) can be found here | ||

6 | 5 March | Basic algorithms: Binary search (reminder), Selection sort, Merge; Complexity and the O notation. | |||

7 | 8 March | 8 March, 11pm | Lambda expressions. High order functions. Numerical derivatives and integrals. Floating point arithmetic. Finding roots of real valued functions. | ||

8 | 12 March | Finding roots of real valued functions: Newton-Raphson method. Software testing, IDLE debugger, code styling. |
|||

9 | 17 March | Software testing, IDLE debugger, code styling (remains from lecture 8). Randomized primality testing: the bottle coin is your friend. |
|||

10 | 23 March | modified March 24, 4pm | Randomized primality testing, recapping. Encryption. The discrete logarithm problem. Diffie-Hellman exchange of secret key over a public network. Integer greatest common divisor. | ||

11 | 26 March | pdf updated March 27 | Recursion 1: Fibonacci, factorial, binary search, quicksort | ||

12 | 29 March | Recursion 2: Merge sort, towers of Hanoi, towers of Hanoi nightmare, tail recursion. | |||

13 | 2 April | Recursion 3: memoization, 8 queens | |||

14 | 6 April | Slides 34-35: Fixed Munch! recursion. (April 17). Removed linked list slides that were not actually covered in the lecture (April 26). Slide 34: "at most" (June 7) | Intro to object oriented programming. Munch! Data structures: Linked lists |
||

15 | 23 April | Data Structures: linked lists and trees | |||

16 | 27 April | Data Structures: Hash functions and hash tables. | |||

17 | 30 April | pdf updated May 2 with minor fixes | More data structures: Cuckoo Hashing, Finite and Infinite Iterators, generators. Note: We did not cover slides 48 onward. Slides 48-49 (merging infinite iterators) show another good example for iterators, and we recommend going over them. Slides 50-end (exception handling) are not in the material for the exam. |
||

18 | May 4 | Characters and Text Representation: Ascii and Unicode. Letter Frequencies in Text. String matching. | |||

19 | May 7 | String matching: DFA Huffman Compression |
|||

20 | May 11 | minor changes in IDLE outcomes of slides 16, 52 (May 11) | Compression: Huffman, codebook, intro to Ziv-Lempel | ||

21 | May 14 | Digital image representation and processing, noise reduction Download Pillow: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil |
|||

22 | May 18 | pdf updated 20/5 | More digital image processing: noise reduction, edge detection (segmentation is for reference only - not for the exam). log file contains executions done in the later lecture (but very similar to the earlier log). |
||

23 | May 21 | |
LZ compression | ||

24 | May 25 | Introduction to error correction and error detection codes Popular exposition: http://www.csunplugged.org.il/lessons/error-correcting.html |
|||

25 | May 28 | Geometric bounds for error correction and error detection codes. Hamming (7,4,3) code. Integer greatest common divisor. Euclid's algorithm. |
|||

26 | Jun 1 | Integer greatest common divisor. Euclid's algorithm. Exercise on error detection and correction |
|||

27 | Jun 8 | pdf updated 8/6 | An old debt: cycles in linked lists Recap on computational problems, algorithms and complexity (we did not have time for slides 37-44 and 48-52). |
||

28 | June 11 | Graphs, maps, and coloring. Popular exposition: http://www.csunplugged.org.il/lessons/graph-theory.html . The halting problem is undecidable. Concluding remarks. |