Przejdź do treści
Egzamin INF.04 — jak zdać praktykę i teorię
Egzamin INF.04 — jak zdać: plan na 180 minut, konsola, aplikacja i testy

Egzamin INF.04 — jak zdać: plan na 180 minut, konsola, aplikacja i testy

INF.04 w pigułce
  • ✓Kwalifikacja: projektowanie, programowanie i testowanie aplikacji. Zawód: technik programista (razem z INF.03).
  • ✓Część pisemna: 40 pytań, 60 minut, próg 50%, czyli 20 poprawnych odpowiedzi.
  • ✓Część praktyczna: 180 minut, cztery rezultaty, próg 75% punktów.
  • ✓Sesja zimowa 2027: pisemna 7–13 stycznia, praktyczna INF.04 14–15 stycznia. Wyniki 31 marca 2027.
  • ✓Najtańsze punkty: foldery, zrzuty ekranu, dokumentacja i testy. Zdający najczęściej tracą je nie z braku umiejętności, tylko z braku czasu na końcu.

INF.04 to egzamin dla przyszłego programisty, ale nie sprawdza, czy umiesz napisać duży system. Sprawdza, czy w 180 minut postawisz dwa niezależne projekty, uruchomisz je, udokumentujesz i spakujesz dokładnie według instrukcji. Algorytmy są na poziomie pierwszej, drugiej klasy technikum. Trudność leży w organizacji pracy.

Poniżej znajdziesz terminy na 2027 rok, listę rezultatów, analizę arkuszy z lat 2024–2026, plan na 180 minut i pewniaki z gotowym kodem. Każdy z tych arkuszy rozpisaliśmy szczegółowo w bazie wiedzy, linki są przy tabeli.

Egzamin INF.04 w 2027 roku: terminy i zasady#

Sesja zima 2027Sesja lato 2027
Część pisemna (komputerowo)7–13 stycznia2–10 czerwca
Część praktyczna INF.0414–15 stycznia4–5 czerwca
Termin dodatkowy28 stycznia (pisemna), 29 stycznia (praktyczna)28 czerwca (pisemna), 29 czerwca (praktyczna)
Ogłoszenie wyników31 marca 202727 sierpnia 2027

Źródło: komunikat dyrektora CKE o harmonogramie egzaminu zawodowego 2026/2027.

  • Część pisemna: 40 zadań zamkniętych w systemie SIOEZ, 60 minut, zdajesz od 20 punktów.
  • Część praktyczna: 180 minut na komputerze, zdajesz od 75% punktów.
  • Dyplom technika programisty: zdane INF.03 i INF.04 oraz wykształcenie średnie.

INF.04 ma opinię najłatwiejszej z trzech kwalifikacji informatycznych. W sesji zimowej 2025 w województwie mazowieckim cały egzamin zdało 70,5% zdających, a INF.02 tylko 34,2% (sprawozdanie OKE Warszawa). Część praktyczną INF.04 zdało tam 75,3% osób. Co czwarta osoba odpada więc na praktyce, choć potrafi programować.

Co jest oceniane w części praktycznej#

Arkusz INF.04 ma cztery rezultaty. Trzy są stałe, czwarty się zmienia:

  1. implementacja, kompilacja i uruchomienie programu (lub programów),
  2. aplikacja konsolowa,
  3. druga aplikacja: desktopowa, webowa albo mobilna,
  4. dokumentacja aplikacji albo testy aplikacji.

Rezultat pierwszy nie dotyczy logiki, tylko dowodów: czy projekt się kompiluje, czy są zrzuty ekranu z działania, czy archiwa i foldery mają nazwy z arkusza. Program, który się nie kompiluje, traci punkty dwa razy: w rezultacie pierwszym i w rezultacie za samą aplikację.

Co było w arkuszach 2024–2026#

ElementStyczeń 2024Styczeń 2025Styczeń 2026
Aplikacja konsolowawalidator numeru PESEL z cyfrą kontrolnąklasa z operacjami na tablicyklasa Kosc i program główny
Druga aplikacjadesktopowa: formularz danych paszportowychwebowa (front-end): galeria z filtrowaniem, React lub Angularmobilna: gra w pięć kości
Czwarty rezultatdokumentacjadokumentacjatesty jednostkowe
Materiały startowearchiwum z hasłempliki z danymi i grafikąarchiwum z hasłem z obrazkami kości

Rozbiory z kodem: INF.04 styczeń 2024, styczeń 2025, styczeń 2026.

Wnioski:

  • Konsola jest zawsze i zawsze sprowadza się do klasy albo funkcji z prostą logiką: walidacja, operacje na tablicy, losowanie.
  • Druga aplikacja rotuje między desktopem, webem i mobilną. Musisz mieć przećwiczony przynajmniej szkielet każdej z nich w środowisku, które będzie w Twojej szkole.
  • Testy jednostkowe są realnym rezultatem, a nie dodatkiem. W styczniu 2026 były czwartą częścią wyniku.

Języki i środowiska#

Według informatora CKE aplikację konsolową piszesz w C++, C#, Javie albo Pythonie, zależnie od tego, co jest zainstalowane na stanowisku. Aplikację mobilną tworzy się w Android Studio (widok w XML) albo w Visual Studio (widok w XAML). Informator dopuszcza też zadania z frameworkami webowymi takimi jak React, Angular, Node.js, Django czy ASP.NET.

Praktyczna rada: zapytaj w szkole, jakie środowiska będą na stanowiskach, i ćwicz dokładnie na nich. Na egzaminie nie ma internetu, więc nie doinstalujesz brakującego pakietu ani nie sprawdzisz składni w dokumentacji.

Plan na 180 minut#

Plan powstał na bazie trzech ostatnich sesji. Cztery rezultaty ważą podobnie, więc kwadrans na dokumentację albo testy jest wart tyle samo, co godzina na aplikację mobilną.

EtapCzasUwagi
Foldery z arkusza, rozpakowanie materiałów, założenie obu projektów10 minemulator Androida lub instalację pakietów odpal od razu w tle
Aplikacja konsolowa: klasa, metody, program główny45 minnajgęstsza punktowo część, rób ją wypoczęty
Zrzuty konsoli i archiwum projektu10 minzaraz po uruchomieniu, nie na końcu
Testy jednostkowe albo komentarz dokumentacyjny15–25 minnajtańsze punkty w arkuszu
Druga aplikacja: wygląd30–40 minwygląd jest oceniany niezależnie od logiki
Druga aplikacja: logika i zdarzenia35–40 minnajpierw podstawowe działanie, potem szczegóły
Zrzuty drugiej aplikacji i dokument z opisem10–20 mintyle zrzutów, ile stanów aplikacji wymaga arkusz
Archiwa, czyszczenie folderów, nagranie płyty15–20 minrezerwa, której nigdy nie tniesz

Zasada ratunkowa: jeśli o 150. minucie druga aplikacja wciąż się nie kompiluje, zrób zrzut tego, co masz, spakuj projekt i przejdź do nagrywania płyty. Wygląd i kod też są oceniane, więc częściowo zrobiona aplikacja to nadal punkty. Rezultat za dokumentację można dostać w komplecie nawet za program, który się nie uruchamia.

Pewniaki z gotowym kodem#

Klasa z konstruktorem i metodami

Konsola w INF.04 prawie zawsze wymaga klasy: pola prywatne, konstruktor, kilka metod i program główny, który z nich korzysta. Poniżej szkielet w C# na przykładzie zadania w stylu stycznia 2026.

Klasa w stylu arkusza 2026 (C#)

using System;

class Kosc
{
  private int wynik;
  private static readonly Random los = new Random();

  public Kosc()
  {
      wynik = 0;
  }

  public int Rzuc()
  {
      wynik = los.Next(1, 7); // 1..6
      return wynik;
  }

  public int PobierzWynik()
  {
      return wynik;
  }
}

class Program
{
  static void Main()
  {
      Kosc k = new Kosc();
      for (int i = 0; i < 5; i++)
      {
          Console.WriteLine("Rzut " + (i + 1) + ": " + k.Rzuc());
      }
  }
}
💡
Random tworzysz raz, jako pole klasy, a nie w każdej metodzie. Przy szybkim wywoływaniu nowy Random w metodzie potrafi zwracać te same wartości.

Więcej wariantów tej konstrukcji w pewniaku klasa z konstruktorem i metodami.

Walidacja danych i cyfra kontrolna

W styczniu 2024 cała aplikacja konsolowa stała na sprawdzaniu numeru PESEL. Kto pomylił wagi albo zapomniał o przypadku, w którym reszta z dzielenia wynosi zero, dostawał program, który działa, ale zwraca zły wynik.

Cyfra kontrolna numeru PESEL (Python)

def pesel_poprawny(pesel: str) -> bool:
  if len(pesel) != 11 or not pesel.isdigit():
      return False
  wagi = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3]
  suma = sum(int(c) * w for c, w in zip(pesel, wagi))
  kontrolna = (10 - suma % 10) % 10
  return kontrolna == int(pesel[10])

print(pesel_poprawny("44051401359"))  # True
print(pesel_poprawny("44051401358"))  # False
💡
Wagi to 1, 3, 7, 9 powtarzane dla pierwszych dziesięciu cyfr. Ostatnie modulo 10 obsługuje przypadek, w którym suma kończy się zerem.

Ten sam schemat (wagi, suma, modulo) dotyczy numerów kont, ISBN i innych identyfikatorów. Szczegóły w pewniaku walidacja danych i cyfra kontrolna.

Testy jednostkowe

Najczęstszy problem z testami nie dotyczy ich treści, tylko założenia projektu testowego w środowisku. Przećwicz to przed egzaminem w każdym środowisku, z którego możesz skorzystać.

Test jednostkowy metody Rzuc (C#, MSTest)

using Microsoft.VisualStudio.TestTools.UnitTesting;

[TestClass]
public class KoscTesty
{
  [TestMethod]
  public void Rzuc_ZwracaWartoscOd1Do6()
  {
      Kosc k = new Kosc();
      for (int i = 0; i < 1000; i++)
      {
          int w = k.Rzuc();
          Assert.IsTrue(w >= 1 && w <= 6);
      }
  }

  [TestMethod]
  public void NowaKosc_MaWynikZero()
  {
      Kosc k = new Kosc();
      Assert.AreEqual(0, k.PobierzWynik());
  }
}
💡
Test z losowością sprawdza zakres wyniku, a nie konkretną liczbę. Wywołanie w pętli zwiększa szansę wyłapania błędu typu Next(1, 6).

W Pythonie odpowiednikiem jest moduł unittest, w Javie JUnit. Gotowe przykłady w pewniaku testy jednostkowe metody.

Komentarz dokumentacyjny

Arkusz zwykle podaje dokładny wzór nagłówka: nazwa, opis, parametry, zwracana wartość, autor. Trzymasz się go co do słowa i podpisujesz numerem zdającego, jeśli arkusz tego wymaga.

Komentarz dokumentacyjny nad metodą

/**********************************************
nazwa funkcji:     Rzuc
opis funkcji:      losuje liczbę oczek od 1 do 6 i zapamiętuje ją w polu wynik
parametry:         brak
zwracany typ i opis: int, wylosowana liczba oczek
autor:             numer zdającego
***********************************************/
💡
Komentarz musi stać nad metodą wskazaną w arkuszu. Zrzut ekranu kodu z widocznym komentarzem często trafia do dokumentu z opisem aplikacji.

Organizacja: punkty za porządek#

W każdym arkuszu INF.04 struktura folderów, nazwy zrzutów i archiwów są narzucone. Zrzut nazwany „zrzut ekranu 2026-01-14.png” zamiast wymaganego „konsola1.png” to strata punktu za coś, co kosztuje trzy sekundy.

  • Folder nazywasz numerem zdającego, a podfoldery dokładnie tak jak w arkuszu.
  • Archiwa z hasłem rozpakowujesz w pierwszych minutach. Bez nich często nie ma czym testować drugiej aplikacji.
  • Tytuł okna i podpis z numerem zdającego to jeden z najczęściej gubionych i najtańszych punktów.
  • Przed nagraniem płyty usuwasz z projektu foldery node_modules, bin i obj, jeśli arkusz każe zostawić tylko archiwum i pliki źródłowe. Inaczej nagrywanie potrafi nie skończyć się przed czasem.

Część pisemna INF.04#

Część pisemną INF.04 zdaje większość osób. W cytowanej sesji zimowej 2025 na Mazowszu zdało ją 86,2% zdających. Pytania dotyczą algorytmiki i złożoności, paradygmatów programowania, języków, inżynierii oprogramowania i projektowania oraz tworzenia aplikacji. Każdy z tych działów ma u nas teorię i quiz:

Jak się przygotować w 12 tygodni#

TygodnieCo ćwiczyć
1–2klasy, konstruktory, metody, tablice i listy w wybranym języku konsolowym
3–4walidacja danych, cyfry kontrolne, operacje na tekstach i tablicach
5–6aplikacja desktopowa lub mobilna: układ widoku, kontrolki, zdarzenia
7aplikacja webowa front-end: komponent, lista z danych, filtrowanie
8testy jednostkowe w Twoim środowisku i komentarze dokumentacyjne
9–11pełne arkusze 2024, 2025 i 2026 na czas, z nagraniem płyty
12część pisemna: codzienne quizy i powtórka błędów

Najczęstsze pytania#

Ile trwa egzamin INF.04?

Część pisemna 60 minut, część praktyczna 180 minut. To o pół godziny dłużej niż w INF.02 i INF.03, ale zadanie jest odpowiednio większe.

Kiedy jest egzamin INF.04 w 2027 roku?

W sesji zimowej część praktyczna INF.04 odbywa się 14–15 stycznia 2027, a pisemna między 7 a 13 stycznia. W sesji letniej praktyczna to 4–5 czerwca, a pisemna 2–10 czerwca 2027.

Jaki język wybrać na INF.04?

Ten, w którym czujesz się najpewniej i który jest zainstalowany na stanowiskach w Twojej szkole. Na konsolę najczęściej wybierane są C# i Python. Do aplikacji mobilnej potrzebujesz Android Studio albo Visual Studio, do desktopowej najczęściej Visual Studio.

Czy na INF.04 są testy jednostkowe?

Nie w każdej sesji, ale w styczniu 2026 były osobnym, czwartym rezultatem. Przygotuj się na nie tak samo jak na dokumentację.

Czy można zdać INF.04 bez działającej drugiej aplikacji?

Tak, jeśli zdobędziesz 75% punktów w pozostałych rezultatach i częściowe punkty za wygląd i kod drugiej aplikacji. Dlatego nigdy nie zostawiaj konsoli, testów i dokumentacji na koniec.

Przygotuj się z nami#

Jeśli chcesz przejść przez arkusze z kimś, kto pilnuje czasu i kolejności, sprawdź kurs INF.04 online. Pracujemy 1 na 1 na arkuszach CKE, w środowisku, które będzie w Twojej szkole. Do pary przyda się poradnik jak zdać egzamin INF.03, bo technik programista zdaje obie kwalifikacje.

Przygotowanie do INF.03

Nie chcesz przerabiać tego sam?

Prowadzimy indywidualne przygotowanie do kwalifikacji INF.03 — PHP, SQL, HTML i CSS na prawdziwych arkuszach z poprzednich sesji. Zobacz program i cenę.

Zobacz kurs INF.03 online

Zdajesz też maturę? Dla technika informatyka informatyka rozszerzona to najbliższy wybór — połowę materiału masz już przerobioną na kwalifikacjach. Zobacz przygotowanie do matury z informatyki →

Ten kod wydaje się trudny? 🤯

Na egzaminie nie ma czasu na zastanawianie się. Uczymy gotowych schematów w PHP i SQL, które działają zawsze. Zapisz się na darmową konsultację, a opiszemy Ci plan działania w 15 minut.

🚀 Umów konsultację

Autor: PROkorepetycje