Przejdź do głównej treści
Egzamin zawodowy

Jeden index.php: egzamin scala to, co podstawa opisuje osobno

8 minut czytania39 wyświetleń

Na egzaminie praktycznym HTML, CSS, SQL i skrypt spotykają się w jednym pliku, a podstawa programowa opisuje te umiejętności w trzech osobnych jednostkach. O tym, kto odpowiada za spoiwo i jak ćwiczyć je samodzielnie.

Na egzaminie praktycznym w kwalifikacji INF.03 wszystko spotyka się w jednym pliku. W index.php musi znaleźć się struktura HTML, podpięty arkusz stylów, zapytania do bazy i kod, który to wszystko spina – najczęściej PHP, choć nie zawsze, o czym za chwilę. Całość ma zadziałać w 150 minut. Tymczasem podstawa programowa opisuje te umiejętności w trzech osobnych jednostkach – strony, bazy i programowanie każde ze swoimi efektami i swoją pulą godzin. Ten wpis jest o szczelinie między jednym a drugim i o tym, kto właściwie odpowiada za jej zasypanie.

To druga część wpisu o nauczaniu projektowym. Tamten pokazywał, że część praktyczna jest dziś wąskim gardłem. Ten tłumaczy, skąd bierze się jej trudność organizacyjna.

Co scala egzamin

Weźmy konkretny arkusz, który możesz otworzyć obok: „Ranking gier komputerowych” z sesji czerwcowej 2025, oznaczony jako INF.03-01-25.06-SG. Polecenie brzmi: „Wykonaj aplikację internetową zawierającą ranking gier komputerowych”. W tych 150 minutach zdający ma zrobić cztery rzeczy naraz:

  1. Baza – utworzyć bazę, zaimportować tabele i napisać cztery zapytania SQL: jedno wybierające, jedno obcinające opis do stu znaków, jedno z sortowaniem i limitem, jedno wstawiające nowy wiersz.
  2. HTML – zbudować stronę z listą, blokami i formularzem w stopce, z deklaracją języka i jawnym kodowaniem polskich znaków.
  3. CSS – opisać wygląd w osobnym pliku, z konkretnymi selektorami i formatowaniem wyróżniającym liczbę punktów.
  4. PHP – napisać cztery skrypty, które łączą się z bazą i wypełniają stronę zwróconymi danymi.

Najlepiej widać to w skrypcie obsługującym formularz w stopce. Arkusz wymaga, żeby po wpisaniu identyfikatora gry skrypt wysłał do bazy zapytanie zmodyfikowane tak, by wybrać właśnie ten wiersz, a zwrócony rekord wyświetlił w nagłówku drugiego stopnia według wzoru „nazwa, punkty, cena”.

Policz, ile warstw bierze w tym udział. Formularz to HTML. Odebranie wpisanej wartości i złożenie z niej zapytania to PHP. Samo zapytanie to SQL. Wyświetlenie wyniku wraca do HTML, a jego wygląd do CSS. Dane robią pełną pętlę – ze strony do bazy i z powrotem na stronę.

To dokładnie ta rzecz, którą jeden z moich uczniów opisał w poprzednim odcinku słowami: „teraz widzę, jak dane przechodzą z formularza przez PHP do bazy i z powrotem na stronę”. Na egzaminie to jedno pole formularza – a materiał z trzech różnych jednostek podstawy programowej.

„Skrypt” nie zawsze znaczy PHP

Warto wiedzieć o jeszcze jednym: warstwy potrafią się wymieniać. W większości zadań skrypt jest tym, czym wydaje się z definicji – kodem PHP po stronie serwera, który łączy się z bazą i wypełnia stronę danymi. Ale zdarzają się zadania, w których skrypt ma działać po stronie klienta, w JavaScripcie operującym na drzewie DOM: kalkulator rat, walidacja formularza, komunikat po kliknięciu przycisku.

Tak było w zadaniach numer 1 z trzech kolejnych sesji styczniowych – 2023, 2024 i 2025 – gdzie arkusz zamiast tabeli funkcji PHP podawał „wybrane pola i metody modelu DOM języka JavaScript”. Możesz je porównać samodzielnie: „Witryna firmy IT” ze stycznia 2024 i „Witryna firmy szkoleniowej” ze stycznia 2025 wymagają skryptu po stronie przeglądarki, a przywołany wyżej arkusz czerwcowy – po stronie serwera. W styczniu 2026 zadanie numer 1 wróciło do PHP.

Proporcji nie podaję świadomie, bo nie mam na nią rzetelnej próbki: sprawdziłem po jednym arkuszu z sesji, a CKE wydaje ich w jednej sesji nawet dwanaście różnych. To, co dostanie konkretny zdający, zależy od numeru zadania. Z mojego doświadczenia z kolejnymi rocznikami PHP zdecydowanie dominuje, a wariant z JavaScriptem trafia się rzadko – ale trafia się na tyle regularnie, żeby nie stawiać wyłącznie na jedną z tych dróg. Zaznaczam wyraźnie: to obserwacja z moich roczników i z zadań, które akurat im się trafiły. W innej szkole, przy innym zestawie wylosowanych numerów, proporcja mogła wyglądać zupełnie inaczej.

Dla ucznia wniosek jest praktyczny: umiejętność „skryptowania” trzeba mieć po obu stronach. A dla tezy tego wpisu to argument dodatkowy – wymienia się nie tylko technologia, ale też to, którą jednostkę podstawy trzeba tego dnia połączyć z resztą.

Co dzieli podstawa programowa

Podstawa dla INF.03 ma osiem jednostek, 58 efektów kształcenia i 314 kryteriów weryfikacji. Rdzeń zawodowy to trzy z nich:

JednostkaZakresGodziny
INF.03.3Projektowanie stron internetowych90
INF.03.4Projektowanie i administrowanie bazami danych150
INF.03.5Programowanie aplikacji internetowych210

Czterysta pięćdziesiąt godzin w trzech osobnych przegródkach. Każda ma własne efekty, własne kryteria i własną pulę godzin.

Przejrzałem wszystkie 58 efektów kształcenia, szukając takiego, którego przedmiotem byłoby połączenie warstw w działającą całość. Nie znalazłem żadnego. Efekty brzmią: „posługuje się językiem HTML”, „stosuje język SQL”, „programuje skrypty wykonywane po stronie serwera” – każdy zamknięty w swoim pudełku.

Mosty pojawiają się dopiero piętro niżej, wśród 314 kryteriów weryfikacji: jedno mówi o stosowaniu „bibliotek do obsługi bazy danych, odpowiednich dla języka i frameworka”, dziewięć dotyczy formularzy, jedno sesji i ciasteczek. Są więc pojedynczymi kryteriami ukrytymi wewnątrz osobnych jednostek, a nie osobnym celem kształcenia.

Możesz to sprawdzić sam – cała podstawa programowa INF.03 jest u nas rozpisana na jednostki i kryteria.

To nie jest zarzut wobec podstawy

Zanim pójdę dalej: podział na jednostki jest porządkujący i trudno wyobrazić sobie sensowną alternatywę. Nie da się napisać dokumentu, który jednocześnie wylicza wymagania i nie rozbija ich na kategorie.

Co więcej, egzamin wcale nie zaniedbuje żadnej z tych kategorii. W przeanalizowanej przeze mnie próbie dziesięciu arkuszy INF.03 z sesji od 2021 do 2026 roku – łącznie 374 kryteria oceniania – rozkładają się one tak:

ObszarUdział kryteriów
Styl CSS26,7%
Zawartość i wygląd witryny (HTML)25,1%
Skrypt (PHP albo JavaScript)19,8%
Operacje na bazie danych (SQL)14,4%
Działanie witryny11,5%
Grafika i animacja2,4%

Struktura pięciu rezultatów jest w tych arkuszach stała od 2021 roku, a żaden obszar nie przekracza 27% kryteriów. Policzyłem też, jak to wygląda w każdym arkuszu z osobna: w dziewięciu na dziesięć trzy największe obszary nie wystarczyłyby do przekroczenia progu 75% – dawały od 69% do 74,3%. Jedynym wyjątkiem jest styczeń 2026 z wynikiem 76,5%. Mówiąc prościej: w dziewięciu z dziesięciu przeanalizowanych arkuszy trzy największe obszary nie wystarczały do osiągnięcia 75% kryteriów – trzeba było zdobyć część kryteriów również poza nimi. (Dlaczego progi się nie uśredniają, pisałem osobno).

Trzy zastrzeżenia, żeby było uczciwie. Zasady oceniania nie zawierają wag punktowych – kryterium jest spełnione albo nie – więc mówię o udziale kryteriów, a nie o procencie punktów, i powyższy rachunek zakłada, że wszystkie ważą tyle samo. Próba obejmuje po jednym arkuszu z sesji, a CKE wydaje ich w sesji nawet kilkanaście, więc to obraz z dziesięciu konkretnych zadań, nie z całego egzaminu. I nie każdy arkusz obejmuje wszystko: w styczniu 2024 pierwszym rezultatem była właśnie grafika i animacja, a bazy danych nie było wcale – stąd ten ostatni wiersz tabeli.

Problem jest organizacyjny, nie merytoryczny

Skoro egzamin wymaga spoiwa, a podstawa nie wyodrębnia go jako osobnego efektu kształcenia, pozostaje pytanie: kto ma go nauczyć?

Tu wchodzę na teren, którego nie mam czym udokumentować, więc mówię wyłącznie za siebie. Z tego, co widziałem w swojej pracy, materiał z tych trzech jednostek bywa rozłożony na osobne przedmioty zawodowe, a te mają osobnych nauczycieli. Każdy odpowiada wtedy za swój wycinek i każdy może go zrealizować wzorowo, a mimo to spoiwo nie należy do nikogo – nie dlatego, że ktoś zaniedbał obowiązki, tylko dlatego, że nie jest niczyim obowiązkiem. Jak to wygląda w innych szkołach, nie wiem; podejrzewam, że bardzo różnie.

Miałem pod tym względem szczęście: uczyłem w swojej klasie wszystkich przedmiotów zawodowych. Nie musiałem się z nikim umawiać, żeby projekt z jednych zajęć wracał na drugich – wystarczyło, że pamiętałem, co zadałem tydzień wcześniej. Gdy przedmioty są rozdzielone, to samo wymaga, żeby kilka osób usiadło i uzgodniło wspólny projekt, terminy i kryteria. Da się, ale wymaga decyzji, której nikt z zewnątrz nie wymusza.

I tu należy mi się samokrytyka, bo łatwo byłoby napisać ten wpis z pozycji wyższości. Zajrzałem do swojego rozkładu materiału dla INF.03: 131 tematów, z czego jawnie spinających warstwy – trzy, a realnie integracyjny jest jeden, i to pod koniec cyklu. Rozkład pisała osoba przekonana do uczenia całościowego, a i tak odwzorował strukturę podstawy. Siła tego podziału jest większa, niż się wydaje.

Co da się z tym zrobić w szkole

Nie mam na to danych, więc traktuj poniższe jako to, czym jest – wnioski praktyka, nie wyniki badania:

  • Jeden projekt przez cały cykl zamiast trzech osobnych. Ta sama aplikacja rośnie przez trzy lata: najpierw sam interfejs, potem baza pod niego, na końcu logika, która je łączy.
  • Artefakt wędruje między przedmiotami. Baza zaprojektowana na zajęciach z baz danych jest tą samą bazą, do której na programowaniu pisze się zapytania. Brzmi banalnie, a robi całą różnicę.
  • Wspólne kryteria oceny. Jeśli każdy przedmiot ocenia tylko swój wycinek, uczeń nigdy nie dostaje informacji zwrotnej o całości – czyli o tym, co sprawdza egzamin.
  • Nie trzeba od razu reformować całej organizacji pracy. Można zacząć od jednej rozmowy zespołu i ustalenia wspólnego tematu przewodniego.

Co możesz zrobić sam, jeśli szkoła tego nie spina

Dobra wiadomość jest taka, że spoiwo można ćwiczyć samodzielnie, na małych, ale kompletnych projektach.

Weź jeden temat – obojętne jaki, byle własny – i zbuduj wokół niego kompletną aplikację. Strona, baza, skrypt, który wyciąga z niej dane i wyświetla. Nie musi być duża; musi być pełna. Dopiero taki projekt uczy rzeczy, których nie da się poćwiczyć osobno: że nazwa kolumny w bazie wraca w kodzie PHP, że kodowanie znaków trzeba ustawić w trzech miejscach naraz, że zapytanie zwracające dobre wyniki w phpMyAdmin potrafi wysypać stronę.

Potem sprawdź się na prawdziwym materiale – arkusze praktyczne z poprzednich sesji są do tego lepsze niż jakikolwiek zestaw ćwiczeń, bo wymagają dokładnie tej integracji, o której jest ten wpis, i to z zegarkiem w ręku.

Jeżeli po drodze zorientujesz się, że każda warstwa z osobna idzie Ci dobrze, a razem się sypie – to nie musi oznaczać braku talentu. Jeżeli przez większość nauki ćwiczyłeś te warstwy osobno, ich połączenie w całość jest po prostu kolejną umiejętnością, którą trzeba przećwiczyć. Egzamin praktyczny wymaga jej wprost.

Udostępnij:

Może Cię zainteresować

Chcesz przygotować się do egzaminu?

Zaloguj się i ćwicz tysiące pytań egzaminacyjnych za darmo.