Lectures
Overview
Introduction to Python
Sequences and loops
Functions, procedures, and effects
List comprehension
Dictionaries
Generics
Pattern matching
Recursion
Higher order functions
Dataclasses
Functional programming
Tutorials and Practicals
Getting started
[
sources
]
Simple functions and conditional branching
Working with lists
Lists, Exceptions, Strings
Dictionaries, Recursion
[
sources
]
List comprehension
[
sources
]
Higher order functions
[
sources
]
Structural Pattern Matching (tutorial)
[
sources
]
Structural Pattern Matching (Quick Intro)
[
sources
]
Recursion on lists
[
sources
]
Binary Trees
[
sources
]
Part I: Abstract Syntax Trees
[
sources
]
Part I: Python ast module
[
sources
]
Part I: Dynamic typing
[
sources
]
Part I: Static typing
[
sources
]
Part II: Design-by-contract
[
sources
]
Part II: A simple PBT framework
[
sources
]
Part II: Python libraries for testing
[
sources
]