- 14 maja 2024
- Posted by: Maurycy Gast
- Category: Nauka przyjemna i skuteczna
Witajcie! Dużo osób pytało mnie co wpisać na deklaracji maturalnej z informatyki. Odpowiedź brzmi oczywiście – to zależy!
Wstępna deklaracja maturalna
Zgodnie z informacjami zawartymi na stronie CKE do 01.10.2018 musieliście wypełnić tzw. wstępną deklarację przystąpienia do egzaminu maturalnego. Gdy piszę ten wpis mamy 15.10.2018. Jeżeli jeszcze nie wypełniliście deklaracji – koniecznie idźcie do sekretariatu i wyjaśnijcie tę sprawę, bo inaczej nie będziecie mogli przystąpić do egzaminu. Co ważne, CKE również informuje, że ostateczną deklarację maturalną należy dostarczyć do 07.02.2019, więc czasu na zmiany jest jeszcze dużo.
CO WYBRAĆ?
System operacyjny
Zacznę od systemu operacyjnego – do wyboru macie Windowsa lub Linuxa. Oba wybory są dobre, wybierzcie ten system, który jest wam bliższy. Zdecydowana większość uczniów wybiera oczywiście Windowsa.
Program użytkowy
Druga sprawa – program użytkowy. Macie do wyboru Microsoft Office 2003 r. lub nowszy albo Open Office/Libre Office. Osobiście polecam Wam korzystać z oprogramowania Microsoftu z jednej prostej przyczyny. Najróżniejsze funkcjonalności (tworzenie wykresów, tabele przestawne itd.) są po prostu bardziej przystępne. Ich rozmieszczenie oraz możliwości modyfikacji są na tyle jasne, że nawet jeżeli nie wiemy jak coś zrobić, to po chwili pokombinowania raczej udaje się rozwiązać problem.
Open Office/Libre Office ma tę zaletę, że jest całkowicie za darmo. Niestety, musimy się liczyć z tym, że na pewno znajdą się rzeczy, których wykonanie będzie po prostu bardziej skomplikowane lub czasochłonne. Niektóre opcje, które w Excelu znajdują się “na wierzchu”, w Open Office/Libre Office mogą być poukrywane gdzieś w menu. Teoretycznie to nic wielkiego, jednak na maturze liczy się każda minuta 🙂
Dodatkowo, mam wrażenie, że poszczególne funkcjonalności jak np. zaawansowane filtry, czy wcześniej wspomniane tabele przestawne w Excelu są… łatwiejsze w użyciu. Korzystałem z darmowego programu wielokrotnie, jednak za każdym razem natrafiałem na problemy. Najprawdopodobniej dlatego, że od wielu lat działam jedynie w Excelu i mam po prostu pewne nawyki/przyzwyczajenia. Jeżeli chodzi o funkcjonalności, które oba programy oferują – są bardzo zbliżone i w kwestii matury nie ma to znaczenia jaki program wybierzemy. Na pewno wszystkie zadania będzie można wykonać zarówno w MS Office jak i w darmowym odpowiedniku.
Środowisko programistyczne
Do wyboru mamy cztery języki Pascal, C/C++, Java i Python. Z komunikatu opublikowanego przez CKE (link) dowiadujemy się, że możemy wybrać jedynie oprogramowanie, które szkoła posiada. Weźmy dla przykładu język C++. Do wyboru mamy trzy środowiska:
- Microsoft Visual Studio C++
- Orwell Dev-C++ 5.11 lub nowszy
- Code Blocks 16.01 lub nowszy
Może się jednak okazać, że jedynym środowiskiem programistycznym, które szkoła posiada to np. Dev-C++. A jeżeli chcielibyśmy pisać np. w Microsoft Visual Studio? Zawsze możemy się zapytać szkolnego informatyka czy jest możliwość instalacji innego oprogramowania. Czasami się udaje, czasami nie, ale zawsze warto spróbować. Dlatego tak ważne jest, abyśmy dowiedzieli się co mamy do wyboru przed złożeniem finalnej deklaracji.
Język programowania
Na temat jaki język programowana wybrać na rozszerzoną maturę z informatyki, można by stworzyć zupełnie nowy artykuł – jest on naprawdę bardzo szeroki. W tym momencie chciałbym się skupić jedynie na najważniejszych aspektach.
Zapewne część z Was się tego nie spodziewa, jednak muszę to powiedzieć.
Nie ma znaczenia, jaki język wybierzecie w kontekście rozwiązywania zadań maturalnych. Wszystkie zadania z programowania, które pojawiają się na maturze polegają na rozwiązywaniu problemów algorytmicznych. Oczywiście, każdy z języków ma swoje pozytywne jak i negatywne aspekty, które zarówno ułatwiają jak i utrudniają rozwiązywanie tych zadań, jednak żeby rozwiązać jakiekolwiek zadanie musimy wyrobić w sobie umiejętność bardzo logicznego i poukładanego sposobu myślenia. Dodatkowo, musimy znać podstawowe koncepty, które pojawiają się w każdym z tych języków. Przecież instrukcje warunkowe, pętle, tablice znajdują się zarówno w Pascalu, C++, Javie czy Pythonie, prawda? No właśnie! W kwestii rozwiązywania zadań maturalnych (czyli w dużym uproszczeniu) języki te różnią się jedynie składnią i nie ma większego znaczenia, który wybierzemy.
Wspomniałem o pozytywnych i negatywnych aspektach, które każdy z tych języków ma. W tym przypadku chciałbym skupić się na dwóch językach, które są mi najbliższe czyli C++ i Java. Otóż C++ jest językiem, na który decyduje się większość uczniów w Polsce. Dlaczego? Ani nie jest on najprostszy, ani najbardziej funkcjonalny, jednak coś musi w tym być… Jeżeli porównamy ten język do chociażby Javy, łatwo znaleźć przyczynę. W C++ mamy relatywnie mało gotowych funkcji, z których możemy korzystać. Oczywiście, jeżeli odpowiednio poszukamy za bibliotekami, to na pewno znajdziemy interesujące nas funkcje. Jednak wydaje mi się, że Java ma tę przewagę, że jest naprawdę masa najróżniejszych bibliotek oferujących przeróżne implementacje znanych funkcji jak na przykład sort().
Dlaczego zatem w tak wielu szkołach uczy się podstaw języka C++? Nie chcę wchodzić w rozważania na temat preferencji nauczycieli uczących w szkołach, więc ten aspekt pominę. Skupię się na czymś zupełnie innym. C++ jest językiem, który idealnie uczy podstaw programowania. Żeby napisać cokolwiek w C++ musimy dokładnie zrozumieć problem. Dla przykładu, żeby posortować tablicę oczywiście możemy użyć funkcji sort() z biblioteki algorithm, jednak wielu uczniów, którzy dopiero uczą się programowania o tym nie wie. Gdy uczymy się kodzenia, skupiamy się głównie na algorytmice, która leży za tym wszystkim. Czyli rozwiązanie nawet takiego prostego zadania na sortowanie można skomplikować, każąc uczniowi napisać algorytm sortowania samemu (np. przez sortowanie bąbelkowe).
Jako dowód na to, że to wszystko co pisałem wcześniej to prawda, zwróćcie uwagę na wyniki wyszukiwania w Google. Wpisałem frazę “sortowanie C++”. Jakie są wyniki? 🙂
Cztery pierwsze wyniki to strony, które prezentują najróżniejsze algorytmy sortowania, a nie gotowe funkcje!
Zobaczcie teraz jak wygląda sytuacja dla Javy:
Drugi wynik wyszukiwania to przykład użycia gotowej funkcji sortującej Arrays.sort().
Już rozumiecie o co mi chodzi? 🙂 C++ to idealna podstawa. Jeżeli znacie mocne podstawy C++’a, to nauka jakiegokolwiek innego języka programowania to w dużym uproszczeniu uczenie się jego składni, dlatego że koncepty się nie zmieniają i wszędzie są takie same.
Podsumowując, osobiście uważam, że na maturę najlepszym językiem jest Java – z uwagi na masę przydanych i gotowych funkcji, z których można korzystać nie widząc jak one działają.
C++ to idealna podstawa, która przyda się w każdym języku – to właśnie dlatego na kursie maturalnym z większością moich uczniów przerabiam C++’a. Prowadząc korepetycje z informatyki zależy mi na czymś więcej, niż przygotować Was do konkretnego egzaminu. Staram się nauczyć Was praktycznych umiejętności, które przydadzą się Wam w przyszłości. To właśnie dlatego nie wybieram najprostszej drogi i idę w C++’a 🙂
Jeżeli masz jakieś pytania o kurs maturalny z informatyki, zapraszam Cię do kontaktu.