Wprowadzenie
Nauczymy się C++ w Visual Studio Code. Poznamy zmienne, pętle, metody, instrukcje warunkowe i wskaźniki. Stworzymy aplikacje i gry. Nauczymy się wykorzystywać bibliotekę Raylib oraz korzystać z GitHub. Z ChatGPT, Gemini i GitHub Copilot nauczymy się logicznego myślenia i szukania rozwiązań krok po kroku. Wykorzystamy AI do grafiki (Canva AI, DALL·E) i muzyki (Suno, ElevenLabs).
Program kursu
1Lekcja 1. Wstęp do języka C++
Celem lekcji jest omówienie środowiska Visual Studio Code, sposobu działania komputera i
języków programowania, bibliotek conio.h i stdio, oraz formatowania tekstu.
2Lekcja 2. Zmienne i stałe
Celem lekcji jest przedstawienie pojęcia zmiennych i sposobu ich przechowywania w
pamięci komputera. Omówione zostaną typy zmiennych, oraz proces rzutowania.
3Lekcja 3. Operacje matematyczne i logiczne
Celem lekcji jest poznanie podstawowych operacji wykonywanych przez komputer,
zarówno matematycznych jak i logicznych. Wprowadzone zostanie pojęcie operacji
bitowych.
4Lekcja 4. Instrukcja warunkowa if
Celem lekcji jest wprowadzenie terminu instrukcji warunkowej,
oraz poznanie instrukcji if.
5Lekcja 5. Instrukcja warunkowa if cz2
Zajęcia stanowią kontynuację poprzedniej lekcji.
6Lekcja 6. Switch
Celem lekcji jest poznanie instrukcji warunkowej switch.
7Lekcja 7. Pętle
Celem lekcji jest wprowadzenie pojęcia inkrementacji i dekrementacji, oraz poznanie
typów pętli.
8Lekcja 8. Pętle cz2
Celem lekcji jest praktyczne przećwiczenie poznanych wcześniej zagadnień.
9Lekcja 9. Gra tekstowa RPG
Celem lekcji jest usystematyzowanie oraz powtórzenie poznanych wcześniej zagadnień,
poprzez stworzenie tekstowej gry rpg.
10Lekcja 10. Tablice
Celem lekcji jest wprowadzenie pojęcia tablicy oraz indeksowania.
11Lekcja 11. Funkcje
Celem lekcji jest poznanie i omówienie pojęcia funkcji.
12Lekcja 12. Funkcje cz2
Kontynuacja i przećwiczenie materiału z poprzednich zajęć.
13Lekcja 13. Powtórzenie materiału
Celem lekcji jest podsumowanie zdobytych w trakcie semestru wiadomości.
14Lekcja 14. Wstęp do zaawansowanego C++ - sortowanie
Celem lekcji jest pokazanie praktycznych zastosowań wiedzy zdobytej
w trakcie semestru.
15Lekcja 15. Wstęp do programowania obiektowego cz.1
Celem lekcji jest wprowadzenie uczniów w świat programowania
obiektowego oraz jego podstawowych pojęć. Uczniowie nauczą się
tworzyć proste klasy w języku C++ oraz zrozumieją, dlaczego
programowanie obiektowe jest tak ważne w nowoczesnym
programowaniu.
16Lekcja 16. Wstęp do programowania obiektowego cz.2
Celem lekcji jest zapoznanie uczniów z bardziej zaawansowanymi
pojęciami programowania obiektowego, takimi jak enkapsulacja i
dziedziczenie, oraz zrozumienie roli klas bazowych i klas
pochodnych w C++.
17Lekcja 17. Wstęp do programowania obiektowego cz.3
Celem lekcji jest zapoznanie uczniów z zaawansowanymi pojęciami
programowania obiektowego, takimi jak polimorfizm, polimorfizm
statyczny i dynamiczny oraz wirtualne funkcje w języku C++.
18Lekcja 18. Wstęp do programowania obiektowego cz.4
Celem tej lekcji jest wprowadzenie uczniów w dwa ważne koncepty
programowania obiektowego w języku C++: referencje i destruktory.
Uczniowie będą mieli okazję zrozumieć, jak i kiedy używać tych
elementów w praktycznych zadaniach
19Lekcja 19. Gra konsolowa Papier Kamień Nożyce
Celem lekcji jest utrwalenie wiadomości o programowaniu
obiektowym poprzez implementacje gry papier, kamień, nożyce.
20Lekcja 20. Wskaźniki
Celem lekcji jest przedstawienie wiadomości o wskaźnikach i jak ich
używać w praktyce w C++.
21Lekcja 21. Konsolowa gra rpg z wykorzystaniem programowania obiektowego cz.1
Celem dzisiejszej lekcji jest zaprojektowanie struktury gry “Space
Rescue” oraz wstępne implementowanie gry w kodzie.
22Lekcja 22. Konsolowa gra rpg z wykorzystaniem programowania obiektowego cz.2
Celem lekcji jest kontynuacja projektu.
23Lekcja 23. Konsolowa gra rpg z wykorzystaniem programowania obiektowego cz.3
Celem lekcji jest kontynuacja implementacji gry RPG.
Na zajęciach zaimplementujemy bardziej zaawansowany system walk.
24Lekcja 24. Build and Run
Celem zajęć jest przypomnienie dotychczas zdobytych informacji.
Zadaniem uczestników będzie trzykrotne rozwiązanie tego samego
problemu, za każdym razem wchodząc na coraz wyższy poziom
abstrakcji.
25Lekcja 25. C++ przez lata
Celem lekcji jest utrwalenie wiadomości i wiedzy zdobytej w dwóch
poprzednich semestrach oraz zapoznaniem się z tym czym jest
standard c++
26Lekcja 26. Git Gigant
Celem lekcji jest zapoznanie się z systemem kontroli wersji git.
27Lekcja 27. Praktyczne programowanie
Na lekcji zajmiemy się praktycznym wykorzystywaniem
programowania.
28Lekcja 28. Ręczna alokacja pamięci
Celem lekcji jest szczegółowe zapoznanie się z mechanizmami
zarządzania pamięcią RAM w naszych programach
29Lekcja 29. Struktury danych
Celem zajęć jest samodzielne przygotowanie struktury
danych w c++.
30Lekcja 30. Przeładowanie operatorów
Tematem zajęć będzie operator overloading, zwany
przeładowywaniem operatorów. Jest to jeden z bardziej
zaawansowanych tematów związanych z programowaniem
obiektowym w c++.
31Lekcja 31. Operator Overloading integracja
Tematem zajęć jest integracja, czyli połącznie rzeczy,
których nauczyliśmy się do tej pory, dzisiaj zintegrujemy operator
overloading i własne struktury danych. W ten sposób wprowadzimy
do naszej specjalnej struktury danych możliwość adresowania
elementów przez nawiasy kwadratowe, oraz łączenie struktur.
32Lekcja 32. Wstęp do rayliba – metoda Monte Carlo
Tematem zajęć jest wprowadzenie do biblioteki
graficznej raylib. Przy okazji po raz kolejny będziemy mieli do
czynienia z praktycznymi zastosowaniami programowania,
zajmiemy się przybliżaniem liczby PI, wykorzystamy w tym celu metodę Monte Carlo.
33Lekcja 33. Gigant mony
Celem lekcji jest rozpoczęcie projektu Gigant monów, gry która
będzie przypominać klasyczne Pokemony.
34Lekcja 34. Gigant mony część 2
Celem lekcji jest zaimplementowanie klasy Poks oraz systemu
walki
35Lekcja 35. Gigant mony część 3
Celem lekcji jest rozwinięcie gry z wykorzystaniem function
pointerów. Na dzisiejszej lekcji przygotujemy klasę Poks w taki
sposób, aby każdy potworek mógł atakować w unikalny sposób.
36Lekcja 36. Powtórzenie wiadomości oraz wstęp do kursu Hacking i Cyberbezpieczeństwo
Celem dzisiejszych zajęć jest praca samodzielna, powtórzenie i utrwalenie wiadomości przez uczniów. Na zajęciach pokażemy również przykładowe tematyki ze specjalizacji Hacking i Cyberbezpieczeństwo.

