Ne/vyrovnané výsledky žáků napříč předměty

Jana Jany
7 min readMay 29, 2022

--

Část 1. - O sběru a transformaci dat

Jana Jany Nepimachová, Polly Batcheva-Pavlova
Digitální akademie: Data, jaro 2022
Vím, kam jdu

Mentoři: Lukáš Sahula, Jan Pardubický
Stav projektu: rozpracovaný

Vznik projektu a jeho cíle

Projekt je realizován na základě podnětu iniciativy Vím, kam jdu podporující úrovňové vzdělávání. Vzhledem k omezeným časovým možnostem byla v rámci Digitální akademie: Data realizována pouze jeho počáteční fáze. Pro další vývoj projektu sledujte navazující články.

Cílem projektu je ověření primární hypotézy, že drtivá většina žáků podává nerovnoměrné výkony napříč předměty a jen malá část vyniká, nebo je naopak neúspěšná napříč všemi předměty.

Data a jejich získávání

Výsledky žáků jsou analyzovány na podkladě známek na vysvědčení v průběhu několika let zpátky. Známky na vysvědčení jsou údaje, které školy povinně shromažďují a archivují.

Očekávaly jsme tedy, že k nim bude mít přístup a v minulosti je třeba i zpracovávalo Ministerstvo školství mládeže a tělovýchovy (MŠMT), popř. Česká školní inspekce (ČŠI). Jako první jsme se tedy s žádostí o data obrátily na ně. Poskytnutí dat z jejich strany by pro nás znamenalo velikou výhodu. Získaly bychom obrovské množství zpracovatelných dat najednou (možná i ze všech základních škol v ČR) a data by byla anonymizovaná. Samotné anonymizování dat by pro nás nepředstavovalo technický problém. Avšak vzhledem k Nařízení evropského parlamentu a rady (EU) 2016/679 (GDPR) by bylo složité ne-li nemožné (smluvně či jinak) zajistit, abychom data v neanonymizované podobě vůbec mohly obdržet. MŠMT i ČŠI nám však odpověděly, že námi požadovanými daty nedisponují. Musely jsme tedy přistoupit k přímému oslovování škol.

O data jsme žádaly na podkladě Zákona č. 106/1999 Sb., o svobodném přístupu k informacím. Oslovené subjekty nám tak byly povinny do 15 dnů odpovědět, jakým způsobem naši žádost vypořádají, nebo z jakého důvodu ji vypořádat nemohou.

K získání dat bylo vytipováno a prostřednictvím Datové schránky (DS) osloveno 23 základních škol. Do výběru byly zařazeny větší školy, u kterých byl předpoklad pozitivního vztahu k IT systémům. Cílem bylo získat co největší množství dat od každé školy, ve strojově zpracovatelné podobě a předaných ideálně prostřednictvím Datové schránky.

Z 23 oslovených škol:

  • 11 nedodrželo svoji zákonnou povinnost a na naši žádost do dnešního dne, tj. 2 měsíce od doručení žádosti, vůbec nezareagovalo;
  • 6 škol požadovalo za poskytnutí dat přemrštěnou částku ve výši tisíců Kč;
  • 2 školy žádost formalisticky zamítly s nesmyslným odůvodněním;
  • 1 škola příslíbila zaslání dat (kvůli jejich velkému objemu) na e-mailovou adresu. Po dodání e-mailové adresy však data neposkytla.
  • Pouhé 3 školy nám data ochotně poskytly.

Všechny 3 školy, které data poskytly, používají školní elektronický systém Bakaláři. Přičemž škola, která poslala data hned druhý den po obdržení žádosti, poskytla na základě naší prosby také návod, jakým způsobem data ze školního systému Bakaláři extrahovala. Těmto 3 školám náleží naše veliké poděkování a budou-li chtít být v tomto článku explicitně jmenovány, nechť se ozvou Janě.

Z výše uvedeného návodu a z rychlosti dodání dat do druhého dne jednou ze škol je patrné, že čas potřebný k extrahování dat ze školního elektronického systému Bakaláři je zanedbatelný. V žádném případě pak tuto práci nelze považovat za mimořádně rozsáhlé vyhledání informací a vyžadovat úhradu nákladů na podkladě § 17 (1) zákona 106/1999 Sb. Velmi pravděpodobně by ani extrahování dat z jiných elektronických systémů nemělo být náročnější, což nám potvrdilo nahlédnutí do dokumentace systému edookit (lze si vytvořit vlastní šablonu pro generování sestavy na míru).

Z 23 oslovených škol jich pouhých 5 používá jiný školní elektronický systém než Bakaláře. 4 z nich (1x edookit, 1x Škola OnLine, 2x EduPage) patří mezi školy, které na žádost o data vůbec nereagovaly. 5. z nich (Škola OnLine) za poskytnutí dat požadovala částku 4.800 Kč.

Ze 6 škol, které požadovaly za poskytnutí dat zaplatit, si 5 z nich účtovalo částky od 2 do 8 tisíc korun. Avšak 1 z nich - Základní škola Jihlava, Seifertova 5), používající školní elektronický systém Bakaláři, požadovala za poskytnutí dat neuvěřitelnou částku 39.300 Kč.

Ze 2 škol, které žádost zamítly s nesmyslným odůvodněním, 1 z nich - Základní škola Orlová-Lutyně Školní 862 okres Karviná, přímo uvádí, že datovou schránku, jejímž prostřednictvím byla žádost škole zaslána, lze považovat za neplatnou, či chybně uvedenou, protože ji nenalezli ve veřejném seznamu. To, že se ZŠ Orlová i přes evidentní neplatnost datové schránky podařilo z této schránky přijmout zprávu a dokonce do ní i odeslat svoji odpověď, lze považovat za zázrak. Velmi nás tedy překvapilo, že škola své zázračné schopnosti nevyužila i k extrahování dat ze svého školního elektronického systému Bakaláři a data nám neposkytla.

Vzhledem k nízkému zájmu oslovených škol se do projektu aktivně zapojit a poskytnout nám data, byl projekt v rámci Digitální akademie: Data koncipován jako „testovací“. Na rozsáhlejší komunikaci se školami a sepisování stížností na neposkytnutí dat nebyl v rámci Digitální akademie čas. Rozhodly jsme se tedy otestovat primární hypotézu na menším vzorku školních dat, tj. na datech ze 3 škol. A teprve na základě těchto výsledků se rozhodnout, zda má smysl v projektu pokračovat plošně napříč základními školami v celé České republice.

Transformace dat

Školy nám poskytly data v souborech PDF a DOC, která byla strukturovaná ve formě klasických školních katalogových listů. U jedné školy (té co poskytla všechna svá data v rámci 1 souboru) se jednalo o klasický PDF soubor. Zvláštností PDF souborů z další školy bylo, že jednotlivé hodnoty v tabulkách a další položky na stránkách byly ve formě malých obrázků. A DOC soubory z poslední školy též nebyly úplně standardní.

Jako první jsme se pokusily transformovat data ze standardního PDF souboru. Na radu našeho mentora jsme k tomu použily javový nástroj Tabula volaný z Pythonu, viz kód:

Výsledkem byl poněkud zběsilý CSV soubor s nahodile chybějícími oddělovači:

Strávily jsme nad ním celý povinný hackathon, než se nám podařilo prozkoumat, jakým způsobem byla data přetransformována a jak je musíme
v tabulkovém procesoru upravit, abychom získaly tabulku alespoň trochu použitelnou k samotné analýze dat. Nicméně z dat jsme musely vyloučit data žáka, který propadl - v níže uvedeném formátu tabulky by to způsobilo chaos. A také jsme zjistily, že se nám ze zdrojového souboru z neznámého důvodu nepřevedla data žáků z 8. tříd. Tato data se za pomocí Tabuly nepodařilo z PDF souboru transformovat ani při omezení výše uvedeného kódu na konkrétní stránky obsahující právě žáky 8. tříd. Takže jsme byly opět na začátku a přemýšlely, jak zdrojová data transformovat jiným způsobem.

Po poradě se zkušenou programátorkou jsme se rozhodly jít jinou cestou a zdrojové PDF soubory rozebrat na jednotlivé prvky utilitou pdftohtml z knihovny Poppler. Získané XML pak bylo potřeba zpracovat Pythonem: identifikovat hlavičky sloupečků a řádků a se znalostí poměrně jednotné struktury souborů vygenerovat rovnou záznamy do tabulky známek (marks.csv). Vzhledem ke složitosti kódu a ke krátícímu se času do konce Digitální akademie jsme si kód v Pythonu nechaly napsat. Zpracování zdrojových DOC souborů nakonec bylo nejjednodušší provést stejným způsobem. V MS Word jsme provedly konverzi souborů z DOC na PDF a dále je prohnaly stejným procesem. Z analýzy PDF soubor obsahujícího místo textu obrázky vyplynulo, že identickým textům v souboru odpovídají identické obrázky. Bylo tedy potřeba přečíst 648 jednotlivých obrázků, ale následně bylo možné tyto texty umístit tam, kde byly prvně obrázky, a pokračovat dle původního plánu identifikací hlaviček a vkládáním záznamů do tabulky známek.

Tímto procesem jsme získaly 4 tabulky ve formátu CSV obsahující:

  • známky (marks.csv)
  • číselník předmětů (subjects.csv), do kterého jsme si doplnily sloupeček subject_type
  • číselník žáků (pupils.csv)
  • číselník zdrojových souborů (files.csv)

A k nim jsme si v textovém editoru vyrobily číselník škol (schools.csv) obsahující sloupce s přiděleným ID školy, identifikátorem Datové schránky, IČO, plným názvem a adresou sídla školy.

Výše jmenované tabulky jsme nahrály do aplikace Snowflake, kde jsme je nadále zpracovávaly za pomocí dotazovacího jazyka SQL. O výsledcích předběžné analýzy se můžete dozvědět z článku Polly. Podrobnější zpracování dat bude předmětem následujících článků.

Slovo závěrem

Ačkoliv jsme se v rámci našeho běhu Digitální akademie: Data k samotné analýze dat téměř nedostaly, z výše uvedeného textu je patrné, že zajímavé poznatky plynou již ze samotného sběru dat. Ze všech z nich je asi nejvíce alarmující fakt, že téměř 50 % procent všech oslovených základních škol nepovažuje za důležité dodržet zákon. Přičemž nešlo jen o nějaké nedodržení zákonné lhůty 15 dnů, ale o naprostou absenci snahy jakkoliv zákonné nařízení byť jen formálně dodržet.

--

--