You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 5, 2023. It is now read-only.
Specjalnie robić błędy, ale tak, żeby to wyglądało "naturalnie". Chodzi o to, żeby przypadkiem nie stworzyć takiego wrażenia, że oni nie mogą programować bo im wyskoczył błąd. Pokazać, że kiedyś każdy z nas się myli i co trzeba zrobić, aby ten błąd zidentyfikować i znaleźć.
Robić wszystko powoli.
Idea Huberta: wszystkie materiały po angielsku?
1. Why Python? A guessing game.
Zainteresowanie tematem programowania, Pythona, ML i naszego koła Machine Learning (np.: za aktywność w kole się dostaje punkty, uczymy Pythona teraz, a nie na 5 semestrze, chociaż jest potrzebny wcześniej).
Google Colab
Typy zmiennych: int, float, string, bool; przekształcania pomiędzy typami.
Działania na liczbach (imo warto pokazać różnicę pomiędzy operatorami ^ i **, może również pokazać jak się zapisuje liczby binarne 0b0101 oraz szesnastkowe 0x0101).
Porównywanie liczb lub tekstu (imo warto pokazać wielokrotne porównanie (0 > -5 < -3) == (0 > -5 and -5 < -3)).
Konstrukcja if: ... elif: ... else: ....
Konstrukcja while: ... i break.
2-3. What is python doing? (snake game, 2 parts)
Cześć 1
Instalacja Python i środowiska
Python skrypt (a nie notatnik)
Tworzenie własnej klasy, importowanie własnych modułów.
OOP
Funkcja
Lista
UI
Część 2
Zebranie wszystkich elementów w całkowity projekt
4. How to build an optimal PC? (data analysis project)
Jeżeli w skrócie, to jakie komponenty wybrać, żeby proporcja jakość/cena była jak największa.
instalacja modułów za pomocą pip
podstawy Pandas,
podstawy Jupyter Lab
Pobieranie danych z internetu (może API, zależy jakie będzie źródło danych)
Wstępne przygotowanie/czyszczenie danych
Wizualizacja danych (matplotlib)
Tworzenie podstawowych wniosków
5. How to write fast Python code?
Wykorzystanie gotowych funkcji numpy
Tworzenie własnych funkcji wektorowych (map, pd.Series.apply, np.vectorize)
Szybkie proste funkcji za pomocą biblioteki Numba
Code profiling
(jeżeli będzie czas) CUDA + Numba
6. None
Nie wiem co wybrać, ale mam takie pomysły:
ML projekt (od zera, bez wykorzystania gotowych modułów ML, tylko numpy). Nie wiem czy wystarczy czasu na taki projekt. Chyba, że zrobić 7 zajęć / wyrzucić jakiś inny temat.
Coś za pomocą Raspberry Pi (poprosić w Salacha). Ale czy jest sens? Przecież i tak będą to robić na 2 roku? Czy tam już nie będzie Salacha (słyszałem, że 1 rok teraz miał ELIAKi z kimś innym)?
Jak korzystać z managerów paczek (conda, mamba, poetry, virtualenv). Bardzo przydatny temat, ale trochę nudny i może nie wartuję całego zajęcia (przecież tylko wytłumaczyć po co są potrzebne dependencies i wirtualne środowiska; pokazać jak korzystać z tych paczek).
Ogólne zalecenia
1. Why Python? A guessing game.
^i**, może również pokazać jak się zapisuje liczby binarne0b0101oraz szesnastkowe0x0101).(0 > -5 < -3) == (0 > -5 and -5 < -3)).if: ... elif: ... else: ....while: ...ibreak.2-3. What is python doing? (snake game, 2 parts)
Cześć 1
Część 2
4. How to build an optimal PC? (data analysis project)
Jeżeli w skrócie, to jakie komponenty wybrać, żeby proporcja jakość/cena była jak największa.
pip5. How to write fast Python code?
6. None
Nie wiem co wybrać, ale mam takie pomysły: