Wprowadzenie
Kurs ten to okazja do poznania języka używanego przez zawodowych programistów. Poznając język programowania Python, uczniowie zostają wprowadzeni w terminologię stosowaną powszechnie w środowisku IT, uczą się pisać własny kod i tworzyć swoje programy i gry z wykorzystaniem biblioteki pygame.
Uczniowie, w trakcie zajęć poznają m.in. takie zagadnienia jak klasy i wyjątki - ich elementy i zastosowanie i stworzą własne projekty w języku Python.
Podczas kursu poznamy przydatne narzędzia AI, które wspomogą naszą pracę i naukę.
Program kursu
1Lekcja 1. Wstęp do Python'a
Celem lekcji jest stworzenie pierwszego programu w języku programowania Python oraz zapoznanie się ze środowiskiem Visual Studio Code.
2Lekcja 2. Zmienne i operacje matematyczne
Celem lekcji jest zapoznanie się z pojęciem zmiennych i poznanie ich najważniejszych rodzajów: int, float, bool, string. Poznamy również najczęściej stosowane operatory arytmetyczne i operacje matematyczne.
3Lekcja 3. Operacje i funkcje matematyczne
Celem lekcji jest poznanie podstawowych operacji matematycznych na zmiennych oraz
prostych funkcji matematycznych wbudowanych w Pythona.
4Lekcja 4. Operatory relacyjne i logiczne, typ boolean
Celem lekcji jest zapoznanie się z operatorami relacyjnymi (np. porównania, mniejszości) i
logicznymi (np. koniunkcji, alternatywy, zaprzeczenia) oraz szersze zapoznanie z typem logicznym
boolean.
5Lekcja 5. Instrukcje warunkowe cz 1
Celem lekcji jest przedstawienie zagadnienia instrukcji warunkowych – ich tworzenia, składni i zastosowania.
6Lekcja 6. Instrukcje warunkowe cz. 2
Celem lekcji jest dalsze zgłębienie tematu instrukcji warunkowych – odpowiedni ich wybór, zagnieżdżanie, bardziej złożone konstrukcje warunkowe.
7Lekcja 7. Pętle cz. 1
Celem lekcji jest wprowadzenie do tematu pętli. Poznamy pętle for i while, ich użycie, oraz omówimy zastosowanie.
8Lekcja 8. Pętle cz. 2
Celem lekcji jest głębsze poznanie tematu pętli. Nauczymy się zagnieżdżania pętli oraz iterowania po obiektach.
9Lekcja 9. Listy
Celem lekcji jest poznanie zagadnienia list. Nauczymy się jak tworzyć listy, co może być elementem listy, do czego są stosowane i jak na nich działać/operować.
10Lekcja 10. Funkcje cz. 1
Celem lekcji jest zapoznanie z zagadnieniem funkcji – po co używamy funkcji? Do czego są nam potrzebne? Jak budować funkcje? Jak z nich efektywnie korzystać?
11Lekcja 11. Funkcje cz. 2
Zajęcia stanowią kontynuację dla poprzedniej lekcji.
12Lekcja 12. Wstęp do pygame
Celem lekcji jest wprowadzenie do modułu pygame oraz przygotowanie pierwszej aplikacji okienkowej.
13Lekcja 13. Pygame c.d.
Celem lekcji jest kontynuacja pracy w module pygame.
14Lekcja 14. Powtórzenie wiadomości
Celem lekcji jest podsumowanie zdobytych wiadomości podczas semestru.
15Lekcja 15. Problemy programisty
Celem lekcji jest utrwalenie wiadomości zdobytych na kursie oraz ćwiczenie umiejętności samodzielnego dobierania narzędzi do rozwiązania przedstawionego problemu. Na lekcji uczniowie zmierzą się z najbardziej ikonicznymi problemami programisty.
16Lekcja 16. Symulator bankomatu
Celem lekcji jest stworzenie programu imitującego działanie bankomatu, wykorzystującego całą wiedzę jaką kursanci zdobyli podczas wcześniejszych zajęć.
17Lekcja 17. Inteligentny Kalkulator
Celem lekcji jest utrwalenie wiadomości zdobytych na kursie poprzez stworzenie programu, który przekształci zwykłe zdanie w działanie matematyczne, np.: “trzy plus dwa” przekształci na “3+2” oraz poda wynik działania.
18Lekcja 18. Gramy w kości - Yahtzee
Celem lekcji jest utrwalenie wiadomości zdobytych na kursie poprzez stworzenie gry Yahtzee.
19Lekcja 19. Powtórzenie materiału
Lekcja przeznaczona na powtórzenie wiadomości z semestru pierwszego. Przypomnimy takie elementy jak: zmienne i operacje na nich, instrukcje warunkowe, pętle oraz funkcje
20Lekcja 20. Wstęp do programowania obiektowego (klasy,obiekty)
Na tej lekcji dowiemy się czym są klasy i obiekty, oraz w jakich przypadkach warto z nich korzystać w programowaniu. Dowiemy się jak tworzyć własne obiekty, ich funkcje oraz zmienne.
21Lekcja 21. Konstruktor
Celem lekcji jest kontynuacja nauki o klasach. Omówimy konstruktor klasy oraz różnice między zmiennymi powiązanymi z obiektem a klasą.
22Lekcja 22. Dziedziczenie
Na tej lekcji poznamy mechanizm dziedziczenia klas oraz jak z niego korzystać.
23Lekcja 23. Powtórka z programowania obiektowego
Stworzymy prostą grę tekstową RPG, gdzie przy wykorzystaniu klas dodamy do niej przeciwników mających unikalne zdolności.
24Lekcja 24. Kreator postaci cz. 1
Celem projektu będzie napisanie mini gry przy użyciu biblioteki Pygame gdzie gracz będzie mógł z różnych mniejszych elementów, takich jak wygląd twarzy, fryzura czy ekwipunek, stworzyć własną postać.
25Lekcja 25. Kreator postaci cz. 2
Zajęcia stanowią kontynuację tematu realizowanego na poprzedniej lekcji.
26Lekcja 26. Gra Snake cz. 1
Celem zajęć będzie odtworzenie kultowej gry Snake. W tym projekcie użyjemy wiedzy na temat klas, aby stworzyć grę Snake przy użyciu biblioteki Pygame.
27Lekcja 27. Gra Snake cz. 2
Zajęcia stanowią kontynuację tematu realizowanego na poprzedniej lekcji.
28Lekcja 28. Gra Snake cz. 3
Zajęcia stanowią kontynuację tematu realizowanego na poprzednich lekcjach.
29Lekcja 29. Gra Arkanoid cz. 1
Celem tego projektu jest stworzenie gry arkanoid, używając poznanych dotychczas elementów języka Python oraz biblioteki Pygame. Gra będzie posiadać wiele poziomów.
30Lekcja 30. Gra Arkanoid cz. 2
Zajęcia stanowią kontynuację tematu realizowanego na poprzedniej lekcji.
31Lekcja 31. Gra Arkanoid cz. 3
Zajęcia stanowią kontynuację tematu realizowanego na poprzednich lekcjach.
32Lekcja 32. Zaawansowane struktury danych
W programowaniu istnieją gotowe struktury danych, takie jak tablice czy listy, jednak czasami potrzebujemy stworzyć własną strukturę dostosowaną do naszych potrzeb. Na tym spotkaniu dowiemy się, jak to zrobić.
33Lekcja 33. Budowanie i analiza algorytmów
Algorytmy są narzędziem, które pomaga w rozwiązywaniu różnych problemów. W programowaniu istnieją gotowe algorytmy, jednak czasami potrzebujemy stworzyć własne, dostosowane do naszych potrzeb. W tym spotkaniu dowiemy się, jak budować i analizować algorytmy, aby lepiej radzić sobie z różnymi problemami programistycznymi.
34Lekcja 34. Słowniki i json
Celem zajęć jest zdobycie informacji na temat słowników. Ponadto przedstawione
zostaną metody, z których korzystać można pracując ze słownikami.
Przedstawiony zostanie również format pliku .json, oraz sposób przejścia ze
słownika na json i na odwrót.
35Lekcja 35. Metody list
Celem zajęć jest powtórzenie zagadnień dotyczących list, oraz poznanie metod
pozwalających na ich modyfikacje.
36Lekcja 36. Inne struktury danych
Celem zajęć jest poznanie struktur krotek i zbiorów oraz przedstawienie
podobieństw i różnic między poznanymi strukturami danych (słowniki, listy, zbiory,
krotki).
37Lekcja 37. List comprehensions i obsługa wyjątków
Na zajęciach uczestnicy zapoznają się z zagadnieniem list comprehensions.
Wyjaśnione zostanie również pojęcie wyjątku oraz przedstawiony zostanie sposób
ich obsługi.
38Lekcja 38. Oferta biura podróży - generowanie pdf
Celem zajęć jest zapoznanie uczestników z koncepcją środowisk wirtualnych oraz
nauka generowania plików .pdf za pomocą biblioteki fpdf2.
39Lekcja 39. Numeryczny Python - biblioteka numpy
Celem zajęć jest zapoznanie uczniów z podstawową biblioteką do obliczeń
numerycznych - numpy.
40Lekcja 40. Przetwarzanie obrazów
Celem zajęć jest przedstawienie uczniom zagadnienia przetwarzania obrazów oraz
zapoznanie z najpopularniejszymi bibliotekami wykorzystywanymi w tym procesie.
41Lekcja 41. Regex - wyrażenia regularne
Na zajęciach przedstawione zostanie zagadnienie wyrażeń regularnych oraz biblioteka re.
42Lekcja 42. Travelinator - inteligentny asystent podróży część 1
Na lekcji dowiemy się w jaki sposób dokonać prostego montowania filmów w pythonie - przyśpieszenia, spowolnienia, obcięcia fragmentu lub nałożenia filtru na fragment filmu.
43Lekcja 43. Travelinator - inteligentny asystent podróży część 2
Na zajęciach dokończymy tworzenie Travelinatora oraz zmodyfikujemy jego formę do
interaktywnego chatbota.
44Lekcja 44. Pokedex
Na zajęciach uczniowie zostaną zapoznani z pojęciem web scrapingu oraz przygotują
plik pdf, zawierający pokedex pokemonów z regionu Kanto. Skorzystają w tym celu z
danych dostępnych na stronie Pokelife.
45Lekcja 45. Testy
Celem lekcji jest zapoznanie uczniów z zagadnieniem testów. Przedstawione zostaną również biblioteki unit test oraz pytest.
46Lekcja 46. Pizzeria - aplikacja do zamówień
Na zajęciach stworzona zostanie aplikacja Pizzerii pozwalająca na złożenie
zamówienia, którego podsumowanie zostanie przesłane na pocztę email.
47Lekcja 47. Python Pulp function
Celem lekcji jest zapoznanie uczniów z wybranymi zaawansowanymi zagadnieniami programowania w Pythonie. Zdobyta wiedza będzie przydatna zarówno w realizacji własnych projektów, podczas rozmów rekrutacyjnych, jak i w trakcie wykonywania zadań konkursowych, takich jak Gigathon🙃
48Lekcja 48. Wstęp do Sztucznej inteligencji
Na zajęciach przedstawimy uczniom specjalizację ze Sztucznej inteligencji, którą mają
możliwość wybrać po aktualnym kursie.

