Zajęcia do końca epidemii COVID-19 w trybie on-line
Polecane podręczniki (płatne :-():
"Effective Python" by Brett Slatkin
"Introduction to Computation and Programming Using Python" by John V. Guttag
Polecane zasoby (darmowe :-)):
[http://openbookproject.net/thinkcs/python/english3e/]
[http://runestone.academy/runestone/books/published/thinkcspy/index.html]
[http://stackoverflow.com]
Polecane interpretery Python3 dostępne z poziomu przeglądarki:
[https://colab.research.google.com/]
[https://www.onlinegdb.com/]
[https://repl.it/languages/python3]
[https://www.w3schools.com/python/python_compiler.asp]
Polecane inne kursy:
"Introduction to Computer Science and Programming in Python", Ana Bell (MIT, OpenCourseWare)
Zasady oceniania:
ocena na podstawie aktywności na ćwiczeniach i projektów zaliczeniowych
| Wykład 1 | 2021-03-10 9:15—11:00 zoom |
|---|
- rekurencja
- zamiana na rozwiązanie iteracyjne
- rekurancja z zapamiętywanie
- rozwiązanie przez użycie dekoratorów
Ćwiczenia https://colab.research.google.com/drive/1VbEpNQOxde6Hm9XI8uvCFUBh5iQlaYcj
Polecam: Lex Fridman, rozmowa z Guido van Rossumem (twórcą Pythona)
| Wykład 2 | 2021-03-17 9:15—11:00 zoom |
|---|
- rekurencja vs iteracja
- programowanie dynamiczne
- znajdowanie najdłuższego rosnącego podciągu
- algorytm Smitha-Watermana
Ćwiczenia https://colab.research.google.com/drive/1VbEpNQOxde6Hm9XI8uvCFUBh5iQlaYcj
Polecam #1: https://www.youtube.com/watch?v=belS2Ek4-ow
Polecam #2: https://www.youtube.com/watch?v=KN2TTiGpDvM
| Wykład 3 | 2021-03-24 9:15—11:00 zoom |
|---|
- programowanie dynamiczne, cd
- algorytm Smitha-Watermana, cd
- przewidywanie struktury drugorzędowej RNA
| Wykład 4 | 2021-03-31 9:15—11:00 zoom |
|---|
| Wykład 5 | 2021-04-07 9:15—11:00 zoom |
|---|
| Wykład 6 | 2021-04-14 9:15—11:00 zoom |
|---|
| Wykład 7 | 2021-04-21 9:15—11:00 zoom |
|---|
- szybkie potęgowania (x^N używając log2N mnożeń)
- schemat Hornera (efektywne obliczanie wartości wielomianu)
- ciekawostka: mnożenie liczb zespolonych
| Wykład 8 | 2021-04-28 9:15—11:00 zoom |
|---|
- algorytm Strassena i Coopersmitha-Winograda (mnożenie macierzy szybsze niż N3)
- rozkład Choleskiego macierzy
- szybkie (N3) obliczanie wyznacznika
| Wykład 9 | 2021-05-05 15:15—16:00 zoom |
|---|
- Dyskretna transformata Fouriera — złożoność N2
- algorytm mergesort
- algorytm Szybkiej Transformaty Fouriera (FFT) — złożoność N log2N
| Wykład 10 | 2021-05-19 15:15—16:00 zoom |
|---|
- iteratory i generatory
- instrukcja yield
- wyrażenia generatorowe
| Wykład 11 | 2021-05-26 15:15—16:00 zoom |
|---|
- obsługa wyjątków
- instrukcje try i except
- przyklady
| Wykład 12 | 2021-06-02 15:15—16:00 zoom |
|---|
- Python jako język refleksyjny — instrukcje eval i exec
- Programy piszące "programy" — sprowadzanie do problemów SAT
- biblioteki pycosat i pysat
| Projekty zaliczeniowe |
|---|