<?xml version="1.0" encoding="UTF-8"?>
<Kwalifikacje><Kwalifikacja><id>14109</id><nazwa>Programowanie w języku Python</nazwa><nazwa_skrot>Programista Python</nazwa_skrot><rodzaj>2</rodzaj><poziom>4</poziom><id_dziedzina>53</id_dziedzina><charakterystyka>Osoba posiadająca kwalifikację „Programowanie w języku Python” pisze kod źródłowy programu w języku Python, posługując się wybranym przez siebie zintegrowanym środowiskiem programistycznym oraz zestawem narzędzi deweloperskich w ramach systemu, na którym to oprogramowanie jest uruchamiane. Posługuje się zestawem narzędzi programistycznych, umożliwiających tworzenie i debugowanie programu w celu usunięcia w nim błędów. Posiada wiedzę na temat sposobów ich konfiguracji oraz użytkowania. Przygotowuje środowisko pracy na podstawie określonej specyfikacji wymaganej dla konkretnego projektu.
&lt;br /&gt;&lt;br /&gt;Projektuje elementy składowe systemu, samodzielnie tworzy złożone typy danych w ramach architektury tworzonego oprogramowania (systemu). Wykorzystuje funkcje zawarte w bibliotekach. Korzysta z różnych kolekcji do przechowywania danych.
&lt;br /&gt;&lt;br /&gt;Osoba posiadająca kwalifikację „Programowanie w języku Python” może znaleźć zatrudnienie w szeroko rozumianej branży IT związanej z programowaniem, w szczególności na stanowiskach programisty ze wskazaniem: projektowanie i tworzenie oprogramowania dla systemów operacyjnych oraz systemów serwerowych. Osoba ta może także świadczyć usługi w zakresie tworzenia oprogramowania od podstaw, prowadząc własną działalność gospodarczą lub dołączyć do już istniejących zespołów zajmujących się tworzeniem i rozwojem oprogramowania. 
&lt;br /&gt;&lt;br /&gt;Osoba posiadająca kwalifikację Programowanie w języku Python jest gotowa do podjęcia pracy na stanowisku młodszego programisty (programisty juniora). </charakterystyka><adresaci>Uzyskaniem kwalifikacji mogą być przede wszystkim zainteresowane osoby, które chcą potwierdzić swoją wiedzę i umiejętności z zakresu programowania w języku Python np. osoby pracujące na stanowisku programisty lub ubiegające się o takie stanowisko; osoby chcące rozszerzyć zakres wykonywanych zadań zawodowych; chcące się przekwalifikować lub myślące o zmianie branży; osoby pośrednio i bezpośrednio pracujące w zawodach, w których wykorzystuje się technologie cyfrowe; pozostałe osoby, którym powyższa kwalifikacja umożliwi potwierdzenie posiadanych umiejętności nabytych w systemie pozaszkolnym. 
&lt;br /&gt;&lt;br /&gt;Uzyskaniem kwalifikacji mogą być zainteresowane osoby prowadzące usługową działalność gospodarczą w zakresie programowania, nauczyciele/instruktorzy praktycznej nauki zawodu oraz uczniowie szkół ponadpodstawowych. Kwalifikacją mogą być także zainteresowani studenci, pośrednio i bezpośrednio związani z branżą IT, którzy w zakresie nauki programowania chcieliby poszerzyć swoją wiedzę ze wskazaniem na język Python. Osobami zainteresowanymi uzyskaniem certyfikatu mogą być także osoby zagrożone wykluczeniem społecznym z powodu niepełnosprawności. </adresaci><mozliwosc_1>1</mozliwosc_1><mozliwosc_2>0</mozliwosc_2><mozliwosc_3></mozliwosc_3><poprzedzajace>Brak</poprzedzajace><warunki>Nie dotyczy</warunki><zapotrzebowanie>Informatyka jest dyscypliną o szerokim spektrum oddziaływania na wiele dziedzin gospodarki. Z tego powodu zapotrzebowanie na specjalistów w zakresie szeroko rozumianej branży IT stale rośnie. Zmienia się profil specjalisty oraz sama definicja programisty. Zmiany w IT wymuszają ustawiczne uzupełnianie wiedzy, umiejętności i praktyki w stosowaniu rozwiązań cyfrowych. Wzrasta świadomość społeczna w odniesieniu do rozumienia i postrzegania tego, czym tak naprawdę jest programowanie, na czym polega praca w branży IT.
&lt;br /&gt;&lt;br /&gt;Język programowania Python posiada wszystkie cechy języka programowania wysokiego poziomu. Elastyczność, jaką język Python oferuje programiście, projektantowi, architektowi oprogramowania, to bezsporne atuty jego stosowania. Mnogość środowisk programistycznych IDE (ang. Integrated Development Environment), bibliotek zarówno standardowych jak zewnętrznych, to kolejne atuty języka Python. Dostępność różnych narzędzi informatycznych, wspomagających proces tworzenia oprogramowania w tym języku, świadczy o ugruntowanej pozycji języka Python w rankingach popularności języków programowania [1]. Jest to język, który pozwala na budowanie kodu od podstaw, a ilość konstrukcji językowych, które za pomocą jego słów kluczowych można zbudować jest nieograniczona. 
&lt;br /&gt;&lt;br /&gt;W czasach, gdy proces wytwarzania oprogramowania z racji uwarunkowań ekonomicznych, gospodarczych i technologicznych, musi być coraz wydajniejszy i szybszy – mechanizmy języka Python stanowią o jego przewadze. Gotowe do wdrożenia oprogramowanie, powstaje w krótszym czasie bez straty na jakości.
&lt;br /&gt;&lt;br /&gt;Profesjonalne rozwiązania oferujące szeroko rozumiane usługi serwerowe (serwery), oprogramowanie do przetwarzania dużej ilości danych (big data), bazują na oprogramowaniu wytworzonym w języku Python. Język ten jest szeroko stosowany w dwóch rozwojowych branżach: w przetwarzaniu danych (big data) oraz w uczeniu maszynowym. Warto odwołać się do rankingu [2] oraz bezpośrednich linków do platformy - światowego repozytorium dla programistów https://github.com/ [3], które wskazują, że na świecie setki tysięcy a nawet miliony projektów jest realizowanych z wykorzystaniem języka Python.
&lt;br /&gt;&lt;br /&gt;Język Python może być wykorzystany do realizacji różnego rodzaju oprogramowania.
&lt;br /&gt;&lt;br /&gt;Automatyzacja zadań: język Python świetnie nadaje się do pisania skryptów, które mogą być wykorzystywane w procesie automatyzacji zadań.  
&lt;br /&gt;&lt;br /&gt;Analiza danych: wiele bibliotek dostępnych w języku Python umożliwia przeprowadzanie zaawansowanych operacji związanych z uczeniem maszynowym i big data.
&lt;br /&gt;&lt;br /&gt;Aplikacje internetowe: Python zawiera standardowe moduły internetowe, które pozwalają napisanym w nim programom na wykonywanie różnorodnych zadań sieciowych zarówno w trybie klienta, jak i serwera. 
&lt;br /&gt;&lt;br /&gt;Rynek pracy w branży IT, w odniesieniu do programistów, skupia się na poszukiwaniu specjalistów, którzy z uwagi na mnogość wykorzystywanych technologii, albo są specjalistami w bardzo wąskim zakresie, albo tych, którzy z uwagi na doświadczenie potrafią realizować projekty o bardzo szerokim spektrum stosowanych technologii i rozwiązań. Zauważalny jest trend polegający na inwestycjach w doskonalenie kadry IT, dopasowujących pracowników do zmieniających się wymagań w świecie IT.
&lt;br /&gt;&lt;br /&gt;Powszechność używania języka Python powoduje, że pracodawcy z branży IT powinni być zainteresowani zatrudnianiem pracowników posiadających takie kwalifikacje jak programowanie w języku Python,
W skali regionu zachodniopomorskiego, jak również w skali kraju, można zauważyć zainteresowanie takimi obszarami gospodarki, dla których konieczne jest stawianie na technologie IT. Konieczność ta odnosi się zarówno do tworzenia rozwiązań związanych z przemysłem, jak i świadczenia usług związanych z wytwarzaniem oprogramowania.
&lt;br /&gt;&lt;br /&gt;Dane liczbowe
&lt;br /&gt;&lt;br /&gt;Według międzynarodowego rankingu popularności języków programowania – Indexu tiobe (https://www.tiobe.com/tiobe-index/),  język Python jest pierwszym najpopularniejszym językiem programowania, z którego korzysta 13,44 % programistów..
&lt;br /&gt;&lt;br /&gt;Według danych Eurostatu w 2011 roku grupa specjalistów IT stanowiła ok. 3% ogólnej liczby zatrudnionych w krajach UE, a na koniec 2020 roku odsetek ten sięgał 4,3%. W latach 2011 – 2020 liczba zatrudnionych w Europie pracowników o specjalizacji z obszaru IT wzrosła o 50%. W tym samym okresie w krajach UE ogólna liczba osób zatrudnionych we wszystkich branżach wzrosła jedynie o 5,5%. Oznacza to, że rynek pracy w IT rósł w tempie niemal dziewięciokrotnie wyższym niż ogólna liczba osób aktywnych zawodowo (https://ec.europa.eu/eurostat/statistics-explained/index.php?title=ICT_specialists_in_employment#Number_of_ICT_specialists)
&lt;br /&gt;&lt;br /&gt;Według raportu future-processing na świecie jest  27 milionów programistów, z czego w Unii Europejskiej 6,1 miliona, a w Polsce 300 tysięcy osób. Przy założeniu, że 13% programistów używa języka Python to w całej Unii Europejskiej jest to 0,8 miliona osób, a w Polsce 39 tysięcy. (https://www.future-processing.com/blog/how-many-developers-are-there-in-the-world-in-2019/#how-many-developers-are-there-in-the-world-in-2021)
&lt;br /&gt;&lt;br /&gt;Doświadczenie wnioskodawcy
&lt;br /&gt;&lt;br /&gt;Na podstawie wieloletnich doświadczeń, związanych z autorską ofertą programową, dotyczącą nauki programowania w Technikum Informatycznym SCI prowadzonym przez Szczecińskie Collegium Informatyczne SCI, można stwierdzić, że nauka programowania w języku Python jest wyborem trafnym. Autorska oferta programowa uwzględnia trendy rozwoju języka Python oraz obszary jego zastosowań. Konsekwencją tego procesu jest uczestnictwo uczniów w kursach i szkoleniach z języka Python. Włączenie kwalifikacji “Programowanie w języku Python” do Zintegrowanego Systemu Kwalifikacji stworzy możliwość potwierdzenia wiedzy i umiejętności w zakresie programowania w tym języku. Wnioskodawca zrealizował i jest w trakcie realizacji kilku projektów informatycznych finansowanych ze środków UE [4], [5], [6], [7], których wymierną korzyścią było uzyskanie dodatkowych kompetencji zawodowych przez jej uczestników.
&lt;br /&gt;&lt;br /&gt;Podsumowanie
&lt;br /&gt;&lt;br /&gt;Kwalifikacja „Programowanie w języku Python” adresowana jest zarówno do osób, które funkcjonują na rynku w branży IT, jak i osób młodych, rozpoczynających swoją przygodę z programowaniem. Włączenie kwalifikacji rynkowej  „Programowanie w języku Python” do Zintegrowanego Systemu Kwalifikacji ma swoje uzasadnienie w zapotrzebowaniu na specjalistów z zakresu programowania w języku Python. Potwierdzone w procesie walidacji umiejętności programowania w języku Python przyczynią się do zwiększenia atrakcyjności pracowników już działających w branży IT, jak i młodych osób rozpoczynających swoją przygodę z programowaniem, usprawniając im projektowanie w świadomy sposób własnej ścieżki zawodowej.  
&lt;br /&gt;&lt;br /&gt;[1] https://www.tiobe.com/tiobe-index/
&lt;br /&gt;&lt;br /&gt;[2] https://jaki-jezyk-programowania.pl/technologie/java/
&lt;br /&gt;&lt;br /&gt;[3] https://github.com; https://github.com/bitcoin/bitcoin
&lt;br /&gt;&lt;br /&gt;[4] http://www.sci.edu.pl/projekt-technik-informatyk-w-praktyce
&lt;br /&gt;&lt;br /&gt;[5] http://www.sci.edu.pl/podniesienie-jakosci-ksztalcenia-zawodowego
&lt;br /&gt;&lt;br /&gt;[6] http://www.sci.edu.pl/skuteczne-ksztalcenie-zawodowe-w-technikum-sci
&lt;br /&gt;&lt;br /&gt;[7] http://www.sci.edu.pl/projekt-nowa-wiedza-nowa-przyszlosc</zapotrzebowanie><podobne>Obecnie w ZRK nie ma kwalifikacji dotyczącej programowania w języku Python. Umiejętność programowania znajduje się w kwalifikacjach INF.03 oraz INF.04, lecz kwalifikacje te nie precyzują jednego konkretnego języka programowania używanego do wytwarzania oprogramowania. Ponadto w przypadku dodatkowych umiejętności zawodowych o jakich jest mowa w kształceniu na poziomie szkoły ponadpodstawowej umiejętność programowania w języku Python nie jest zakończona egzaminem potwierdzającym uzyskanie kwalifikacji. Dodatkowo kwalifikacja "Programowanie w języku Python" duży nacisk kładzie na różne sposoby przechowywania i przetwarzania danych. Kwalifikacja "Programowanie w języku Python" koncentruje się także na umiejętnościach obejmujących wykonywanie operacji na plikach oraz współbieżności.</podobne><mozliwosc_uzyskania></mozliwosc_uzyskania><opinie>Wprowadzenie kwalifikacji "Programowanie w języku Python" do ZSK jest odpowiedzią na aktualne potrzeby rynku pracy (lokalnego, regionalnego, krajowego, europejskiego). Python jest wszechstronnym językiem programowania, który znajduje zastosowanie w wielu branżach i sektorach. Posiadanie umiejętności programowania w Pythonie może otworzyć wiele dróg zawodowych i zapewnić stabilne i rozwijające się możliwości zatrudnienia.
</opinie><perspektywy>Osoba posiadająca kwalifikację „Programowanie w języku Python” może znaleźć zatrudnienie na stanowisku programisty (w tym programisty aplikacji webowych, oprogramowania serwerowego, młodszego programisty) w przedsiębiorstwach zajmujących się tworzeniem oprogramowania. Umiejętności z zakresu programowania w języku Python mogą być wykorzystane w prowadzonej własnej działalności gospodarczej, w pracy testera oprogramowania oraz lidera zespołu programistycznego. Osoba, która posiada certyfikat, ma większe szanse na pozyskanie atrakcyjnych ofert pracy.</perspektywy><wymagania>1. Etap weryfikacji
1.1. Metody
W części teoretycznej wykorzystuje się metodę testu teoretycznego.
W części praktycznej wykorzystuje się metodę obserwacji w warunkach symulowanych uzupełnioną wywiadem swobodnym (rozmową z komisją).
Pozytywny wynik z części teoretycznej jest warunkiem przystąpienia do części praktycznej.
Możliwe jest zastosowanie innych metod walidacji lub jej form (np. walidacja w formie zdalnej) przy zachowaniu wszelkich
zasad zapewniania jakości oraz obowiązku sprawdzenia wszystkich efektów uczenia się wraz z kryteriami weryfikacji.
1.2. Zasoby kadrowe
Weryfikację efektów uczenia się prowadzi komisja walidacyjna składająca się z minimum 2 osób spełniających następujące warunki:
asesor – posiada ukończone studia wyższe na kierunku informatyka lub pokrewnym (co najmniej 6  poziom Polskiej
Ramy Kwalifikacji), minimum 5 lat udokumentowanego stażu pracy w zawodzie informatyka, programisty lub nauczyciela programowania
oraz
przewodniczący komisji walidacyjnej – posiada ukończone studia wyższe na kierunku informatyka lub pokrewnym (co
najmniej 7 poziom Polskiej Ramy Kwalifikacji), minimum 10 lat udokumentowanego stażu pracy w zawodzie informatyka, programisty lub nauczyciela programowania.
1.3. Sposób organizacji walidacji oraz warunki organizacyjne i materialne
W przypadku walidacji w formie stacjonarnej, instytucja prowadząca walidację zapewnia:
1) stanowiska komputerowe (jedno stanowisko dla jednego kandydata) połączone z Internetem, wyposażone w:
a) system operacyjny z interfejsem graficznym,
b) przeglądarkę internetową,
c) edytor tekstu lub środowisko programistyczne zapewniające możliwość tworzenia programów w języku Python
(np. PyCharm);
2) materiały biurowe (kartki, długopisy).
W przypadku zdalnego prowadzenia walidacji komisja zatwierdza warunki przystąpienia do walidacji, mając na uwadze
możliwości techniczne. Użyty podczas walidacji system teleinformatyczny powinien gwarantować komisji walidacyjnej
możliwość stałej obserwacji kandydata, w szczególności identyfikację osoby, która przystępuje do walidacji, samodzielność jej pracy i zabezpieczenie przebiegu walidacji przed ingerencją osób trzecich, to jest zapewnić możliwość wiarygodnego sprawdzenia, czy osoba ubiegająca się o nadanie kwalifikacji rynkowej osiągnęła wyodrębnioną część lub całość efektów uczenia się wymaganych dla tej kwalifikacji.
Osoby, które przystąpiły do walidacji, powinny utworzyć program w języku Python według wskazanych założeń obejmujących podstawowe elementy języka, klasy i metody, kolekcje, wątki i obsługę sieci. Możliwe jest korzystanie przez
kandydata z materiałów dodatkowych w postaci literatury lub przykładowych fragmentów kodu znalezionych w sieci
Internet.
2. Etap identyfikowania i dokumentowania efektów uczenia się
Nie określa się wymagań dotyczących etapów identyfikowania i dokumentowania efektów uczenia się.
</wymagania><ramy_sektorowe></ramy_sektorowe><podstawa>Obwieszczenie Ministra Cyfryzacji z dnia 7 czerwca 2024 r. w sprawie włączenia kwalifikacji rynkowej „Programowanie w języku Python” do Zintegrowanego Systemu Kwalifikacji (Dz.U. Monitor Polski z 27.06.2024 r. poz. 544).</podstawa><efekty>Osoba posiadająca kwalifikację wolnorynkową jest gotowa do samodzielnego tworzenia oprogramowania w  języku
Python. W swojej pracy wykorzystuje zarówno podstawowe elementy języka Python, jak i programowania obiektowego.
Realizując zadania zawodowe, posługuje się specjalistyczną wiedzą z zakresu wytwarzania oprogramowania, a ponadto
podejmuje działania pozwalające na przetestowanie oraz usunięcie błędów pojawiających się w programie. Jest gotowa
ponosić odpowiedzialność za wykonywanie samodzielnych zadań zawodowych.</efekty><zestawy></zestawy><id_zglaszajacy>25641</id_zglaszajacy><id_odpowiedzialny>4564</id_odpowiedzialny><okres_waznosci>Kwalifikacja ważna bezterminowo.</okres_waznosci><termin_waznosci>2034-06-27</termin_waznosci><id_potw>3</id_potw><uprawnienia>Nie dotyczy</uprawnienia><id_polon></id_polon><id_efekty_file></id_efekty_file><id_status>1</id_status><Poprzedzajace/><PkdIds><item><id_pkd>654</id_pkd></item></PkdIds><Zestawy><item><nazwa>Programowanie z wykorzystaniem podstawowych elementów języka Python</nazwa><poziom>3</poziom><naklad>50</naklad><numer>1</numer><wymagania></wymagania><rodzaj>1</rodzaj><Umiejetnosci><item><umiejetnosc>1. Wykorzystuje środowiska programistyczne do tworzenia programu</umiejetnosc><kryteria>– charakteryzuje zadania interpretera i debuggera,
– analizuje błędy w kodzie za pomocą debuggera,
– charakteryzuje pojęcie biblioteki,
– uruchamia stworzone programy.</kryteria></item><item><umiejetnosc>2. Posługuje się prostymi typami danych</umiejetnosc><kryteria>– rozróżnia typy liczbowe całkowite i zmiennoprzecinkowe,
– rozpoznaje typ logiczny,
– charakteryzuje pojęcie typu string,
– wykorzystuje typy liczbowe całkowite, zmiennoprzecinkowe, znakowe, typ logiczny
i typ łańcuchowy.</kryteria></item><item><umiejetnosc>3. Korzysta z operacji wejścia i wyjścia</umiejetnosc><kryteria>– korzysta z różnych funkcji do operacji wejścia i wyjścia,
– posługuje się funkcjami print oraz input.</kryteria></item><item><umiejetnosc>4. Posługuje się instrukcjami sterującymi</umiejetnosc><kryteria>– rozróżnia instrukcje warunkowe: if oraz if else,
– rozróżnia pętle: for oraz while,
– korzysta z instrukcji: if, if else, for, while, break, continue.</kryteria></item><item><umiejetnosc>5. Posługuje się złożonymi typami danych</umiejetnosc><kryteria>– rozróżnia rodzaje złożonych typów danych,
– korzysta z list oraz tuples.</kryteria></item><item><umiejetnosc>6. Posługuje się operatorami</umiejetnosc><kryteria>– rozróżnia operatory logiczne: and, or, not,
– rozpoznaje operatory przesunięcia bitowego,
– wykorzystuje operatory logiczne, operatory przesunięcia bitowego oraz operatory bitowe.</kryteria></item><item><umiejetnosc>7. Stosuje własne funkcje</umiejetnosc><kryteria>– rozpoznaje przekazywanie parametrów do funkcji,
– tworzy własne funkcje,
– posługuje się rekurencyjnym wywołaniem funkcji.</kryteria></item><item><umiejetnosc>8. Wykonuje operacje odczytywania i zapisywania plików</umiejetnosc><kryteria>– rozróżnia pliki tekstowe oraz binarne,
– posługuje się typem plikowym,
– odczytuje dane z pliku,
– zapisuje dane do pliku.</kryteria></item></Umiejetnosci></item><item><nazwa>Programowanie obiektowe</nazwa><poziom>4</poziom><naklad>30</naklad><numer>2</numer><wymagania></wymagania><rodzaj>1</rodzaj><Umiejetnosci><item><umiejetnosc>1. Stosuje zasady programowania obiektowego</umiejetnosc><kryteria>– charakteryzuje pojęcia: klasa, obiekt, metoda, pole, dziedziczenie, hermetyzacja, polimorfizm,
– dzieli zagadnienie na klasy,
– powołuje obiekty,
– projektuje aplikację z zastosowaniem zasad programowania obiektowego.</kryteria></item><item><umiejetnosc>2. Korzysta z klas i obiektów</umiejetnosc><kryteria>– definiuje pola klasy,
– definiuje metody klasy,
– definiuje konstruktory,
– tworzy obiekty,
– posługuje się składowymi obiektów.
</kryteria></item><item><umiejetnosc>3. Definiuje klasy bazowe i klasy pochodne</umiejetnosc><kryteria>– buduje hierarchię dziedziczenia klas w programie,
– wydziela metody i pola do odpowiednich klas w hierarchii dziedziczenia,
– definiuje klasy pochodne.</kryteria></item><item><umiejetnosc>4. Programuje obsługę wyjątków</umiejetnosc><kryteria>– stosuje szkielet obsługi wyjątków z instrukcjami try i except,
– stosuje instrukcję raise,
– opracowuje listę możliwych błędów wykonania aplikacji,
– definiuje obsługę błędów w aplikacji.</kryteria></item></Umiejetnosci></item><item><nazwa>Korzystanie z kolekcji danych oraz wątków </nazwa><poziom>4</poziom><naklad>40</naklad><numer>3</numer><wymagania></wymagania><rodzaj>1</rodzaj><Umiejetnosci><item><umiejetnosc>1. Korzysta z kolekcji danych oraz wątków</umiejetnosc><kryteria>– posługuje się kolekcją: dictionary,
– stosuje kolekcję: deque,
– charakteryzuje cechy kolekcji,
– posługuje się wyrażeniami Lambda.</kryteria></item><item><umiejetnosc>2. Korzysta z mechanizmu współbieżności</umiejetnosc><kryteria>– posługuje się biblioteką thread,
– posługuje się biblioteką multiprocessing,
– stosuje mechanizm synchronizacji wątków,
– charakteryzuje problem zakleszczania wątków.</kryteria></item></Umiejetnosci></item></Zestawy><Podmioty/></Kwalifikacja></Kwalifikacje>
