Number |
Lecture Date |
Presentation |
Codezzzzzzzzzzzzzzzzzzzzzz |
Last Updated |
Topics zzzzzzzzzzzzzzzzzzzzzz |
1 |
18 Oct |
|
|
15 Oct |
Course administration; Python basics |
2 |
21 Oct |
|
Executions in class:
10:00 12:00 |
20 Oct |
Python basics (conditionals, iteration, lists) |
3 |
25 Oct |
|
|
26 Oct fixed typos in #7, #13 |
Iteration over lists and strings; slicing; functions; mutable and immutable classes; equality vs. identity; Python's memory model. |
4 |
28 Oct |
|
Executions in class:
10:00 12:00 |
26 Oct |
More on functions and Python's memory model; Integers and their representation: Unary, binary, and other bases |
5 |
1 Nov |
|
|
30 Oct |
Integer exponentiation; Efficiency of computations. Search (sequential and binary). |
6 |
4 Nov |
|
|
2 Nov |
Basic algorithms and their complexity: Search ; Sort and Merge. The O notation. |
7 |
8 Nov |
|
|
6 Nov |
Lambda expressions. High order functions. Numerical derivatives and integrals. Floating point arithmetic. Finding roots of real valued functions. |
8 |
11 Nov |
|
Executions in class:
10:00 12:00 |
|
Finding roots of real valued functions: Newton-Raphson method.
Intermediate summary, Software testing, code styling. |
9 |
15 Nov |
|
|
12 Nov |
Recursion 1: Fibonacci, factorial, binary search, quicksort |
10 |
18 Nov |
|
|
16 Nov |
Recursion 2: Mergesort, Hanoi tower. (One hour) |
11 |
22 Nov |
|
|
19 Nov |
Recursion 3: Hanoi towers, memoization (using slides from lecture 10), Hanoi towers monster, tail recursion, Ackermann function. |
12 |
25 Nov |
|
|
23 Nov |
Number theoretic algorithms: Factoring by trial division; Probabilistic primality testing. Diffie Hellman key exchange |
13 |
29 Nov |
|
|
Nov 27 |
Integer gcd — Euclid's algorithm; Intro to object oriented programming (OOP) |
14 |
2 Dec |
|
|
Dec 1 |
Data structures: linked lists, binary trees and binary search trees |
15 |
6 Dec |
|
|
Dec 3 |
Binary trees and binary search trees (using slides from last lecture); Hash functions and hash tables |
16 |
9 Dec |
|
|
Dec 7 |
Hash functions and hash tables (cont.)
Back to recursion: the 8 queens problem |
17 |
16 Dec |
|
|
15 Dec |
Generators and iterators. Introduction to Digital images representation and processing |
18 |
20 Dec |
|
|
|
Digital images representation and processing: Image Noise Reduction; Segmentation. |
19 |
23 Dec |
|
Executions in class:
10:00 12:00 |
|
Characters and Text Representation, Letter Frequencies in Text; String Matching |
20 |
27 Dec |
|
|
Dec 24 |
String Matching (continue - using slides from last lecture); introduction to text compression; Huffman code |
21 |
30 Dec |
|
Executions in class:
10:00 12:00 |
Dec 29 |
Huffman code (cont., using slides from last lecture), Lempel Ziv text compression |
22 |
3 Jan |
|
|
Dec 31 (text files added Jan 2) |
Lempel Ziv text compression (cont., using slides from last lecture). Introduction to error correction and detection codes; Parity bit, repetition code, Israeli ID check digit; Hamming Distance |
23 |
6 Jan |
|
|
Jan 4 |
Error correction and detection codes (cont.): repetition code, parity bit, Hamming (7,4,3) code |
24 |
10 Jan |
|
|
Jan 8 |
Error correction and detection codes (cont.): Hamming (7,4,3) code (using slides from last lecture). More generators. Undecidability of the halting problem. |
25 |
13 Jan |
|
|
Jan 12 |
Summary: overview of CS notions learned in the course, the P vs. NP problem |
26 |
17 Jan |
cancelled |
|
|
|