Skip to content
This repository was archived by the owner on Feb 5, 2023. It is now read-only.
This repository was archived by the owner on Feb 5, 2023. It is now read-only.

Tematy spotkań #1

@FrightenedFox

Description

@FrightenedFox

Ogólne zalecenia

  • 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).

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions