Zakres programu nauczania

Kurs programowania Misje Kodiego został logicznie podzielony na trzy części: Kurs I, II, III, które odpowiadają stopniowi trudności - zaawansowania pod względem stosowanych technik programistycznych (konstrukcji algorytmicznych).

Ponadto, plansze w każdym kursie reprezentowane przez Poziomy cechuje wzrost stopnia trudności z każdą kolejną planszą. Podwyższenie stopnia trudności może oznaczać: bardziej skomplikowany układ planszy, wprowadzenie nowej techniki programowania lub jedno i drugie jednocześnie.

Plansze początkowe w Kursie II i Kursie III zawierają ćwiczenia powtórkowe z zakresu z poprzednich kursów.

W kolejnych sekcjach przedstawiono zakres programu na poszczególnych kursach.

Kurs I - zakres nauczania

Kurs I poświęcony jest programowaniu sekwencyjnym z jednym bohaterem - Kodim. Sterujemy bohaterem na planszy, wykonując wszystkie potrzebne Akcje, gromadząc ekwipunek, z którego korzystamy w odpowiednim momencie na planszy.

Tworzenie kodu sekwencyjnego należy do podstawowych technik projektowania algorytmów. Kiedy rozwiązujemy problem, w którym jesteśmy w stanie przewidzieć wszystkie sytuacje, które mogą się wydarzyć oraz rozwiązać zadanie w postaci kolejno następujących po sobie instrukcji programu, wówczas najbardziej podstawową techniką jest zapisanie wszystkich czynności po kolei. Takie postępowanie nazywa się tworzeniem sekwencji instrukcji kodu, w skrócie tworzeniem sekwencji. Podejście to jest wystarczające dla wielu prostych zadań algorytmicznych składających się z kilku lub kilkunastu instrukcji do wykonania.

Akcje dostępne na planszach są opisane w dokumencie: Misje Kodiego - Opis języka programowania.

Zagadnienia w kursie

W tabeli poniżej zebrano informacje dotyczące wprowadzanych zagadnień i odpowiadające im poziomy plansz.

Tabela: Kurs I - Zagadnienia i poziomy.

Kurs I - Zagadnienie główne Kurs I - Poziomy (numery plansz)
Nawigowanie 0-11
Instrukcje warunkowe 12-20
Pętle iteracyjne 21-42
Instrukcje warunkowe w pętli 43-58
Pętle zagnieżdżone 59-76
Zagnieżdżone instrukcje warunkowe 77-79
Pętle warunkowe 80-90
Zmienne 91-105
Funkcje 106-129

Przykłady z aplikacji

Plansza 0 - nauka nawigowania.

Plansza 8 - wprowadzenie do akcji.

Plansza 12 - wprowadzenie do instrukcji warunkowych + uzupełnianie pustych bloczków (częściowo gotowego kodu), dwa zrzuty.

Plansza 21 - wprowadzenie do pętli licznikowych.

Plansza 43 - pierwsze użycie zagnieżdżonych konstrukcji. Warunek w pętli.

Plansza 59 - pętle zagnieżdżone.

Plansza 80 - wprowadzenie do pętli warunkowych.

Plansza 86 - kombinacje pętli licznikowej i warunkowej.

Plansza 91 - wprowadzenie pojęcia zmiennej.

Plansza 106 - wprowadzenie do funkcji bez parametrów, dwa zrzuty.

Kurs II - zakres nauczania

W Kursie II kod nadal jest sekwencyjny z Akcjami, ale na planszy pojawia się dodatkowy jeden bohater lub dwóch dodatkowych bohaterów. Ponadto, wprowadzone są Zdarzenia, które należy obsłużyć w kodzie.

Akcje, Zdarzenia dostępne na planszach są opisane w dokumencie: Misje Kodiego - Opis języka programowania.

Zagadnienia w kursie

W tabeli poniżej zebrano informacje dotyczące wprowadzanych zagadnień i odpowiadające im poziomy plansz.

Tabela: Kurs II - Zagadnienia i poziomy.

Kurs II - Zagadnienie główne Kurs II - Poziomy (numery plansz)
Sekwencje (drugi bohater na planszy, programowanie sekwencyjne) 0-10 (8-10)
Jeżeli, Jeżeli NIE (drugi bohater na planszy) 11-31 (14-18, 23-31)
Pętle iteracyjne (drugi bohater na planszy) 32-37 (34-37)
Instrukcja warunkowa Jeżeli, Jeżeli Nie w pętli (drugi bohater na planszy) 38-49 (41,42,46,47)
Pętle zagnieżdżone (drugi i/lub trzeci bohater na planszy) 50-59 (53, 56-59)
Pętle warunkowe (drugi i/lub trzeci bohater na planszy) 60-86 (62-72,75,79, 84-86)
Zmienne (drugi i/lub trzeci bohater na planszy) 87-108 (90-93, 99-102, 106-108)
Funkcje (drugi i/lub trzeci bohater na planszy) 109-138 (112-116,120-123, 127-130, 134-138)
Zdarzenia 1-22

Przykłady z aplikacji

Plansza 138 - wprowadzenie drugiego bohatera. Programowanie sekwencyjne, pierwsze użycie teleportu.

Plansza 142 - pierwsze użycie warunku Jeżeli, jeżeli nie.

Plansza 156 - nowy bohater.

Kurs III - zakres nauczania

Kurs II wprowadza nową technikę programowania - programowanie współbieżne. Na planszy sterujemy jednocześnie dwoma lub trzema bohaterami, wykonujemy różne Akcje i obsługujemy Zdarzenia. Należy tak zsynchronizować ruch wszystkich postaci, aby umożliwić Kodiemu dotarcie do mety jako pierwszemu. Gracz poznaje pojęcie taktu zegara. Dla każdej planszy, w której można użyć programowania współbieżnego, określona jest maksymalna ilość taktów. Każda akcja/sprawdzenie warunku to jeden takt zegara.

Akcje i Zdarzenia dostępne na planszach są opisane w dokumencie: Misje Kodiego - Opis języka programowania.

Zagadnienia w kursie

W tabeli poniżej zebrano informacje dotyczące wprowadzanych zagadnień i odpowiadające im poziomy plansz.

Tabela: Kurs III - Zagadnienia i poziomy.

Kurs III - Zagadnienie główne Kurs III - Poziomy (numery plansz)
Nawigowanie, programowanie sekwencyjne lub współbieżne dwoma lub trzema bohaterami 0-20
Instrukcja warunkowa, programowanie sekwencyjne lub współbieżne bohaterami 21-31
Pętla iteracyjna, programowanie sekwencyjne lub współbieżne bohaterami 32-42
Instrukcja warunkowa w pętli, programowanie sekwencyjne lub współbieżne bohaterami 43-52
Pętla zagnieżdżona, programowanie sekwencyjne lub współbieżne bohaterami 53-60
Pętla warunkowa, programowanie sekwencyjne lub współbieżne bohaterami 61-72
Pętle zagnieżdżone warunkowe 73-84
Zmienne, programowanie sekwencyjne lub współbieżne bohaterami 85-116
Funkcje, programowanie sekwencyjne lub współbieżne bohaterami 117-151
Zdarzenia 1-20

Przykłady z aplikacji

Plansza 233 - wykorzystanie zmiennej jako stanu, by móc zadecydować o dalszej ścieżce na podstawie wcześniej wykonanych akcji. Nowe pole: pęknięte pole, znika po przejściu.

Plansza 260 - wprowadzenie do funkcji z parametrami, dwa zrzuty.

Plansza 276 - wprowadzenie do programowania współbieżnego, nowe pojęcie "Zdarzenie", trzy zrzuty.

Plansza 287 - nowa możliwość uruchamiania zdarzenia "odbierz wiadomość", trzy zrzuty.