View Code? Open in Web Editor
NEW
This project forked from spbau-programmingparadigms/materials
Course materials :octocat:
License: The Unlicense
Emacs Lisp 0.05%
Python 7.55%
Makefile 0.62%
C 4.74%
Haskell 2.32%
Assembly 0.71%
C++ 0.18%
PLpgSQL 83.37%
Rust 0.47%
materials's Introduction
- slides
- built-in types
- conditionals
- functions
- data-structures: lists, tuples, dicts, sets
- list/dict/set comprehensions
- slides
- idioms
- *args, **kwargs
- modules: sys.path, standard library
2. Python. numpy. OOP intro.
- slides
- generators
- numpy
- exceptions
- classes, inheritance
3. Python. OOP. Operator overloading.
- slides
- __magic_methods__
- arithmetic
- comparison
- callable
- context management
4. Python. Design patterns.
- slides
- McDonalds (decorators)
- Sun (singleton, builder)
- Google (iterator)
- Blizzard (visitor)
5. Number representations.
- slides
- Numeral system (decimal, hex, binary)
- Two's complement
- IEEE 754
6. Haskell. Functional Programming intro.
- slides
- built-in types
- pattern matching
7. Haskell. Types and Typeclasses.
8. pthreads. Parallel Programming.
- slides
- pthread_*
- race conditions, deadlocks
- mutexes, cond variables
- slides
- ISA
- calling convention
- registers, basic instructions
- c++ to asm
10. sql. Declarative Programming.
- slides
- sqlite3
- basics: select, aggregate, where
- group by
- joins
11. git. Version Control System.
- slides
- git internals
- branches
- merge
- undo
- rewriting history
- debugging
- magit
- github workflow
12. rust. Ownership and Borrowing.
- slides
- ownership
- borrowing
- traits