Lecture Presentations 2015b
Number Lecture Date Presentation Codezzzzzzzzzzzzzzzzzzzzzz Last Updated Topics zzzzzzzzzzzzzzzzzzzzzz
1 8 March PDF Course administration; Python basics
2 11 March PDF 10 March 13:10 Python basics (conditionals, iteration, lists)
3 15 March PDF PY PY PY Iteration over lists and strings; slicing; functions; mutable and immutable classes; equality vs. identity; Python's memory model.
4 18 March PDF More on functions ; Integers and their representation: Unary, binary, and other bases
5 22 March PDF PY PY PY PY Integer exponentiation; Efficiency of computations. Search (sequential and binary). An explanation of the binary number representation (in Hebrew) can be found here
6 25 March PDF PY PY 25 March 13:00 (small changes only) Basic algorithms and their complexity: Search ; Sort and Merge. The O notation.
7 29 March PDF PY Complexity and the O notation, concluded; Lambda expressions. High order functions. Numerical derivatives and integrals. Floating point arithmetic.
8 30 March PDF

Executions in class:
txt TXT
13:00 15:00
Finding roots of real valued functions: Newton-Raphson method.

Software testing, code styling.
9 12 April PDF PY PY PY 12 April 21:00 (small typos in slides #10,22,23) Recursion 1: Fibonacci, factorial, binary search, quicksort
10 15 April PDF PY PY PY Recursion 2: Mergesort, Hanoi towers, memoization
11 19 April PDF PDF PY PY PY Slight modifications, April 20 Recursion 3: Hanoi towers monster, tail recursion, Ackermann function. Number theoretic algorithms: Factoring by trial division; Probabilistic primality testing.
12 26 April PDF PY PY updated April 28: Added proof of Fermat's little theorem (for reference only) Probabilistic primality testing; Diffie Hellman key exchange; Integer gcd — Euclid's algorithm
13 29 April PDF PY PY PY
Executions in class:
txt TXT
13:00 15:00
April 30 (line.py: the setters were fixed, no return statement) Intro to object oriented programming (OOP); Data Structures: Linked Lists
14 3 May PDF PY PY PY
See printree.py in lecture 21
The game of Munch! : Recursive code, and a proof that player 1 can win; Detecting cycles in linked lists; Additional linked objects: Binary trees and search trees
15 6 May PDF PY
Executions in class:
txt TXT
13:00 15:00
Hash functions and hash tables
16 10 May PDF PDF PY PY PY PY BIT BIT Part a: Generators and iterators. Part b: Digital images representation and processing
17 13 May PDF PY BIT
Executions in class:
txt TXT
13:00 15:00
Image Noise Reduction (cont.): using previous lecture slides. Segmentation.
18 17 May PDF PY PY PY PY PY PY PY Characters and Text Representation, Letter Frequencies in Text; String Matching
19 20 May PDF PY PY PY PY PY updated May 21 (DFA removed, Pollard's Rho "for reference only") String Matching; Eight Queens; More Iterators; Factoring Integers Using Pollard's Rho Algorithm
20 31 May PDF PDF PY PY May 28 introduction to text compression; Huffman code
21 3 June PDF PY PYtxt txt PY PY PY
TXT log
PY printree (thanks to Amitai Cohen)
Lempel-Ziv text compression
22 7 June PDF PY PY Introduction to error correction and detection codes; Parity bit, repetition code, Israeli ID check digit; Hamming Distance
23 10 June PDF PY Introduction to error correction and detection codes (cont.); Hamming code.
24 14 June PDF PY PY Undecidability of the halting problem; Secret sharing; Visual secret sharing.
25 18 Jan PDF PY Limitations of Computation; N body gravitational systems; Conclusion, recap
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License