
Akademia Kodowania
Podstawy programowania blokowego
(Scratch, App Inventor)
kategoria wiekowa 9-12 lat
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Mag Losujący - Poznajemy czym są zmienne oraz liczby pseudolosowe w programowaniu. Tworzymy prostą grę polegającą na odgadnięciu jaką liczbę wylosował program.
-
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.
-
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.
-
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.
-
Wyścigi samochodowe - Tworzymy grę wyścigi samochodowe. Wykorzystując zmienne określamy, jak ma zmieniać się prędkość w czasie działania programu.
-
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.
-
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.
-
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.
-
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.
-
Ice Tower – Tworzymy grę na wzór popularnej gry Ice Tower. Celem jest wspinanie się coraz wyżej oraz odwzorowanie zasad tej popularnej gry w środowisku Sratch.
-
Pac Man – tej gry nie trzeba przedstawiać. Musimy przetrwać w mrocznym labiryncie, uciekając przed goniącymi nas duchami. Gra daje szerokie możliwości programistyczne, nawet w środowisku Scratch.
-
Car race - Tworzymy w pełni programowalną grę, symulator wyścigów. Wykorzystujemy zdobytą w trakcie zajęć wiedzę, programując wszystkie elementy, tak by gra w pełni oddawała wrażenia z jazdy i sterowania pojazdem.
-
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ę.
-
App Inventor Intro – wprowadzenie do środowiska App Inventor, omówienie interfejsu i podstawowych elementów.
-
Speaking Robot – aplikacja mówiącego robota, który odczytuje tekst wpisany przez użytkownika.
-
Notatki – prosty notatnik do zapisywania i przeglądania tekstu.
-
To-Do List – lista zadań z możliwością dodawania i usuwania pozycji.
-
Średnia Ocen – kalkulator średniej ocen z wprowadzanych danych.
-
Moje Finanse – aplikacja do podstawowej kontroli wydatków i przychodów.
-
Fiszki – pomoc w nauce języka – system fiszek z opcją dodawania, edytowania i testowania znajomości słówek.
-
Streak Tracker – licznik dni realizacji wybranego nawyku.
-
Symulator sklepu – aplikacja symulująca zakupy i obliczająca należną kwotę.
-
Zgadywanie Liczby – gra polegająca na odgadywaniu liczby wylosowanej przez aplikację.
-
Złap Kotka – prosta gra zręcznościowa polegająca na kliknięciu pojawiającego się kotka.
-
Memory – gra w zapamiętywanie par obrazków.
-
ChatBot AI – prosty chatbot wykorzystujący sztuczną inteligencję do odpowiadania na pytania.
-
Data Science – podstawowa analiza danych i wizualizacja wyników w aplikacji.
-
AI Rozpoznawanie Obrazów – aplikacja wykorzystująca wbudowane rozszerzenie do rozpoznawania obiektów na zdjęciu wykonanym aparatem.
-
AI Analiza Nastroju – program analizujący wpisany tekst i określający, czy jest on pozytywny, neutralny czy negatywny.
-
AI Generator Opowieści – aplikacja, która po podaniu kilku słów kluczowych generuje krótką, zabawną historyjkę z wykorzystaniem usługi AI.
* kolejność zajęć i liczba zajęć może się różnić w zależności od ilości zajęć jaka przypada w roku szkolnym.
Minecraft Programowanie, podstawy programowania
(Minecraft Education Edition)
kategoria wiekowa 10-12 lat.
-
Wprowadzenie - Wprowadzenie do gry Minecraft Education Edition. Poznajemy podstawy sterowania, budowania oraz tworzenia świata.
-
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”.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Agent - dopasuj kod - Zajęcia polegają na analizie pokazanych przez prowadzącego programów i dobranie każdego z nich do konkretnego zadania.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Wyzwanie budownicze dla Agenta - Kopiujemy zadaną budowlę korzystając z odpowiednich skryptów. Każdą stworzoną budowlę zapisujemy w portfolio.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Kodowe wyzwanie cz.1 - zbierając całą wiedzę z zajęć podejmujemy programistyczne wyzwania w przygotowanych światach
-
Kodowe wyzwanie cz.2 - zbierając całą wiedzę z zajęć podejmujemy programistyczne wyzwania w przygotowanych światach
-
Projekt własny - końcowy projekt podsumowujący cały rok zajęć, na którym nasi kursanci stworzą własne światy w oparciu o znane im elementy programowania.
* kolejność zajęć i liczba zajęć może się różnić w zależności od ilości zajęć jaka przypada w roku szkolnym.
Wstęp do programowania tekstowego
(MakeCode, JavaScript, Python)
kategoria wiekowa 10-12 lat.
-
Intro – wprowadzenie do środowiska MakeCode.
-
Wprowadzenie – podstawy programowania w blokach, JS i Python.
-
Listy i Funkcje – tworzenie list i pisanie własnych funkcji.
-
Intro Python – pierwsze kroki w Pythonie w MakeCode.
-
Programowanie Obiektowe – podstawy klas i obiektów.
-
TileMap – praca z mapami kafelkowymi.
-
Labirynt – tworzenie gry polegającej na przejściu labiryntu.
-
Tablice – ucieczka przed duchami – gra z przeciwnikami sterowanymi tablicami współrzędnych.
-
Lądownik Kosmiczny – lądowanie statkiem kosmicznym na powierzchni planety.
-
Hopper – skakanie po platformach.
-
Icy Tower – wspinanie się w nieskończoność po platformach.
-
Platformówka – klasyczna gra platformowa.
-
Bubble Sort – wizualizacja sortowania bąbelkowego.
-
Snake – gra w węża.
-
Praca w konsoli – wprowadzanie i wyświetlanie danych w konsoli.
-
JavaScript cz. 1 – podstawy JS w MakeCode.
-
JavaScript cz. 2 – instrukcje warunkowe, pętle i tablice w JS.
-
Dance Party – animacja postaci tańczących do muzyki.
-
Fizyka – Zabawa ruchem i tarciem – symulacja ruchu z oporem.
-
Bricks – gra w niszczenie klocków.
-
Flappy Bird – klon popularnej gry.
-
Asteroid Shooter – strzelanie do asteroid.
-
Ucieczka – gra polegająca na unikaniu przeszkód.
-
Bouncer Bucket – łapanie spadających piłek.
-
Boks – prosta gra w boks.
-
Zapamiętywanie Sekwencji – gra na pamięć wzrokową.
-
Gra w Życie – implementacja zasad Conway’s Game of Life.
-
Podążaj za Wzorem – odwzorowywanie sekwencji ruchów.
-
Matematyka – quiz matematyczny z losowymi pytaniami.
-
Sortowanie Imion
zadanie: ułożyć kod, który wczyta listę imion i posortuje je alfabetycznie.
Cel: ćwiczenie pracy z listami, sortowaniem i pętlami. -
Znajdź Największą Liczbę
Zadanie: z rozsypanych fragmentów kodu zbudować program, który znajdzie największą liczbę w podanej liście.
Cel: zrozumienie instrukcji warunkowych i porównań. -
Licznik Liter
Zadanie: ułożyć kod, który policzy, ile razy w danym tekście występuje określona litera.
Cel: praca z pętlami i warunkami, operacje na stringach. -
Kalkulator Temperatury
Zadanie: naprawić kod przeliczający temperatury z Celsjusza na Fahrenheita i odwrotnie.
Cel: ćwiczenie zmiennych, obliczeń i konwersji danych. -
Parzyste czy Nieparzyste
Zadanie: z rozsypanych bloków zbudować program, który sprawdzi, czy liczba jest parzysta czy nieparzysta.
Cel: proste warunki, operator modulo. -
Mnożenie w Pętli
Zadanie: ułożyć kod, który wypisze tabliczkę mnożenia dla podanej liczby.
Cel: ćwiczenie pętli i działań matematycznych. -
Tajemnicze Hasło
Zadanie: naprawić kod, który sprawdza, czy wpisane hasło jest poprawne (porównanie stringów).
Cel: logika porównań, warunki, wprowadzenie pojęcia walidacji danych.
* kolejność zajęć i liczba zajęć może się różnić w zależności od ilości zajęć jaka przypada w roku szkolnym.
Tworzenie i programowanie gier 2D
(Unity 3D)
kategoria wiekowa 10-12 lat.
-
Wprowadzenie do Unity - Zapoznanie się z edytorem, przedstawienie poszczególnych części edytora, stworzenie pierwszej mapy labiryntu.
-
Labirynt - Skupienie się na zagadnieniu komponentów, budowanie pierwszej prostej gry w oparciu o gotowe komponenty – składanie jak z klocków.
-
Labirynt w kolorze - Rozbudowa projektu o nowy poziom, wprowadzenie nadawania kolorów elementom gry.
-
Tilemap - Tworzenie poziomów do gier i projektów 2D. Narzędzie tilemap – malowanie map za pomocą kształtów.
-
Pierwsza gra platformowa - Wykorzystując nowo poznane narzędzie tilemapy stworzenie pełnoprawnej gry platformowej.
-
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.
-
Space shooter - Projekt gry do złożenia z gotowych elementów – komponentów, grafik, gracza, przeciwników. Wprowadzenie do prefabów w Unity.
-
Space shooter rozłożony na czynniki pierwsze - Analiza stworzonego na poprzednich zajęciach projektu. Poznanie języka C# na przykładach użycia.
-
Spacer shooter personalizacja - Zwrócenie uwagi na elementy, które można personalizować w ramach projektów w Unity. Co łatwo jest zmieniać. Zaznajomienie się z kodem komponentów w Unity.
-
Nieskończone wyścigi - Utrwalanie pracy z prefabami. Stworzenie prostego prototypu nieskończonej gry wyścigowej.
-
Wyścigi - Dwuwymiarowy projekt gry wyścigowej z przeciwnikiem poruszającym się po gotowej ścieżce. Manipulowania parametrami dla uzyskania najlepszych efektów.
-
Dźwięki i efekty dźwiękowe - Zapoznanie się z zagadnieniem dźwięku w projektach Unity. Poznanie dostępnych efektów dźwiękowych.
-
Arkanoid - Klasyczna gra – do złożenia z gotowych elementów plus drobne ingerencje w skrypty.
-
Arkanoid z wieloma scenami - Tworzenie wielu scen i praca ze scenami w Unity.
-
Osiągnięcia - Zapoznanie się z ideą osiągnięć w grach. Implementacja osiągnięć w grze Arkanoid.
-
Efekty cząstkowe - Poznanie komponentu odpowiedzialnego za efekty cząsteczkowe w 2d, nadanie lepszej jakości projektom.
-
Budowanie projektu - Pierwszy własny zbudowany projekt na platformy Windows.
-
Lego microgame - W oparciu o gotowe narzędzie edukatorskie w Unity wprowadzenie nowego sposobu pracy z obiektami.
-
Snake - Klasyczna gra - do złożenia z gotowych elementów plus drobne ingerencje w skrypty.
-
Budowanie projektu na platformy mobilne - Pierwszy własny zbudowany projekt na platformę Android.
-
Pong - Klasyczna gra - do złożenia z gotowych elementów. Stworzenie gry dwuosobowej.
-
Pong dekonstrukcja - Co tak naprawdę znajduje się pod spodem tych komponentów i prefabów – tajniki kodowania.
-
Space invaders - Klasyczna gra – do złożenia z gotowych elementów plus drobne ingerencje w skrypty.
-
Space invaders dekonstrukcja - Co tak naprawdę znajduje się pod spodem tych komponentów i prefabów – tajniki kodowania.
-
Flappy bird - Próba stworzenia gry trudnej i jednocześnie możliwej do przejścia – fenomen gier trudnych opartych o prostą mechanikę.
-
Asset Store - Zapoznanie się potężnym narzędziem Asset Store. Biblioteką gotowych i często darmowych assetów graficznych, mechanik i prefabów. Wspólne przejście przez możliwości i wykorzystanie tego narzędzia.
-
Pierwszy własny projekt - Utrwalenie poznanej wiedzy. Utworzenie z gotowych prefabów jednej z gier podobnych do poznanych na wcześniejszych zajęciach.
-
Post processing - Efekty postprocessingu dla ulepszenia jakości wyświetlanego obrazu.
-
Menu i UI - Wprowadzenie do menu i interfejsu użytkowników. Budowa pierwszego własnego interfejsu.
-
Karting microgame - W oparciu o gotowe narzędzie edukatorskie w Unity rozbudowa gotowego projektu. I pierwszy zanurzenie w świat 3D.
-
Własny projekt - Przyjrzenie się gotowym, dużym projektom demonstracyjnym od Unity. Stworzenie prostego design doc – dokumentu opisującego mechaniki i wszystkie elementy gry.
-
NavMesh - Tworzenie prostego AI w oparciu o Unity NavMesh. Przeciwnicy odnajdują ścieżkę.
-
Animacje - Poznanie narzędzia do tworzenia animacji w Unity.
-
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.
* kolejność zajęć i liczba zajęć może się różnić w zależności od ilości zajęć jaka przypada w roku szkolnym.


