Recitation notebooks for the course Extended Introduction to Computer Science with Python. The course is given as a first CS course to undergraduate CS students on the first or second semester of the first year of their studies towards a BSc. in Computer Science.
- Recitation 1: variables, operators, flow control
- Recitation 2: input, Collatz Conjecture, lists, functions
- Recitation 3: diviors, timing operations, binary system, base conversion, Python's memory model
- Recitation 4: time complexity, Big O notation, primality testing, Diffie-Hellman key exchange
- Recitation 5: object-oriented programming, recursion
- Recitation 6: recursion, quicksort
- Recitation 7: lambda expression, high-order functions, Matrix class, file handling
- Recitation 8: hash functions, hash tables, finding repeating substrings
- Recitation 9: linked list, iterators, generators
- Recitation 10: Rabin-Karp algorithm for string matching
- Recitation 11: Huffman code
- Recitation 12: LZ compression
- Recitation 13: image processing, denoising algorithms
- Recitation 14: error detection and correction
The recitation notebooks are written with IPython Notebook 0.13 and Python 3.2. Some of the notebooks require external packages like NumPy and Matplotlib.
The recitation notebooks are available under the CC BY-SA 3.0 license.
If you require a different license please contact Yoav.