ZAWĘŻONA PODSTAWA PROGRAMOWA 2024

Opis założonych osiągnięć ucznia – przykłady wymagań na poszczególne oceny szkolne 

opracowany na podstawie materiału edukacyjnego:

Grażyna Koba, Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. 
Materiał edukacyjny. Część 3, 

dostępnego na stronie internetowej ir.migra.pl

Autorzy: Grażyna Koba, Paweł Rogoziński
MIGRA 2024

Przedstawiamy wymagania na poszczególne oceny szkolne dla Materiału edukacyjnego (ir.migra.pl) do zakresu rozszerzonego, uwzględniające zmiany wynikające z zawężenia podstawy programowej dla szkoły podstawowej na podstawie rozporządzenia MEN z 2024 roku: Rozporządzenie Ministra Edukacji zmieniającego rozporządzenie w sprawie podstawy programowej kształcenia ogólnego dla liceum ogólnokształcącego, technikum oraz branżowej szkoły II stopnia.

Spis treści
Moduł A. Wokół komputera i sieci komputerowych
Reprezentacja danych w komputerze
Moduł B. Wokół dokumentów komputerowych
Projektowanie relacyjnej bazy danych
Tworzenie kwerend z wykorzystaniem języka SQL
Trójwymiarowe wizualizacje i animacje
Moduł C. Wokół algorytmiki i programowania
Złożone struktury danych
Arytmetyka komputerowa i systemy liczbowe
Algorytmy numeryczne
Zastosowanie rekurencji w programowaniu, w tym do w tworzeniu fraktali
Algorytmy sortowania
Dynamiczne struktury danych i grafy
Moduł D. Wokół Internetu i projektów
Zadania projektowe
 
Moduł A. Wokół komputera i sieci komputerowych

Reprezentacja danych w komputerze	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcia wartość logiczna i standard kodu;
wymienia nazwy kodów (np. ASCII, Windows-1250 i ISO-8859-2);
zna podstawowe pozycyjne systemy liczbowe: binarny i dziesiętny;
podaje przykład prostej konwersji liczby binarnej na dziesiętną;
wie, że komputer wykonuje operacje arytmetyczne na wartościach binarnych;
wskazuje w zapisie binarnym najmniej i najbardziej znaczący bit	rozumie reprezentację wartości logicznych 0 i 1 w pamięci komputera;
zna liczbę znaków w kodzie ASCII i Unicode;
przelicza proste liczby między systemami dziesiętnym i NKB;
wie, czym jest reprezentacja stałopozycyjna i zmiennopozycyjna liczb;
wykonuje proste działania arytmetyczne na liczbach binarnych;
zna oznaczenia operacji logicznych (np. OR, AND, NOT)	definiuje i wyjaśnia pojęcia kodowania znaków i wartości logicznej;
porównuje różne systemy kodowania znaków (np. ASCII i Unicode);
wyznacza rozwinięcie dwójkowe liczby ujemnej w kodzie U2;
zapisuje liczby dziesiętne jako liczby zmiennoprzecinkowej pojedynczej precyzji;
wykonuje działania arytmetyczne i logiczne na liczbach binarnych	omawia szczegółowo reprezentację znaków w różnych standardach (ASCII, Unicode);
tworzy własne przykłady konwersji znaków;
przedstawia praktyczne zastosowanie różnych systemów liczbowych w technice komputerowej;
analizuje błędy wynikające z ograniczeń reprezentacji liczb;
stosuje arytmetykę komputerową w praktycznych zadaniach;
przekształca liczby w różnych formatach i wykonuje na nich działania	planuje i realizuje projekt pokazujący konwersję znaków między standardami;
porównuje dokładność różnych metod reprezentacji liczb;
przedstawia powiązania między reprezentacją danych a architekturą komputera

Moduł B. Wokół dokumentów komputerowych

Projektowanie relacyjnej bazy danych	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
podaje obszary zastosowań baz danych – na przykładach z najbliższego otoczenia – szkoły, instytucji naukowych, społecznych i gospodarczych;
podaje przykłady programów do tworzenia baz danych;
potrafi wykonać podstawowe operacje na bazie danych przygotowanej w jednej tabeli (wprowadzanie, redagowanie, sortowanie, wyszukiwanie, prezentacja);
potrafi utworzyć prostą kwerendę	rozumie metody przetwarzania danych na przykładzie gotowej bazy danych;
określa podstawowe pojęcia (rekord, pole, typ pola, relacja, klucz podstawowy);
tworzy bazę danych składającą się z dwóch tabel, w każdej po kilka pól różnych typów;
tworzy proste kwerendy wybierające;
potrafi wykonywać operacje przetwarzania danych w bazie składającej się z kilku rekordów;
zna zasady przygotowania korespondencji seryjnej	projektuje relacyjną bazę danych (na zadany temat) składającą się z trzech tabel połączonych relacją; 
omawia typy relacji w bazie danych;
zna zasady definiowania kluczy podstawowych;
tworzy kwerendy wybierające;
importuje dane z tabel arkusza kalkulacyjnego i dokumentu tekstowego do tabel bazy danych; 
eksportuje dane z tabel bazy danych do tabel arkusza kalkulacyjnego i do dokumentu tekstowego	potrafi wytłumaczyć pojęcie relacji;
projektuje relacyjną bazę danych składającą się z trzech lub większej liczby tabel;
samodzielnie ustala zawartość bazy (rodzaj informacji);
stosuje funkcje standardowe w kwerendach i standardowe operatory w kryteriach wyszukiwania; 
korzysta z parametrów w kwerendzie	zna dokładnie wybrany program do projektowania baz danych;
potrafi samodzielnie zaprojektować bazę danych, korzystając z wybranego narzędzia (programu); 
projekt bazy opiera na rzeczywistych informacjach, aby można było wykorzystać ją w praktyce, np. w szkole czy w domu;
korzysta z dodatkowej, fachowej literatury	

Tworzenie kwerend z wykorzystaniem języka SQL	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
wyszukuje informacje w bazie, korzystając wyłącznie z gotowych kwerend i narzędzi wbudowanych do programu	tworzy samodzielnie kwerendy (proste i złożone), korzystając z wbudowanych do programu narzędzi;
wie, co to jest język SQL;
potrafi przeanalizować przykład zapytania utworzonego w języku SQL	zna zasady wyszukiwania informacji w bazie z wykorzystaniem języka zapytań;
zna składnię i działanie podstawowych instrukcji; 
potrafi zapisać prostą kwerendę, korzystając z języka zapytań	potrafi zapisać złożone kwerendy, korzystając z wybranej instrukcji;
stosuje instrukcję SELECT i jej główne klauzule, by wybrać kolumny z tabel bazy danych;
wykorzystuje klauzulę JOIN do łączenia informacji z wielu tabel i kwerend oraz przedstawiania wyników jako jednego logicznego połączenia rekordów;
stosuje instrukcje INSERT do dopisywania rekordów i UPDATE do modyfikowania rekordów w bazie; 
usuwa rekordy, korzystając z instrukcji DELETE	opierając się na profesjonalnej literaturze, potrafi samodzielnie zapisywać złożone kwerendy z wykorzystaniem języka zapytań SQL	

Trójwymiarowe wizualizacje i animacje	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
korzysta z podstawowych narzędzi programu SketchUp do tworzenia modelu 3D;
tworzy prosty model 3D (np. pudełko), korzystając z instrukcji ćwiczenia;
zapisuje model w pliku
	rozumie zastosowanie narzędzi Follow Me i Pull/Push w prostym modelu;
wymienia kroki tworzenia animacji scen w programie SketchUp;
wykorzystuje projekt jako punkt wyjścia dla animacji;
podaje minimum cztery sceny w animacji modelu 3D zgodnie z ćwiczeniem	definiuje pojęcia bryły obrotowej i toru w kontekście Follow Me;
porównuje tworzenie brył zwykłych i obrotowych w SketchUp;
stosuje narzędzia do tworzenia brył obrotowych i animacji składającej się z co najmniej czterech scen
	omawia funkcję narzędzia Follow Me i jej zastosowanie w zaawansowanych detalach brył;
tworzy własny projekt modelu 3D zgodnie z zadaniem, wykazując się indywidualnością;
stosuje animację 3D w programie SketchUp, tworząc sekwencję scen z różnymi widokami	planuje i realizuje kompleksowy projekt wizualizacji i animacji 3D;
opracowuje dokumentację projektu i prezentuje ją w formie multimedialnej;
tworzy model 3D z zaawansowanymi funkcjami SketchUp i eksportuje efekt wideo;
analizuje wykonaną wizualizację i animacją 3D oraz przedstawia propozycje usprawnienia projektu	

Moduł C. Wokół algorytmiki i programowania

Złożone struktury danych	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcia struktury danych i/lub klasy danych;
wymienia przykłady typów strukturalnych w C++ i/lub klas danych w Pythonie;
podaje przykład prostego typu strukturalnego;
korzysta z gotowego kodu, aby utworzyć zmienną typu struktura lub klasy danych i przypisać do niej wartości	rozumie, jak typ strukturalny w C++ i/lub klasa danych w Pythonie grupuje dane różnych typów w jednym obiekcie;
wymienia zastosowanie typu słownikowego i go stosuje w Pythonie;
wykorzystuje typ strukturalny i/lub klasę danych w prostym programie, wprowadzając dane i je wyświetlając	definiuje tablicę struktur w C++ i/lub listę obiektów klasy w Pythonie jako odpowiednik tabeli w bazie danych;
porównuje implementację elementów bazy danych (rekord, tabela, indeks) ze strukturami w C++ i/lub Pythonie;
stosuje tablicę struktur i/lub listę obiektów do przechowania wielu rekordów i wyszukiwania według kryterium;
przedstawia ograniczenia prostych struktur danych	omawia zaawansowane aspekty klas danych w Pythonie i/lub struktur zagnieżdżonych w C++;
tworzy własną strukturę lub klasę opisującą konkretny obiekt i implementuje listę takich obiektów lub tablicę struktur;
stosuje typ słownikowy w Pythonie i/lub strukturę indeksującą w C++ do wyszukiwania danych według klucza;
analizuje wpływ struktur danych na efektywność rozwiązania problemu	planuje i realizuje projekt programu, dobierając odpowiednie struktury danych do złożonego problemu;
opracowuje dokumentację programu (opis typów danych, struktur, ich relacji i uzasadnienie wyboru);
tworzy program wykorzystujący strukturę danych z wieloma rekordami oraz indeksem lub słownikiem	

Arytmetyka komputerowa i systemy liczbowe	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcie systemu liczbowego innego niż dziesiętny (np. binarnego, szesnastkowego);
wymienia podstawowe działania arytmetyczne w systemie binarnym;
podaje przykład liczby zapisanej w systemie binarnym i przelicza ją na system dziesiętny;
zna pojęcia nadmiar i niedomiar w kontekście arytmetyki komputerowej;
wymienia przykład sytuacji, gdy dodanie dwóch liczb kończy się błędem z powodu skończonej liczby bitów;
podaje, że typy zmiennoprzecinkowe mają ograniczoną liczbę bitów, co wpływa na dokładność obliczeń	rozumie algorytm dodawania dwóch liczb w systemie binarnym;
stosuje funkcję konwersji liczby z systemu binarnego na dziesiętny lub odwrotnie;
wykorzystuje przykładowy kod (np. w języku C++ lub Python) do wykonania działania dodawania lub odejmowania w systemie innym niż dziesiętny;
rozumie, w jaki sposób skończona liczba bitów może powodować błędy zapisu liczb i operacji arytmetycznych;
stosuje prosty program lub analizuje przykład, gdzie występuje nadmiar lub niedomiar;
wykorzystuje pojęcie błędu przybliżenia lub zaokrąglenia w obliczeniach zmiennoprzecinkowych i podaje jego przyczynę	definiuje funkcje pomocnicze dla algorytmu: np. zamianę cyfry na wartość i odwrotnie;
porównuje procedury dodawania i odejmowania w systemie binarnym z odpowiednikami w systemie dziesiętnym;
stosuje algorytm dodawania lub mnożenia w systemie binarnym w programie, uwzględniając przeniesienie lub przesunięcie;
definiuje pojęcia błąd zaokrąglenia i błąd przybliżenia oraz wyjaśnia, jak one powstają w reprezentacji zmiennoprzecinkowej;
porównuje sytuację nadmiaru i niedomiaru w typach całkowitych i rzeczywistych na przykładzie ich zakresów bitowych	omawia programowanie algorytmów mnożenia i dzielenia liczb w systemach innych niż dziesiętny (na przykładzie systemu binarnego);
tworzy własny program w języku C++ i/lub Python realizujący działanie arytmetyczne w systemie binarnym;
analizuje efektywność użytego algorytmu i przedstawia możliwości jego rozbudowy lub optymalizacji;
omawia wpływ właściwości arytmetyki komputerowej na stabilność algorytmów numerycznych;
tworzy program, który uwzględnia zabezpieczenie przed nadmiarem, niedomiarem lub błędami zmiennoprzecinkowymi	planuje i realizuje projekt, w którym program wykonuje różne działania arytmetyczne w wybranym systemie liczbowym innym niż dziesiętny;
opracowuje dokumentację techniczną programu – opis algorytmów, użytych struktur danych i uzasadnienie wyborów;
porównuje działanie algorytmów dla różnych podstaw systemów liczbowych;
planuje i realizuje projekt lub zadanie programistyczne, w którym dobiera i uzasadnia dobór typów danych oraz algorytmów pod kątem ograniczeń arytmetyki komputerowej.
porównuje efektywność i dokładność różnych implementacji algorytmów numerycznych pod kątem wpływu nadmiaru, niedomiaru, zaokrągleń 	

Algorytmy numeryczne	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcie algorytmu numerycznego i jego zastosowania w programowaniu;
wymienia metodę znajdowania miejsca zerowego funkcji;
podaje, że algorytmy numeryczne operują na przybliżeniach i wymagają określenia dokładności;
korzysta z gotowego kodu lub instrukcji, by uruchomić program realizujący prostą metodę numeryczną	rozumie algorytm metody połowienia przedziału, opisuje podstawowe kroki i warunki zastosowania;
stosuje program do realizacji metody połowienia;
podaje przykład funkcji, dla której można zastosować metodę połowienia i uzasadnia wybór przedziału	definiuje pojęcie zbieżności algorytmu numerycznego i wyjaśnia, jakie warunki wpływają na jego działanie;
porównuje różne kryteria zakończenia algorytmu i wskazuje wady oraz zalety każdego z nich;
stosuje w programie numerycznym metodę bisekcji i analizuje otrzymany wynik pod kątem dokładności i liczby iteracji
	omawia bardziej zaawansowaną metodę numeryczną (np. metodę Newtona-Raphsona) jako alternatywę dla metody połowienia;
tworzy program realizujący metodę Newtona-Raphsona dla wybranej funkcji i analizuje wynik oraz zachowanie algorytmu;
stosuje w programie pomiar liczby iteracji oraz czasu działania algorytmu dla różnych wartości startowych i interpretuje różnice;
analizuje wpływ doboru parametru dokładności oraz warunków początkowych na efektywność i poprawność działania algorytmu numerycznego	planuje i realizuje projekt, w którym porównuje co najmniej dwie metody numeryczne dla tej samej funkcji i dokumentuje wyniki;
opracowuje dokumentację techniczną projektu, opis algorytmów, struktury danych oraz dobór metody i algorytmu
porównuje efektywność różnych metod numerycznych dla wielu funkcji – ocenia ich zalety i wady, wskazuje przypadki, w których dana metoda może zawieść lub być mniej efektywna	

Zastosowanie rekurencji w programowaniu, w tym do tworzenia fraktali	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcie rekurencji i potrafi wyjaśnić, że funkcja wywołuje samą siebie;
wymienia przykłady ciągów liczbowych generowanych rekurencyjnie;
zna pojęcie algorytmu Algorytmu Euklidesa i potrafi opisać jego cel;
omawia, co oznacza szybkie potęgowanie;
zna pojęcie fraktal oraz podaje przykład fraktala;
rozumie, że fraktale można generować poprzez rekurencję	rozumie algorytm rekurencyjnego generowania ciągu liczbowego i potrafi opisać jego działanie w uproszczeniu;
stosuje prostą funkcję rekurencyjną do wygenerowania n-tego wyrazu ciągu;
rozumie rekurencyjną implementację algorytmu Euklidesa i potrafi zapisać jego pseudokod;
stosuje w programie funkcję rekurencyjną realizującą szybkie potęgowanie i sprawdza wynik dla prostych danych;
omawia zasadę generowania fraktala rekurencyjnie;
stosuje podstawowy kod funkcji rekurencyjnej rysującej prostą wersję fraktala	definiuje warunek zakończenia wywołań rekurencyjnych oraz wyjaśnia, dlaczego jest konieczny;
porównuje wydajność rekurencyjnego rozwiązania generowania ciągu z jego iteracyjną odpowiednikiem, wskazując główne różnice;
definiuje warunek zakończenia w obu algorytmach (Euklidesa i potęgowania) i wyjaśnia jego konieczność w rekurencji;
definiuje warunek zakończenia rekurencji w algorytmie tworzącym fraktal i wyjaśnia, dlaczego jest niezbędny;
porównuje wizualny efekt dwóch różnych poziomów iteracji fraktala	tworzy własną funkcję rekurencyjną dla wybranego ciągu liczbowego;
omawia zalety rekurencyjnej wersji algorytmu Euklidesa oraz potencjalne ograniczenia w zależności od rozmiaru danych;
tworzy własny program implementujący rekurencyjnie wyżej wymienione algorytmy;
tworzy własną funkcję rekurencyjną w języku programowania generującą fraktal z góry okręśloną liczbą iteracji lub poziomem zagłębienia;
analizuje wpływ liczby iteracji na złożoność obrazu	planuje i realizuje projekt programu, w którego ramach generuje różne typy ciągów liczbowych rekurencyjnie i porównuje je ze sobą;
opracowuje dokumentację techniczną, opisuje algorytmy, ich parametry, porównuje ich efektywność i proponuje optymalizacje;
planuje i wykonuje projekt graficzny/fraktalny przy użyciu rekurencji – wybiera fraktal, modyfikuje regułę generowania, eksperymentuje z parametrami i dokumentuje zmiany wizualne

Algorytmy sortowania	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcie algorytmu sortowania;
wymienia co najmniej dwa algorytmy sortowania (np. przez wstawianie, przez scalanie);
omawia na przykładzie  działanie algorytmu sortowania (np. scalanie dwóch uporządkowanych ciągów)	rozumie zasadę działania algorytmu dziel i zwyciężaj w kontekście sortowania przez scalanie;
stosuje w programie algorytm sortowania (np. przez wstawianie) dla niewielkiego zbioru danych;
opisuje kroki algorytmu scalania dla dwóch uporządkowanych podciągów w konkretnym przykładzie	definiuje rekurencyjną wersję algorytmu sortowania przez scalanie;
porównuje algorytm sortowania przez wstawianie i algorytm scalania pod względem sposobu działania i zakresu zastosowania;
stosuje w programie algorytm sortowania przez scalanie, testując go dla nieuporządkowanego ciągu liczb i interpretuje otrzymany wynik	omawia algorytm szybkiego sortowania;
tworzy własny program implementujący algorytm szybkiego sortowania i testuje działanie dla różnych danych;
analizuje, w jaki sposób wybór pivota i podział danych wpływa na efektywność działania algorytmu sortowania
	planuje i realizuje projekt, w którym porównuje co najmniej dwa algorytmy sortowania (np. scalanie i szybkie sortowanie) na tym samym zestawie danych i dokumentuje wyniki;
tworzy program, który umożliwia analizę porównań i przesunięć wykonanych przez algorytmy sortowania oraz wizualizuje przebieg działania jednego z algorytmów

Dynamiczne struktury danych i grafy	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna pojęcia tablica dynamiczna, lista jednokierunkowa oraz stos jako przykłady dynamicznych struktur danych;
wymienia różnice między statyczną tablicą a tablicą dynamiczną;
zna pojęcie programowania dynamicznego i potrafi wymienić przykład jego zastosowania;
wymienia pojęcie grafu jako modelu abstrakcyjnego problemu i podaje prosty przykład grafu	rozumie, w jaki sposób tworzy się i zwalnia pamięć dla zmiennej dynamicznej;
stosuje prostą implementację listy jednokierunkowej lub stosu;
rozumie metodę programowania dynamicznego – dzielenie problemu na podproblemy i wykorzystanie tablicy pomocniczej;
stosuje graf do przedstawienia problemu algorytmicznego oraz identyfikuje typ grafu	definiuje operacje w dynamicznych strukturach danych: dodawanie, usuwanie, odczyt elementu – na przykładzie stosu lub kolejki;
definiuje zależność między programowaniem dynamicznym i grafami – potrafi wskazać, kiedy obydwa podejścia mogą być stosowane w jednym zadaniu;
porównuje zastosowanie programowania dynamicznego i struktur grafowych na przykładzie konkretnego problemu (np. wyszukiwanie ścieżki lub najdłuższego wspólnego podciągu)	tworzy własną implementację dynamicznej struktury danych i dokumentuje kod;
analizuje przypadki użycia dynamicznych struktur danych – wskazuje, kiedy statyczna struktura jest niewystarczająca i dlaczego trzeba użyć dynamicznej;
tworzy program, w którym wykorzystuje programowanie dynamiczne lub grafy do rozwiązania zadania (np. znajdowanie najdłuższego wspólnego podciągu;
analizuje i opisuje, jakie struktury danych są użyte w rozwiązaniu i jakie są ich zalety
	realizuje program, który obejmuje co najmniej dwie różne dynamiczne struktury danych;
planuje i realizuje projekt, w którym problem modelowany jest zarówno jako graf, jak i poprzez programowanie dynamiczne – wybiera metodę, implementuje ją i dokumentuje

Moduł D. Wokół Internetu i projektów
Zadania projektowe	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna etapy projektu: określenie zadania, analiza problemu i ustalenie zadań szczegółowych;
wymienia formy projektu (np. prezentacja multimedialna) i narzędzia wybrane do realizacji;
podaje, że projekt może być wykonywany w grupie i wie, że musi zostać przedstawiona prezentacja końcowa; wykonuje wskazane rzez koordynatora zadania szczegółowe całego projektu 	rozumie, w jaki sposób wybrać narzędzia do projektu oraz ustalić założenia przechowywania dokumentów (np. w chmurze);
stosuje przydział zadań w zespole i wykonuje wybrane zadanie szczegółowe w projekcie;
przedstawia prostą formę dokumentu projektu (np. prezentację lub folder z plikami) zgodnie z założeniami projektu	definiuje i opisuje formę końcowego dokumentu projektu (np. prezentacja, raport) oraz normy nazw plików i folderów;
porównuje różne narzędzia do współpracy w zespole (np. przechowywanie w chmurze i lokalne foldery) i wskazuje zalety jednego z nich;
stosuje w projekcie format dokumentu zgodny z założeniami, łączy materiały i sprawdza, czy wszystkie zadania zostały wykonane według wcześniejszych ustaleń	omawia zalety pracy zespołowej nad projektem – wskazuje korzyści wyboru zadań i współpracy w chmurze;
tworzy kompleksowy dokument projektu zawierający wszystkie zadania szczegółowe, spójne nazewnictwo plików i przechowywanie w jednym miejscu;
analizuje proces wykonania projektu – sprawdza, czy wyniki odpowiadają analizie i założeniom wstępnym oraz przedstawia wnioski	planuje i realizuje projekt zespołowy lub indywidualny w pełnym zakresie: wybór zadania, narzędzi, wykonanie, współpraca, dokumentacja, prezentacja;
opracowuje dokumentację techniczną oraz prezentację końcową – zawierającą analizę problemu, zadania szczegółowe, użyte narzędzia, sposób przechowywania i wnioski