akademia
kodowania

 

Podstawy programowania blokowego - poziom I

(Kodu Game Lab, Scratch)

kategoria wiekowa 10-12 lat

  1. Wprowadzenie do Kodu Game Lab - Zapoznajemy się programem Kodu Game Lab, omawiamy do czego służą dane narzędzia. Tworzymy pierwszy projekt, który polega na stworzeniu dowolnego świata oraz zaprogramowaniu sterowania wstawionego przez nas obiektu.

  2. Wyścigi -Uczymy się jak programować bota, żeby poruszał się po zadanej przez nas ścieżce. Omawiamy ważne ustawienia postaci, takie jak współczynnik prędkości czy przyspieszenia. W ramach zajęć tworzymy wyścigi z przeciwnikami poruszającymi się po własnych ścieżkach.

  3. Tor z przeszkodami - Tworzymy tor przeszkód wraz z odpowiednio zaprogramowanymi przeszkodami. Uczymy się jak działają elementy takie jak wiatraki lub wyrzutnie rakiet. 

  4. Labirynt - Poznajemy narzędzie “magiczny pędzel”, dzięki któremu można podnosić i opuszczać teren danego rodzaju. Wykorzystując to narzędzie, tworzymy labirynt z przeciwnikami, których zadaniem jest odbieranie graczowi punktów życia. Wygrana następuje po zetknięciu się z elementem oznaczającym metę jednocześnie posiadając odpowiednią liczbę punktów.

  5. Crossy Road - Tworzymy grę Crossy Road, która polega na przejściu przez równoległe drogi pełne przeszkód i ruchomych robotów. Uczymy się jak wykorzystać dźwięki, unieruchomić dowolny element oraz zainicjować wybuch.

  6. Nocna wyprawa - Omawiamy ustawienia świata, takie jak oświetlenie lub niebo, dzięki którym możemy nadać lepszy charakter naszej grze. Na zajęciach tworzymy klimatyczną nocną grę z krążącym światłem wokół gracza.

  7. Transformers - Tworzymy grę, w której nasz obiekt będzie zmieniał swój wygląd w zależności od ustalonych i zaprogramowanych czynników. W momencie zaistnienia warunku będzie następowała zamiana naszego bota w inny obiekt.

  8. Hokej - Tworzymy grę w hokeja, gdzie przeciwnik automatycznie porusza się za krążkiem i przy zderzeniu wyrzuca go w stronę bramki. W programie implementujemy rozbudowany warunek wygranej, mając na uwadze możliwość remisu.

  9. Obrona zamku - Tworzymy grę typu Tower Defense, w której fabryka tworzy klony zaprojektowanych przez nas postaci. Klony poruszają się po wybranej ścieżce i ich zadaniem jest dotarcie do końca planszy. Programujemy przeszkody takie jak wyrzutnie rakiet do obrony zamku.

  10. Platformówka - Tworzymy grę platformową, która polega na przejściu do mety skacząc po platformach o różnych kształtach znajdujących się na różnych wysokościach. Poznajemy nową funkcję pozwalającą na gwałtowne zatrzymanie gracza nawet w powietrzu.

  11. Kodu na sportowo - Tworzymy serię gier sportowych, takich jak skoki narciarskie, rzuty karne oraz piłkę nożną. Każdą grę rozpoczynamy od zaprojektowania odpowiedniego świata, na przykład skoczni czy boiska. Każda gra wymaga programu, który implementuje zasady danej gry.

  12. Żyjące miasteczko - Tworzymy prostą symulację świata rzeczywistego. Korzystając z odpowiednich narzędzi wprowadzamy cykl dnia i nocy oraz możliwość komunikacji z botami, które potrafią samowolnie spacerować po mapie.

  13. Agar.io - lekcja poświęcona popularnej grze agar.io. Tworzymy grę na wzór agar.io w której określamy warunek, kiedy nasz obiekt ma rosnąć punktowo i zjeść przeciwnika, a kiedy to przeciwnik może zjeść nas.

  14. Powtórzenie - Lekcja kończąca serię zajęć z Kodu Game Lab. W ramach zajęć wykonujemy cztery ćwiczenia powtórzeniowe, a na koniec tworzymy własną grę. Projekt będzie zawierał dowolne programy oraz funkcje, których nauczyliśmy się podczas zajęć.  

  15. Projekt własny - Lekcja na której uczestnicy wykorzystując zdobytą wiedzę tworzą swój własny projekt gry. Każdy uczestnik zaprezentuje i omówi stworzoną przez siebie grę.

  16. Wprowadzenie do Scratch - Wprowadzenie do programowania blokowego w Scratch’u. Przeglądamy opcje oraz funkcje środowiska. Piszemy pierwszy program polegający na zjedzeniu sera przez mysz, którego broni kot. W ramach projektu poznajemy podstawowe bloki oraz pętle.  

  17. Malowanie i rysowanie - Poznajemy nowe bloki, które pozwolą nam na korzystanie z funkcji pisaka. Uczymy się jak korzystać z klawiatury oraz w jaki sposób aktywować duszka poprzez kliknięcie.  

  18. Crossy Road - Uczymy się czym są współrzędne w programowaniu oraz w jaki sposób możemy je wykorzystać. W ramach zajęć piszemy grę Crossy Road, która polega na wymijaniu przeciwników w drodze do mety. 

  19. Labirynt - Za pomocą nowo poznanych bloków, uczymy się jak przesyłać między duszkami komunikaty oraz umożliwiamy duszkom reagowanie na kolory za pomocą czujników. W ramach zajęć piszemy prostą grę polegającą na przejściu labiryntu.  

  20. Grawitacja - Na zajęciach omawiamy jak opisać za pomocą bloków mechanizm grawitacji oraz skoku. Tworzymy prostą grę platformową z wykorzystaniem wcześniej poznanych mechanizmów. 

  21. Dinozaur - Poznajemy bloki operatorów arytmetycznych oraz logicznych. Uczymy się jak stworzyć prostą animację korzystając z kostiumów duszków. W ramach zajęć tworzymy grę ze skaczącym T-Rexem, znaną z przeglądarki google chrome.  

  22. Mag Losujący - Poznajemy czym są zmienne oraz liczby pseudolosowe w programowaniu. Tworzymy prostą grę polegającą na odgadnięciu jaką liczbę wylosował program. 

  23. Super Mario - Tworzymy klona gry Mario Bros, czyli prostą grę platformową. W naszym projekcie przedstawiamy ruch z trochę innej perspektywy. W tej grze gracz nie będzie się poruszał, a głównie tło znajdujące za nim.  

  24. Spadające gwiazdki - Uczymy się korzystania z myszki oraz jej współrzędnych. Tworzymy prostą grę polegającą na łapaniu spadających gwiazdek na paletkę, która porusza się zgodnie z ruchem myszki. Dodajemy licznik punktów oraz punktów życia.  

  25. Kosmiczna przygoda - Poznajemy możliwość klonowania duszków wraz z ich programami w czasie działania programu. Wykorzystujemy tą funkcję podczas tworzenia gry polegającej na zestrzeleniu jak największej ilości asteroid za pomocą sterowanego przez nas statku. 

  26. Wyścigi samochodowe - Tworzymy grę wyścigi samochodowe. Wykorzystując zmienne określamy, jak ma zmieniać się prędkość w czasie działania programu.  

  27. Zawody lekkoatletyczne - Uczymy się w jaki sposób można sprawniej segregować i korzystać z większej ilości danych za pomocą list. Tworzymy wyścigi lekkoatletyczne duszków. Na bieżąco wyświetlamy czas każdego uczestnika korzystając właśnie z listy.  

  28. Flappy Bird - Tworzymy grę Flappy Bird polegającą na utrzymaniu oraz jednocześnie omijaniu przeszkód. Za pomocą spacji podskakujemy do góry pokonując siłę grawitacji, o której była mowa na wcześniejszych zajęciach.  

  29. Agar.io - Tworzymy grę Agar.io, która polega na zjedzeniu jak największej ilości grzybków i przeciwników, dzięki którym zwiększamy swój rozmiar. Przeciwnika możemy zjeść dopiero wtedy, kiedy gracz będzie od niego większy. Pracujemy nad poprawnym korzystaniem ze zmiennych, operacji arytmetycznych oraz liczb pseudolosowych. 

  30. Breakout - Tworzymy grę Breakout, która polega na zniszczeniu ściany składającej się z pojedynczych bloków. Pracujemy nad sprawnym korzystaniem z klonowania duszków.

  31. Podsumowanie i projekt własny - Lekcja na której wykorzystujemy zdobytą wiedzę i tworzymy swój własny projekt gry. Każdy uczestnik zaprezentuje i omówi stworzoną przez siebie grę.

Minecraft Programowanie, podstawy programowania - poziom I

(Minecraft Education Edition)

kategoria wiekowa 10-12 lat.

  1. Wprowadzenie - Wprowadzenie do gry Minecraft Education Edition. Poznajemy podstawy sterowania, budowania oraz tworzenia świata.

  2. Programowanie ruchu - Tworzymy pierwszy program z wykorzystaniem bloków na platformie MakeCode. Wykorzystując znajomość współrzędnych tworzymy serię prostych programów, w tym program pozwalający na “ognisty chód”.

  3. Programowanie budowania - Poznajemy inne sposoby, za pomocą których możemy tworzyć budowle. Pierwszym z nich są komendy wpisywane w oknie tekstowym, drugim skrypty zapisywane w konstruktorze kodów. Za pomocą poznanych metod, podczas zajęć budujemy domki, napisy oraz inne elementy.

  4. Agent - Ruch - Zapoznajemy się z programowalnym pomocnikiem, czyli Agentem. Wykorzystując odpowiednie skrypty sterujące naszym pomocnikiem, wykonujemy zadania przygotowane dla nas przez doktora Barwina.

  5. Agent - Destrukcja - Poznajemy kolejne możliwości naszego Agenta, czyli zdolność niszczenia oraz zbierania dowolnych bloków. Na zajęciach za pomocą kodu pomagamy zebrać śmieci z Wysp Galapagos.

  6. Agent - Budowanie - Zapoznajemy się ze skryptami pozwalającymi Agentowi na budowanie dowolnych konstrukcji z dowolnych bloków. W ramach zajęć przechodzimy mapę, która wymaga stworzenia mostów oraz wieżowców.

  7. Programowanie - Pętle - Dokładnie omawiamy sobie czym są pętle w programowaniu oraz jak można je wykorzystać w grze Minecraft. Na zajęciach wykorzystujemy pętle pojedyncze oraz zagnieżdżone do wykonania wszystkich zadań dostępnych na mapie.

  8. Agent - Pętle - Dwie lekcje poświęcamy na zastosowanie pętli w praktyce. Dodatkowo poznajemy pętlę dopóki, w której ilość powtórzeń zależy od warunku, na przykład do momentu wykrycia danego bloku przez Agenta. Korzystając z tej pętli pomaga stworzyć pułapkę na wilki.  

  9. Agent - powtórzenie wiadomości nr 1 - Na zajęciach samodzielnie wykonujemy 5 zadań, które wymagają skorzystania z poznanych jak dotąd skryptów obsługujących Agenta.

  10. Programowanie - instrukcje warunkowe - Poznajemy czym są instrukcje warunkowe i jak za ich pomocą można tworzyć bardziej rozbudowane programy. Na zajęciach tworzymy system nagradzający gracza za przejście odpowiedniej ilości kroków oraz grę polegającą na szybkim dodawaniu w pamięci.

  11. Agent - Pętle i instrukcje warunkowe - Wykorzystujemy pętle wraz z instrukcjami warunkowymi w programach dla Agenta. Na zajęciach przechodzimy mapę wykonując zadania Astronauty Cadfield’a.

  12. Agent - Pętle i instrukcje warunkowe cd. - Ciąg dalszy poprzednich zajęć. Korzystając z odpowiednio napisanych programów, pomagamy Astronaucie Cadfield’owi zbadać wszystkie planety, na które zostaliśmy wysłani.

  13. Agent - Debuggowanie - Zapoznajemy się z konceptem debuggowania, czyli znajdowania błędów w naszych programach. Tworząc program, dbamy o to, żeby Agent wysyłał wiadomości o tym co w danym momencie wykonuje. Programy piszemy w czasie kolejnej ekspedycji kosmicznej.

  14. Bramki logiczne - Uczymy się implementować logikę w programowaniu. Omawiamy czym są operatory logiczne i, lub oraz nie, na podstawie bramek logicznych stworzonych z czerwonego kamienia.

  15. Agent - Typy logiczne - Poznajemy typy logiczne, czyli takie które opisują prawdę oraz fałsz. Na zajęciach tworzymy program generujący ścieżkę Agenta na podstawie pozycji asteroid.

  16. Agent - dopasuj kod - Zajęcia polegają na analizie pokazanych przez prowadzącego programów i dobranie każdego z nich do konkretnego zadania.

  17. Agent - powtórzenie wiadomości nr 2 - Na zajęciach samodzielnie wykonujemy 5 zadań na dowolnej planecie, wykorzystując wcześniej poznane skrypty, na przykład do generowania ścieżek dla Agenta.

  18. Programowanie - zmienne i operacje matematyczne - Omawiamy sobie czym są zmienne w programowaniu, jakie operacja można na nich wykonywać i do czego można je wykorzystać. Na zajęciach piszemy programy, które wykorzystują zmienne do zapisywania naszej pozycji oraz obliczeń matematycznych.

  19. Programowanie postaci - wstęp - Uczymy się jak programować Steve’a, czyli postać gracza. Poznane na zajęciach skrypty pozwalają na zdobywanie przez graczy super mocy oraz dowolnej edycji świata.

  20. Programowanie postaci - zdarzenia - Omawiamy bloki aktywujące skrypty w momencie wykrycia danego zdarzenie, na przykład chodzenia czy skradania się. W ramach zajęć piszemy programy, które na podstawie naszych aktywności nagradzają gracza super mocą lub zmianą pogody.

  21. Programowanie postaci - łączymy poznane wiadomości - Przechodzimy mapę, w której naszym zadaniem pomoc Rzymianom w budowie Koloseum. Wykorzystując zdobyte umiejętności obliczamy, ile potrzebujemy materiału do zbudowania danego elementu, na przykład wiaduktu, a na koniec za pomocą odpowiedniego skryptu budujemy go.

  22. Programowanie postaci - łączymy poznane wiadomości cd - Ciąg dalszy poprzednich zajęć, tym razem przechodzimy mapę, gdzie naszym zadaniem jest pomoc górnikom na Dzikim Zachodzie. Na zajęciach między innymi budujemy domki na podstawie kolorów podłoża.

  23. Programowanie postaci - funkcje - Zapoznajemy się z konceptem funkcji w programowaniu, czyli sposobem na pisanie zwięzłych i zrozumiałych programów. W ramach zajęć tworzymy autonomiczny system uprawiania roślin z wykorzystaniem funkcji.

  24. Programowanie postaci - powtórzenie wiadomości - W ramach zajęć w grupach tworzymy dowolną wybraną budowlę, na przykład piramidę, z wykorzystaniem programów do edycji świata. Dodatkowo rozwijamy umiejętności pracy w grupie.

  25. Wyzwanie budownicze dla Agenta - Kopiujemy zadaną budowlę korzystając z odpowiednich skryptów. Każdą stworzoną budowlę zapisujemy w portfolio.

  26. Labirynt dla agenta - co to jest algorytm - Piszemy algorytm, dzięki któremu Agent będzie mógł przejść przez ręcznie zbudowany przez nas labirynt. Program, który piszemy jest uniwersalny i sprawdzi się dla każdego dowolnego labiryntu.

  27. Programowanie BN - Poznajemy kim jest bohater niezależny i jak z jego pomocą można urozmaicić rozgrywkę, korzystając z dostępnych nam komend. Dzięki BN-owi będziemy mogli stworzyć prosty quiz, który w zależności od zwróconej odpowiedzi, może pomóc, albo przeszkodzić graczowi w przechodzeniu danej mapy.

  28. Programowanie - Command Block - Poznajemy działanie Bloków Poleceń, dzięki którym gracz może aktywować wybrane komendy, na przykład za pomocą przycisków lub płytek naciskowych. Na zajęciach tworzymy areny do walki z zombie oraz szkieletami, wykorzystując Bloki Poleceń możemy teleportować graczy na arenę lub uzbrajać każdego z graczy w zależności od jego klasy.

  29. Spleefowa Arena - Tworzymy arenę spleefową, która składa się z poziomu zrobionego z wełny oraz basenu lawy położonego poniżej. Zadaniem graczy jest wzajemne podkopywanie się, aż do momentu, kiedy na arenie pozostanie tylko jeden gracz. Do kontroli nad światem wykorzystujemy programy, które służą do odbudowy świata i teleportacji graczy.

  30. Końcowe powtórzenie wiadomości - Na zajęciach przenosimy się na wyspę Seymoura, gdzie czeka na nas osiem zadań, takich jak automatyczne kopanie czy dostarczenie ryb, z wykorzystaniem napisanych przez nas programów.  

Wstęp do programowania tekstowego - poziom II

(MakeCode, JavaScript)

kategoria wiekowa 10-12 lat.

  1. Wprowadzenie - Wprowadzenie do zajęć, zapoznanie się z platformą Makecode oraz stworzenie pierwszej prostej gry polegającej na łapaniu jedzenia na czas.

  2. Rysowanie kształtów - Zajęcia polegająca na zapoznaniu się z rysowaniem obiektów, kolorowaniu pojedynczych pikseli oraz wykorzystywaniu tych rysunków do tworzenia Sprite’ów.

  3. TileMap - Poznajemy klasę TileMap pozwalającą na tworzenie większych terenów, które można wykorzystać w grach z otwartym światem

  4. Labirynt - Wykorzystując klasę TileMap tworzymy labirynt, gdzie napotkamy duchy, z którymi będziemy musieli walczyć.

  5. Pong - Własna wersja klasycznej gry Pong.

  6. Dance Party - Tworzymy grę polegającą na rytmicznym klikaniu przycisków zgodnie z sekwencją wyświetlaną na ekranie.

  7. Fizyka - zabawa ruchem i tarciem - Poznajemy w jakiś sposób można implementować proste prawa fizyki w naszych grach i animacjach.

  8. Tablice - walka z duchami - Poznajemy pierwszą strukturę danych wykorzystywaną w programowaniu czyli tablice.

  9. Bricks - Tworzymy własną wersję gry polegającej na odbijaniu piłki i rozbijaniu ścianki zbudowanej z cegieł.

  10. Lądownik Kosmiczny - Gra polegająca na wylądowaniu statkiem kosmicznym na wygenerowanej platformie.

  11. Rzut Wolny - Tworzymy grę polegającą na próbie kąta wyrzutu piłki w taki sposób, żeby trafiła do kosza.

  12. Hopper - Gra polegająca na przeskakiwaniu przez przeszkody królikiem.

  13. Flappy Bird - Własna wersja słynnej gry Flappy Bird polegającej na przelocie ptaka między przeszkodami.

  14. Icy Tower - Własna wersja słynnej gry Flappy Bird polegającej na przelocie ptaka między przeszkodami.

  15. Platformówka - Tworzymy pierwszą grę platformową z wykorzystaniem klasy TileMap.

  16. Asteroid Shooter - Statek strzelający do przelatujących asteroid.

  17. Temple Run - Bieg między przeszkodami.

  18. Snake - Tworzymy grę Snake z wykorzystaniem tablic.

  19. Praca w konsoli - Poznajemy na czym polega praca w konsoli i jak ją można wykorzystać.

  20. Galuga - Gra polegająca na zestrzeleniu nadlatujących duchów za pomocą samolotu bojowego.

  21. Bouncer Bucket - Łapiemy spadające odbijające się piłki.

  22. Paint Brush - Ciekawa animacja stworzona za pomocą nadaniu rysikowi przypadkowych przyspieszeń.

  23. Zapamiętywanie Sekwencji - Gra polegająca na zapamiętaniu wyświetlanej sekwencji kart pokazanych w grze.

  24. Bubble Sort - Omawiamy prosty algorytm sortowania Bubble Sort. Sortujemy elementy tablicy.

  25. Bubble Sort - animacja - Wykorzystując poznany algorytm sortowania tworzymy animację przedstawiającą jego działanie.

  26. Tablice dwuwymiarowe - Kółko i Krzyżyk cz.1 - Część pierwsza tworzenia gry w Kółko i Krzyżyk. Gra polega na wykorzystaniu tablic dwuwymiarowych

  27. Tablice dwuwymiarowe – Kołko i Krzyżyk cz. 2 - Część druga tworzenia gry w Kółko i Krzyżyk. Warunek wygranej.

  28. Pi Monte Carlo - Ciekawa metoda określania wartości liczby PI polegająca na obliczeniu liczby kropek wewnątrz kwadratu i ćwierć okręgu o tych samych wymiarach.

  29. Gra w życie cz. 1 - Ciekawa gra matematyczna, która bazuje na prostych zasadach wyznaczonych przez brytyjskiego matematyka Johna Conway’a.

  30. Gra w życie cz. 2 - Część druga i zakończenia tworzenia „Gry w życie”.

  31. Znajdź pary cz. 1 - Gra polegająca na odnalezieniu par Sprite’ów w przedstawionej tablicy dwuwymiarowej.

  32. Znajdź pary cz. 2 - Zakończenie projektu „Znajdź pary”.

  33. Zajęcia Projektowe cz. 1 – sekwencja Fibonacci - Pierwsza lekcja projektowa polega na stworzeniu animacji przedstawiającej sekwencję Fibonacciego lub dowolnego innego programu wybranego przez ucznia.

  34. Zajęcia Projektowe cz. 2 - Boks - Druga lekcja projektowa – gra w Boks, czyli stworzenie gry polegającej na walce z autonomicznym przeciwnikiem lub innej dowolnej gry.

Tworzenie gier 2D  - poziom II

(Unity 3D)

kategoria wiekowa 10-12 lat.

  1. Wprowadzenie do Unity - Zapoznanie się z edytorem, przedstawienie poszczególnych części edytora, stworzenie pierwszej mapy labiryntu.

  2. Labirynt - Skupienie się na zagadnieniu komponentów, budowanie pierwszej prostej gry w oparciu o gotowe komponenty – składanie jak z klocków.

  3. Labirynt w kolorze - Rozbudowa projektu o nowy poziom, wprowadzenie nadawania kolorów elementom gry.

  4. Generowanie poziomu - Na podstawie gotowego komponentu do generowania poziomu w grze platformowej uczniowie będą zagłębiać oraz utrwalać wiedzę z używania komponentów, zależności między nimi oraz parametryzacji.

  5. Space shooter - Projekt gry do złożenia z gotowych elementów – komponentów, grafik, gracza, przeciwników. Wprowadzenie do prefabów w Unity.

  6. Space shooter rozłożony na czynniki pierwsze - Analiza stworzonego na poprzednich zajęciach projektu. Poznanie języka C# na przykładach użycia.

  7. Wyścigi - Dwuwymiarowy projekt gry wyścigowej z przeciwnikiem poruszającym się po gotowej ścieżce. Manipulowania parametrami dla uzyskania najlepszych efektów.

  8. Arkanoid - Klasyczna gra – do złożenia z gotowych elementów plus drobne ingerencje w skrypty.

  9. Space invaders - Klasyczna gra – do złożenia z gotowych elementów plus drobne ingerencje w skrypty.

  10. Snake - Klasyczna gra – do złożenia z gotowych elementów plus drobne ingerencje w skrypty.

  11. Pong - Klasyczna gra – do złożenia z gotowych elementów plus pierwsze podejście do pisania własnego kodu.

  12. Icy tower - Gra skupiająca się na generacji przeszkód dla gracza – zabawa gotowym algorytmem – składanie go z klocków plus ustawienie parametrów.

  13. Flappy bird - Próba stworzenia gry trudnej i jednocześnie możliwej do przejścia – fenomen gier trudnych opartych o prostą mechanikę.

  14. Clicker - Gra oparta niemal całkowicie o elementy interfejsu użytkownika – ćwiczenia właśnie tego aspektu.

  15. Crossy road - Hit gier mobilnych – odtworzenie go w ramach 2d oraz próba własnej analizy – z czego się składa gra.

  16. Programowanie wizualne – Bolt - Wprowadzenie w wizualne programowanie w Unity.

  17. Platformówka - W pełni własny projekt gry platformowej w oparciu o Bolt.

  18. Programowanie wizualne – Bolt - Więcej zaawansowanych zagadnień i węzłów w programowaniu wizualnym.

  19. NavMesh - Tworzenie prostego AI w oparciu o Unity NavMesh. Przeciwnicy odnajdują ścieżkę.

  20. Programowanie C# - Całe zajęcia poświęcone C#, ustandaryzowanie wiedzy poznanej na zajęciach, przejście prze podstawowe zagadnienia.

  21. Clicker 2 - Samodzielny projekt prostej gry, nacisk na programowanie.

  22. Programowanie C# - Skupienie się na relacji między klasami, na paradygmacie obiektowym.

  23. LEGO microgame - W oparciu o gotowe narzędzie edukatorskie w Unity wprowadzenie nowego sposobu pracy z obiektami.

  24. Platformer microgame - W oparciu o gotowe narzędzie edukatorskie w Unity kontynuacja innego sposobu pracy. Radzenie sobie z innym, ale podobnym podejściem do tworzenia.

  25. Projekt z użyciem Bolt - Własny projekt z użyciem programowania w Bolt.

  26. Projekt z użyciem C# - Ten sam projekt tylko po analizie, testach z użyciem Bolt – próba napisania w C#.

  27. Animacje sprite-ów - Zajęcia skupiające się na wizualnym aspekcie jak tworzyć animacje po klatkowe.

  28. Efekty cząsteczkowe - Poznanie komponentu odpowiedzialnego za efekty cząsteczkowe w 2d, nadanie lepszej jakości projektom.

  29. Oświetlenie 2d - Techniki oświetlenia w 2d, zabawa kolorem.

  30. Projekt podsumowujący - W pełni własny projekt z fazą pre-produkcji (przemyślenie projektu i ogólny zarys) przez produkcje do finalnego build`a na platformę Windows.

Programowanie tekstowe - Small Basic / Lua - poziom III

(Microsoft Small Basic, Lua)

kategoria wiekowa  od 12 lat.

  1. Wprowadzenie do Small Basic`aZapoznanie się ze środowiskiem konsoli i składnią języka Small Basic.

  2. Żółwik - Korzystając z konsoli oraz żółwika uczymy się działania pętli For, While oraz Goto Start.

  3. Pętle i grafika - Piszemy rozbudowany system logowania oraz program tworzący choinki w konsoli korzystając z zagnieżdżonych pętli oraz operatorów logicznych. W drugiej części zajęć uczymy się jak otworzyć okno graficzne oraz jak w Small Basic’u wygląda układ współrzędnych.

  4. Rysunki - Poznajemy w jaki sposób korzystać z układu współrzędnych do rozmieszczenia obiektów w oknie graficznym. Uczymy się rysowania kształtów (elipsa, prostokąt).

  5. Funkcje - Poznajemy działanie oraz wykorzystanie funkcji w programowaniu. W ramach tych zajęć, funkcje posłużą nam do stworzenia animacji.

  6. Paint - Tworzymy prostego Paint’a z wykorzystaniem własnych funkcji. Uczymy się korzystania z myszki oraz klawiatury.  

  7. Tablice i animacje - Poznajemy nowy sposób na przechowywanie danych, czyli tablice. Uczymy się w jaki sposób tablice upraszczają nam pisanie programów. Piszemy program, którego celem jest stworzenie animacji z dowolną liczbą obracających się kwadratów.

  8. Magiczna Klawiatura - Tworzymy program, który będzie spełniaj funkcję klawiatury ekranowej, gdzie każdy przycisk wykonuje wybrane przez nas działanie. W ramach projektu będziemy uczyć się wczytywania obrazów, wypisywania komunikatów oraz funkcji.

  9. Spadające jabłka - Piszemy grę polegającą na łapaniu spadających jabłek/piłek do koszyka, którym poruszamy za pomocą strzałek na klawiaturze. W ramach tego projektu uczymy się jak napisać warunek z wykorzystaniem współrzędnych, który sprawdzi czy jabłko znajdzie się w koszyku. Dodatkowo, poznajemy nowe operatory logiczne.

  10. Kolory RGB - Uczymy się jak uzyskać dowolnie wybrany kolor za pomocą trzech podstawowych kolorów, czyli czerwonego, zielonego i niebieskiego. W ramach projektu piszemy program, który będzie rysował tęczowe tło.

  11. Agar.io - Piszemy grę przypominającą Agar.io, która polega na zjadaniu grzybków i osiąganiu coraz to większego rozmiaru. Omawiamy nowy warunek opisujący zjedzenie przez gracza grzybka oraz funkcje zapisującą ilość zjedzonych grzybków w oknie graficznym. 

  12. Dwuwymiarowe tablice - Poznajemy dwuwymiarowe tablice, czyli rozszerzenie zwykłej tablice. Omawiamy sobie zasadę działania takich tablic. Na zajęciach piszemy program, który polega na stworzeniu animacji układającej kolorowe kwadraty w zadany przez nas sposób.  

  13. Kółko i Krzyżyk - Piszemy grę Kółko i Krzyżyk. W tym projekcie wykorzystujemy ponownie tablice dwuwymiarowe, które pomagają nam w narysowaniu siatki oraz symboli gracza i przeciwnika. Omawiamy zapis warunków wygranej.  

  14. Timer - Wykorzystanie Timer’a, czyli funkcji wywołującej się samoczynnie co dany okres. W ramach zajęć piszemy grę, która polega na wyświetlaniu nietoperzy w przypadkowych miejscach. Kliknięcie w nietoperza powoduje, że dane zwierzę znika, a my dostajemy punkt, który wyświetlamy na ekranie.

  15. Invaders - Tworzymy grę Invaders, która polega na zestrzeleniu jak największej ilości asteroid przez statek kosmiczny, którym sterujemy. Na tej lekcji uczymy się jak wczytywać grafikę do programu. Wprowadzamy nieskończoną pętlę, która będzie częścią większości przez nas pisanych gier oraz nowy mechanizm strzelania.

  16. Snake - Tworzymy grę Snake za pomocą tablic oraz klasy Tmer. Dzięki Timer’owi możemy stworzyć animację ruchu węża w kratownicy. Każde przesunięcie się węża nie jest płynne, wykonuje się ono co jakiś stały określony okres.

  17. Dancing Game - Piszemy grę taneczną inspirowaną filmem “Strażnicy Galaktyki”, której celem jest klikanie strzałek wyświetlanych na ekranie w odpowiednim tempie. Korzystamy z wcześniej poznanej klasy Timer oraz tablic.

  18. Flappy Bird - Piszemy grę Flappy Bird. Omawiamy sobie czym jest grawitacja oraz jak ją zasymulować za pomocą programowania. Programujemy mechanizm skoku oraz spadania.

  19. Street Racing - Tworzymy grę, która polega na wyprzedzaniu samochodów znajdujących się na autostradzie. Omawiamy sobie trochę inną perspektywę na ruch w grach i animacjach. Tym razem to tło oraz inne samochody się poruszają względem okna graficznego.

  20. Projekt podsumowujący - Czas na stworzenie własnego projektu w oparciu o całą wiedzę z zajęć.

  21. Wprowadzenie do Lua - Zapoznanie się ze środowiskiem konsoli oraz składnią języka Lua.

  22. Pętle - Poznajemy pętle: For, Repeat, While oraz tablice i słowniki. Na zajęciach tworzymy kształty choinek w konsoli korzystając z wcześniej poznanych pętli oraz tablic. Omawiamy możliwe sposoby zapisu danych w tablicach.

  23. Framework Love 2d - Poznajemy zestaw bibliotek, które pozwolą nam na tworzenie grafiki, symulowanie fizyki oraz wielu innych rzeczy przydatnych przy tworzeniu gier. Omawiamy układ współrzędnych oraz jak dobierać kierunek i zwrot ruchu obiektów. W ramach zajęć tworzymy prostą symulację piłki odbijającej się w pudełku. 

  24. Pong  - Tworzymy klasyczną grę Pong, wykorzystujemy funkcję pozwalającą na korzystanie z klawiatury. Omawiamy sobie czym są liczby pseudolosowe oraz czym jest czas czas systemowy.

  25. Platformówka - Tworzymy prostą platformówkę, w której opiszemy sobie takie siły jak siła grawitacji, tarcie oraz uderzenie. Analogicznie do wyznaczanie kierunku oraz zwrotu ruchu, uczymy się jak wyznaczyć te cechy dla siły. 

  26. Zegar analogowy - Tworzymy aplikację, które wskazuje czas na zegarze analogowym. W ramach tego projektu nauczymy się jak pobierać grafikę. Uczymy się również czym jest obrót, punkt odniesienia oraz skala. Do stworzenia programu korzystamy z funkcji, które zwracają nam aktualny czas.  

  27. Angry Birds - Tworzymy grę Angry Birds z rzeczywistym systemem zderzeń. Poznajemy metodę wyznaczenia kierunku lotu na podstawie pozycji myszki oraz pozycji ptaka. Tworzymy budowlę do zburzenia. 

  28. Symulacja zderzeń - Piszemy program, który symuluje dużą ilość zderzających się cząsteczek - piłek. Omawiamy sobie czym jest grawitacja, a dokładniej przyspieszenie grawitacyjne. W programie dobieramy wartość przyspieszenia, a za pomocą klawiatury jego kierunek i zwrot.

  29. Icy Tower - Tworzymy grę Icy Tower polegającą na utrzymaniu się przez gracza na opadających platformach. Poznajemy czym jest aktywacja i dezaktywacja obiektów w Love2D. 

  30. Animacja rysowania - Tworzymy animację rysującą spirale. Omawiamy sposób w jaki można opisać ruch po okręgu, a w szczególności ruch po okręgu zmieniającym promień. Poznajemy operator modulo, czyli resztę z dzielenia.   

  31. Tablice - Tworzymy labirynt. Na podstawie prostej tablicy dwuwymiarowej zawierającej pozycje ścian, startu oraz mety, ustawiamy grafikę poszczególnych elementów w zadanych miejscach.   

  32. Krzywe Lissajous - Piszemy program, który stworzy animację rysującą krzywe Lissajous, które powstają z połączenia ruchów po okręgu o różnych szybkościach.

  33. Space Invaders cz.1 - Tworzymy kultową grę Space Invaders polegającą na zestrzeleniu latających kosmitów za pomocą sterowanego przez nas statku. Omawiamy sobie w jaki sposób poprawnie i prosto opisać ruch naszych przeciwników.

  34. Space Invaders cz.2 - Rozszerzamy poprzednią grę o mechanizm strzelania. Korzystamy z funkcji destroy() oraz isDestroyed(), które posłużą nam do niszczenia obiektów w grze oraz do sprawdzenia, czy dany obiekt został już zniszczony.

Elektronika i programowanie w MicroPython`ie - poziom III

(Raspberry Pi, MicroPython)

kategoria wiekowa  od 12 lat.

  1. Wprowadzenie - Budowa mikrokontrolera, zasady działania. Tworzymy pierwszy projekt z wykorzystaniem mikrokontrolera Raspberry Pi Pico z wykorzystaniem diod LED.

  2. Napięcie, prąd i opór - Poznajemy czym jest napięcie, prąd oraz opór. Za pomocą diod oraz rezystorów dobieramy jasność świecenia diody.

  3. Potencjometr - Poznajemy zasadę działania potencjometru, tworzymy prostą animację na diodach LED.

  4. Fotorezystor - Poznajemy fotorezystor, piszemy program, który będzie dobierał moc światła na podstawie jasności otoczenia.

  5. Przyciski - Uczymy się korzystać z wejść cyfrowych mikrokontrolera.

  6. Dioda RGB - Poznajemy budowę oraz działanie wielokolorowej diody RGB.

  7. Ekran LCD - Korzystamy z ekranu LCD. Zapisujemy dowolny tekst.

  8. Miarka ultradźwiękowa - Wykorzystując czujnik odległości ultradźwiękowy oraz ekran LCD budujemy miarkę.

  9. Buzzer – gramy muzykę - Wykorzystując sygnał PWM możemy zagrać dowolny dźwięk oraz dowolną melodię.

  10. Mini stacja pogodowa – czujnik temperatury i wilgotności - Wykorzystując czujnik wilgotności oraz temperatury budujemy prostą stację wyświetlające warunki atmosferyczne.

  11. Serwo - Uczymy się obsługi serwomechanizmu, czyli silnika elektrycznego pozwalającego na kontrolowany obrót.

  12. Czujnik ruchu – alarm antywłamaniowy - Za pomocą czujnika ruchu oraz buzzera budujemy system antywłamaniowy.

  13. Sygnał PWM – sterowanie jasnością i szybkością silnika - Poznajemy zasadę działania sygnału PWM, czyli metody dzięki której można sterować mocą.

  14. System świateł drogowych - Z wykorzystaniem czujnika odległości oraz diod w trzech różnych kolorach tworzymy inteligentny system świateł drogowych.

  15. Kolor diody RGB na podstawie czujnika kolorów - Za pomocą czujnika koloru oraz diody RGB tworzymy urządzenie pozwalające na zapalenie diody na kolor wybranego rzeczywistego przedmiotu.

  16. Tablice – animacje na diodach LED - Poznajemy tablice, czyli strukturę danych wykorzystywaną w programowaniu. Z jej pomocą tworzymy animację na diodach LED.

  17. Moduł Firmata – sterowanie komputerem - Zapoznajemy się z modułem Firmata pozwalającym na komunikację mikrokontrolera z komputerem.

  18. Narzędzie Hackera - Tworzymy proste narzędzie hakera, które po podłączeniu do komputera wykona zadane przez nas zadanie, na przykład włączenie śmiesznego filmiku na YouTubie.

  19. Wprowadzenie do Pygame - Poznajemy bibliotekę Pygame, w której z pomocą języka Python możemy tworzyć gry dwuwymiarowe.

  20. Ekran OLED – prosta grafika - Tworzymy animację na ekranie OLED.

  21. Pong na ekranie OLED - Budujemy klasyczną grę Pong z wykorzystaniem ekranu OLED.

  22. Działanie ekranu LED 8x8 - animacja - Zapoznajemy się z działaniem ekranu LED 8x8. Tworzymy animację.

  23. Żyroskop - Poznajemy zasadę działania żyroskopu. Piszemy program, który obliczy o jaki kąt został obrócony żyroskop.

  24. Klepsydra – Żyroskop plus ekran LED 8x8 - Z wykorzystaniem żyroskopu oraz ekranu LED 8x8 tworzymy animację klepsydry.

  25. Symulacja klawiatury komputera - Mikrokontroler symuluje klawiaturę oraz myszkę.

  26. Dioda IR - komunikacja - Komunikacja pomiędzy dwoma mikrokontrolera poprzez fale podczerwone.

  27. Paint – rysowanie za pomocą potencjometrów cz. 1 - Z wykorzystaniem biblioteki Pygame oraz potencjometrów tworzymy program do rysowania.

  28. Paint – rysowanie za pomocą potencjometrów cz. 2 - Druga część lekcji związanych z Paintem sterowanym poprzez potencjometry.

  29. Bricks – tworzenie gry cz. 1 - Tworzymy grę polegającą na niszczeniu cegieł odbijaną piłką przez platformę. Platformą sterujemy korzystając z żyroskopu.

  30. Bricks – wykorzystanie żyroskopu w grze cz. 2 - Druga część lekcji, której zadaniem jest zbudowanie gry Bricks.

  31. Bird Shooter z wykorzystaniem żyroskopu cz. 1 - Tworzymy własną wersję gry Bird Shooter, która polega na zestrzeliwaniu przelatujących ptaków. Do sterowania celownikiem zostanie wykorzystany żyroskop. W przeciwieństwie do poprzedniej lekcji, żyroskop będzie wykorzystywał dwie osie, a nie jedną.

  32. Bird Shooter z wykorzystaniem żyroskopu cz. 2 - Zakończenie pracy nad grą „Bird Shooter”.

  33. Zajęcia projektowe – cz. 1 - Pierwsza część zajęć projektowych – tworzymy projekty wymyślone przez nas lub korzystając z pomysłów prowadzącego.

  34. Zajęcia projektowe – cz. 2 - Druga cześć zajęć projektowych. Przedstawienie i omówienie projektu.