Egzamin INF.04 - jak wygląda i jak się przygotować
INF.04 to kwalifikacja “Projektowanie, programowanie i testowanie aplikacji” - jedna z dwóch kwalifikacji w zawodzie technik programista (druga to INF.03). Egzamin sprawdza, czy umiesz w ograniczonym czasie napisać działający program, opisać go i przetestować. Na tej stronie znajdziesz formułę egzaminu, opis części praktycznej, uczciwą mapę tego, co przećwiczysz w BitWizards, oraz plan nauki na kilka tygodni.
BitWizards jest darmowy dla szkół, a kod piszesz i uruchamiasz w przeglądarce, bez instalacji. Część kursów otworzysz od razu, bez logowania.
Jak wygląda egzamin INF.04
Egzamin zawodowy w obecnej formule składa się z dwóch części, które zdajesz osobno. Żeby uzyskać certyfikat kwalifikacji, trzeba zdać obie.
Część pisemna
- 40 zadań zamkniętych, w każdym cztery odpowiedzi, z których jedna jest poprawna.
- 60 minut, test rozwiązywany przy komputerze.
- Próg zdania: co najmniej 50% punktów.
Pytania dotyczą m.in. algorytmów, struktur danych, programowania obiektowego, analizy fragmentów kodu (“co wypisze program”), testowania, zasad tworzenia interfejsów i bezpieczeństwa aplikacji. Bardzo pomaga tu nawyk śledzenia kodu linia po linii - dokładnie to robi krokowanie w BitWizards.
Część praktyczna
- 180 minut pracy przy komputerze na przygotowanym stanowisku.
- Próg zdania: co najmniej 75% punktów - to wysoki próg, więc liczy się dokładność, a nie tylko “mniej więcej działa”.
- Oceniane są rezultaty: kod, działanie aplikacji, dokumentacja i testy.
Terminy ogłasza co roku Centralna Komisja Egzaminacyjna. Egzamin odbywa się w dwóch okresach: zimowym i letnim. Aktualny harmonogram sprawdzaj na stronie CKE i w swojej szkole.
Co jest w części praktycznej INF.04
Arkusze z ostatnich lat mają powtarzalny układ. Typowo zdający dostaje kilka powiązanych poleceń:
- Aplikacja konsolowa - program w wybranym języku, który realizuje opisany algorytm: przetwarza tablicę, liczy wynik, sortuje lub wyszukuje, często z użyciem klasy i metod. Liczą się poprawny wynik, struktura kodu i nazwy.
- Aplikacja z interfejsem graficznym - mobilna lub desktopowa: formularz, pola, przyciski, reakcja na zdarzenia, czasem prosta walidacja danych.
- Dokumentacja - komentarze w kodzie (np. nagłówek funkcji: nazwa, opis, parametry, wynik, autor) oraz zrzuty ekranu pokazujące działanie aplikacji.
- Testy - w części arkuszy trzeba przygotować i opisać przypadki testowe albo pokazać wynik uruchomienia testów.
Na końcu pracę porządkujesz w folderach zgodnie z instrukcją. Proporcje między tymi elementami zmieniają się w zależności od arkusza, ale aplikacja konsolowa i dokumentacja pojawiają się bardzo regularnie.
Najczęstsze powody utraty punktów
- Program działa dla przykładu z arkusza, ale nie dla innych danych.
- Brak komentarzy albo komentarze niezgodne z poleceniem.
- Pominięte zrzuty ekranu lub zapisane w złym miejscu.
- Nazwy klas, metod i pól inne niż w poleceniu.
- Za mało czasu na drugą aplikację, bo pierwsza “utknęła” na błędzie.
Każdy z tych punktów da się wyćwiczyć: pisz krótkie programy na czas, sprawdzaj je na różnych danych i od razu dopisuj komentarze.
Przykład zadania w stylu arkusza
Typowe polecenie konsolowe brzmi mniej więcej tak: “Napisz klasę, która przechowuje tablicę liczb, wypełnia ją losowymi wartościami z zakresu, wypisuje je, a następnie wyszukuje podaną liczbę i zwraca jej pozycję albo informację, że jej nie ma”. Do tego komentarz nagłówkowy każdej metody i zrzut ekranu uruchomienia. Same pojedyncze elementy (pętla, tablica, wyszukiwanie liniowe, metoda w klasie) są proste - trudność polega na tym, żeby złożyć je bezbłędnie w kilkanaście minut i jeszcze zostawić czas na drugą aplikację.
Dlatego najlepszy trening to dużo krótkich zadań z natychmiastową informacją zwrotną: napisz, uruchom, porównaj wynik, popraw. Tak są zbudowane kursy w BitWizards.
Jak ćwiczyć do INF.04 w BitWizards
Trzy języki w przeglądarce
- Podstawy C++ - 10 tematów i około 200 przykładów
oraz zadań: zmienne, operatory, warunki, pętle, funkcje, tablice 1D i 2D.
Kod możesz krokować linia po linii i obserwować, jak zmieniają się wartości.
Silnik w przeglądarce obsługuje podzbiór C++ (bez klas, struktur i
std::string), więc programowanie obiektowe ćwiczysz w Javie. - Podstawy Pythona - zmienne, warunki, pętle, listy, słowniki, algorytmy na listach, funkcje i wyjątki. Też z krokowaniem. Dobry start, jeśli dopiero uczysz się myślenia algorytmicznego.
- Podstawy Javy - od pierwszego programu przez
pętle i rekurencję po klasy i obiekty, dziedziczenie i polimorfizm, tablice,
sortowanie i wyszukiwanie,
Scanneri wyjątki. Po zalogowaniu Java działa na serwerze z interaktywnymScanner(wpisujesz dane do działającego programu). Bez logowania obejrzysz nagrania uruchomień przykładów.
Więcej o każdym języku: C++, Python, Java.
Funkcje, które pomagają na egzaminie
- Krokowanie (C++, Python): wykonujesz program instrukcja po instrukcji i widzisz, która linia działa. To najlepszy trening do pytań “co wypisze ten kod” z części pisemnej.
- Automatyczne sprawdzanie: po uruchomieniu platforma porównuje wynik z oczekiwanym. Zaliczone zadanie dostaje gwiazdkę. Przycisk “Oczekiwany wynik” pokazuje, co program powinien wypisać - tak jak przypadek testowy w arkuszu.
- Bezpieczne uruchamianie: nieskończona pętla nie zawiesi karty, możesz zatrzymać program w każdej chwili.
- Automatyczny zapis: kod zapisuje się na bieżąco razem z historią zmian, więc nie stracisz pracy po zamknięciu karty.
Dla nauczycieli: egzaminy próbne i podgląd pracy
Nauczyciel zakłada klasę, przydziela kursy i udostępnia tematy w swoim tempie. Do przygotowania do INF.04 przydają się szczególnie:
- egzaminy próbne z limitem czasu liczonym na serwerze, z sygnałami przełączania kart i utraty fokusu okna,
- podgląd pracy ucznia na żywo i odtwarzanie historii pisania kodu (widać, jak uczeń dochodził do rozwiązania, a nie tylko wynik końcowy),
- oceny w skali 1-6 przy zadaniach i statystyki zaliczeń,
- własna treść zadań na bazie gotowych szablonów (np. zadanie w stylu arkusza),
- tryb “Pokaż klasie” do omawiania rozwiązań na rzutniku.
Szczegóły: BitWizards dla szkół i jak zacząć.
Czego na razie nie przećwiczysz w BitWizards
Mówimy wprost, żeby nie było rozczarowań:
- Aplikacje mobilne i desktopowe z interfejsem graficznym (np. Android, formularze okienkowe) - tego nie da się dziś zbudować w BitWizards. Tę część egzaminu ćwicz w środowisku, którego używa Twoja szkoła.
- Testy jednostkowe w konkretnym frameworku - u nas sprawdzasz wynik programu automatycznie, ale nie piszesz własnych klas testowych.
- Pełny C++ z klasami - w przeglądarce działa podzbiór języka; obiektowość ćwiczysz w Javie.
To, co pokrywamy dobrze: logika programów, algorytmy, tablice, funkcje, aplikacje konsolowe i programowanie obiektowe w Javie - czyli fundament, na którym opiera się każda z aplikacji w arkuszu.
Co rozwijamy
Materiały pod INF.04 stale poszerzamy o kolejne zagadnienia programowania aplikacji. Na liście “do rozważenia” są m.in. podstawy frameworków (np. webowych) i nauka budowy aplikacji z interfejsem. Niedawno doszedł kurs Podstawy JavaScript - pierwsze tematy już działają, kolejne dochodzą. Jeśli zależy Ci na konkretnym temacie, daj nam znać.
Plan nauki do INF.04 na 8 tygodni
Plan zakłada kilka godzin tygodniowo. Jeśli masz mniej czasu, rozciągnij go, ale nie pomijaj tygodni 6-8.
- Tydzień 1 - wybór języka i podstawy. Zmienne, typy, operatory, wypisywanie. Jeśli zaczynasz od zera, weź Podstawy Pythona; jeśli w szkole masz C++, przejdź pierwsze tematy Podstaw C++.
- Tydzień 2 - warunki i pętle. Krokuj każdą pętlę, aż przestanie Cię zaskakiwać, ile razy się wykona.
- Tydzień 3 - tablice i funkcje. Sumy, maksimum, zliczanie, przeszukiwanie. Każdą funkcję opisz komentarzem nagłówkowym, jak na egzaminie.
- Tydzień 4 - algorytmy. Sortowanie, wyszukiwanie, liczby pierwsze, NWD. Sprawdzaj programy na kilku zestawach danych, nie tylko na przykładzie.
- Tydzień 5 - programowanie obiektowe. Klasy, pola, konstruktory, metody, dziedziczenie - w Podstawach Javy.
- Tydzień 6 - aplikacja z interfejsem. Ćwicz w szkolnym środowisku: formularz, przycisk, obsługa zdarzenia, prosta walidacja.
- Tydzień 7 - dokumentacja i testy. Komentarze, zrzuty ekranu, opis przypadków testowych. Zrób sobie listę kontrolną na egzamin.
- Tydzień 8 - próby na czas. Rozwiąż archiwalne arkusze w 180 minut. Jeśli nauczyciel korzysta z BitWizards, poproś o egzamin próbny z limitem czasu.
Część pisemną powtarzaj równolegle: kilkanaście pytań dziennie i analiza każdego błędu, zwłaszcza w pytaniach z kodem.
Lista kontrolna na dzień egzaminu
- Przeczytaj cały arkusz, zanim zaczniesz pisać kod. Zaplanuj czas na każdą aplikację i na dokumentację.
- Nazwy klas, metod, pól i plików przepisuj dokładnie z polecenia.
- Zacznij od wersji, która działa, a dopiero potem ją upiększaj.
- Sprawdź program na danych z arkusza i na co najmniej dwóch własnych zestawach, w tym na przypadku brzegowym (pusta tablica, zero, wartość nieobecna).
- Komentarze dopisuj od razu przy pisaniu metody, nie na końcu.
- Zrzuty ekranu rób na bieżąco i zapisuj je tam, gdzie każe instrukcja.
- Ostatnie 10-15 minut zostaw na sprawdzenie struktury folderów i plików.
Zacznij przygotowania
Wypróbuj kursy bez logowania albo zaloguj się, żeby zapisywać postęp i uruchamiać Javę z interaktywnym wejściem. Jeśli kształcisz się na technika programistę, zobacz też egzamin INF.03 - strony, aplikacje internetowe i bazy danych. Nauczycieli zapraszamy na stronę informatyka w szkole.