Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania

Sylabus przedmiotu Język Python:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Język Python
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej
Nauczyciel odpowiedzialny Marcin Pluciński <Marcin.Plucinski@zut.edu.pl>
Inni nauczyciele Marcin Korzeń <Marcin.Korzen@zut.edu.pl>
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL2 30 2,00,70zaliczenie
wykładyW2 15 1,00,30zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Wprowadzenie do informatyki
W-2Programowanie 1

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z zasadami tworzenia programów i składnią języka Python.
C-2Ukształtowanie praktycznych umiejętności programowania w języku Python.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Zapoznanie się ze środowiskiem pracy. Uruchamianie programów.2
T-L-2Ćwiczenia w programowaniu proceduralnym.4
T-L-3Ćwiczenia w wykorzystaniu kolekcji w języku Python.4
T-L-4Ćwiczenia w korzystaniu z pakietów. Tworzenie i użycie własnych modułów i pakietów.2
T-L-5Ćwiczenia w programowaniu obiektowym. Tworzenie własnych typów danych. Tworzenie własnych kolekcji.6
T-L-6Ćwiczenia w odczycie i zapisie plików tekstowych, binarnych.2
T-L-7Opracowanie programów realizujących obliczenia inżynierskie z wykorzystaniem bibliotek Numpy i Matplotlib.4
T-L-8Ćwiczenia w programowaniu GUI. Projekt końcowy.6
30
wykłady
T-W-1Podstawowe informacje o języku Python. Wprowadzenie do programowania proceduralnego: - podstawowe typy zmiennych, - podstawowe złożone typy danych – kolekcje, - operatory logiczne i arytmetyczne, - polecenia sterujące przebiegiem programu, - tworzenie i wywoływanie funkcji, - operacje wejścia-wyjścia.2
T-W-2Rozszerzenie wiadomości o prostych i złożonych typach danych dostępnych w bibliotekach standardowych (krotki, listy, zbiory, słowniki).3
T-W-3Rozszerzenie wiadomości o poleceniach sterujących przebiegiem programu (polecenie warunkowe, obsługa wyjątków). Funkcje użytkownika. Moduły i pakiety.3
T-W-4Programowanie zorientowane obiektowo – klasy, atrybuty, metody. Dziedziczenie klas. Tworzenie własnych typów danych i kolekcji. Dekoratory. Generatory. Adnotacje funkcji.4
T-W-5Obsługa plików. Wprowadzenie do obliczeń inżynierskich w języku Python – podstawowe informacje o korzystaniu z bibliotek Numpy i Matplotlib.3
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Praca własna20
50
wykłady
A-W-1Uczestnictwo w zajęciach15
A-W-2Konsultacje do wykładu.2
A-W-3Praca własna8
25

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny z prezentacją.
M-2Ćwiczenia laboratoryjne: samodzielne opracowanie zadanych programów w języku Python

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Wykład: zaliczenie pisemne w formie testu
S-2Ocena formująca: Laboratorium: ocena zadań realizowanych samodzielnie na zajęciach
S-3Ocena formująca: Laboratorium: ocena zadań domowych
S-4Ocena formująca: Laboratorium: ocena zaliczeń pisemnych i praktycznych
S-5Ocena podsumowująca: Laboratorium: ocena podsumowująca obliczana będzie jako średnia ważona ocen formujących

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C06_W01
Student zna i rozumie składnię języka programowania Python oraz posiada wiedzę na temat wybranych bibliotek języka.
I_1A_W05C-1T-W-2, T-W-1, T-W-3, T-W-4, T-W-5M-1S-1

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C06_U01
Student potrafi zaprojektować i zaimplementować dany algorytm w postaci programu w języku Python, potrafi właściwie wykorzystać wybrane biblioteki do stworzenia efektywnie działającego programu, potrafi wytłumaczyć działanie programu na podstawie jego kodu źródłowego.
I_1A_U06, I_1A_U05, I_1A_U04C-2T-L-1, T-L-2, T-L-3, T-L-5, T-L-6, T-L-7, T-L-8, T-L-4M-2S-5, S-2, S-3, S-4

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C06_W01
Student zna i rozumie składnię języka programowania Python oraz posiada wiedzę na temat wybranych bibliotek języka.
2,0
3,0Student zna i rozumie składnię języka programowania Python w stopniu podstawowym. Posiada wiedzę na temat podstawowych bibliotek języka.
3,5Student zna i rozumie składnię języka programowania Python w stopniu podstawowym. Zna proste i złożone typy danych dostępne w bibliotekach standardowych. Posiada wiedzę na temat podstawowych bibliotek języka. Zna biblioteki definiujące proste i złożone typy danych.
4,0Student zna i rozumie składnię języka programowania Python w stopniu dobrym. Zna dobrze proste i złożone typy danych dostępne w bibliotekach standardowych. Zna biblioteki języka wykorzystywane w obliczeniach inżynierskich i naukowych. Wiedzę na temat podstawowych bibliotek języka opanował w stopniu dobrym. Zna biblioteki definiujące proste i złożone typy danych.
4,5Student biegle zna i rozumie składnię języka programowania Python. Zna bardzo dobrze proste i złożone typy danych dostępne w bibliotekach standardowych. Wiedzę na temat podstawowych bibliotek języka opanował w stopniu dobrym. Zna biblioteki definiujące proste i złożone typy danych. Zna biblioteki wykorzystywane do wspomagania obliczeń naukowych i inżynierskich. Posiada wiedzę o tworzeniu własnych bibliotek.
5,0Student biegle zna i rozumie składnię języka programowania Python. Zna bardzo dobrze proste i złożone typy danych dostępne w bibliotekach standardowych. Umie ocenić jakość programu oraz zna sposoby optymalizacji kodu. Wiedzę na temat podstawowych bibliotek języka opanował w stopniu bardzo dobrym. Zna biblioteki definiujące proste i złożone typy danych. Zna biblioteki wykorzystywane do wspomagania obliczeń naukowych i inżynierskich. Posiada wiedzę o tworzeniu własnych bibliotek.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C06_U01
Student potrafi zaprojektować i zaimplementować dany algorytm w postaci programu w języku Python, potrafi właściwie wykorzystać wybrane biblioteki do stworzenia efektywnie działającego programu, potrafi wytłumaczyć działanie programu na podstawie jego kodu źródłowego.
2,0
3,0Student potrafi zaprojektować i zaimplementować prosty algorytm w postaci programu w języku Python. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka.
3,5Student potrafi zaprojektować i zaimplementować prosty algorytm w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka.
4,0Student potrafi zaprojektować i zaimplementować złożony algorytm w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka w stopniu dobrym. Umie korzystać z bibliotek wspomagających obliczenia naukowe i inżynierskie.
4,5Student potrafi zaprojektować i zaimplementować złożony algorytm w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Umie utworzyć i wykorzystywać własne typy danych i kolekcji. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka w stopniu dobrym. Umie korzystać z bibliotek wspomagających obliczenia naukowe i inżynierskie.
5,0Student biegle projektuje i implementuje dowolnie złożone algorytmy w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Umie utworzyć i wykorzystywać własne typy danych i kolekcji. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka w stopniu bardzo dobrym. Umie korzystać z bibliotek wspomagających obliczenia naukowe i inżynierskie. Umie optymalizować kod programu.

Literatura podstawowa

  1. M. Summerfield, Python 3. Kompletne wprowadzenie do programowania., Helion, Gliwice, 2010
  2. M. Gorelick, I. Ozsvald, Python. Programuj szybko i wydajnie., Helion, 2015
  3. L. Ramalho, Zaawansowany Python. Jasne, zwięzłe i efektywne programowanie., APN Promise, 2015

Literatura dodatkowa

  1. Python documentation – Tutorial, dostępna on-line: http:// docs.python.org/3/, 2024
  2. Python documentation – Language reference, dostępna on-line: http:// docs.python.org/3/, 2024
  3. Python documentation – Library reference, dostępna on-line: http:// docs.python.org/3/, 2024

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie się ze środowiskiem pracy. Uruchamianie programów.2
T-L-2Ćwiczenia w programowaniu proceduralnym.4
T-L-3Ćwiczenia w wykorzystaniu kolekcji w języku Python.4
T-L-4Ćwiczenia w korzystaniu z pakietów. Tworzenie i użycie własnych modułów i pakietów.2
T-L-5Ćwiczenia w programowaniu obiektowym. Tworzenie własnych typów danych. Tworzenie własnych kolekcji.6
T-L-6Ćwiczenia w odczycie i zapisie plików tekstowych, binarnych.2
T-L-7Opracowanie programów realizujących obliczenia inżynierskie z wykorzystaniem bibliotek Numpy i Matplotlib.4
T-L-8Ćwiczenia w programowaniu GUI. Projekt końcowy.6
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Podstawowe informacje o języku Python. Wprowadzenie do programowania proceduralnego: - podstawowe typy zmiennych, - podstawowe złożone typy danych – kolekcje, - operatory logiczne i arytmetyczne, - polecenia sterujące przebiegiem programu, - tworzenie i wywoływanie funkcji, - operacje wejścia-wyjścia.2
T-W-2Rozszerzenie wiadomości o prostych i złożonych typach danych dostępnych w bibliotekach standardowych (krotki, listy, zbiory, słowniki).3
T-W-3Rozszerzenie wiadomości o poleceniach sterujących przebiegiem programu (polecenie warunkowe, obsługa wyjątków). Funkcje użytkownika. Moduły i pakiety.3
T-W-4Programowanie zorientowane obiektowo – klasy, atrybuty, metody. Dziedziczenie klas. Tworzenie własnych typów danych i kolekcji. Dekoratory. Generatory. Adnotacje funkcji.4
T-W-5Obsługa plików. Wprowadzenie do obliczeń inżynierskich w języku Python – podstawowe informacje o korzystaniu z bibliotek Numpy i Matplotlib.3
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Praca własna20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach15
A-W-2Konsultacje do wykładu.2
A-W-3Praca własna8
25
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C06_W01Student zna i rozumie składnię języka programowania Python oraz posiada wiedzę na temat wybranych bibliotek języka.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05Ma wiedzę o nowoczesnych metodach projektowania, analizowania, wytwarzania, testowania oprogramowania oraz rozwiązywania wybranych zadań inżynierskich obejmujących w szczególności narzędzia wspomagające wytwarzanie oprogramowania na różnych etapach powstawania, eksploatacji i rozwoju systemów informatycznych.
Cel przedmiotuC-1Zapoznanie studentów z zasadami tworzenia programów i składnią języka Python.
Treści programoweT-W-2Rozszerzenie wiadomości o prostych i złożonych typach danych dostępnych w bibliotekach standardowych (krotki, listy, zbiory, słowniki).
T-W-1Podstawowe informacje o języku Python. Wprowadzenie do programowania proceduralnego: - podstawowe typy zmiennych, - podstawowe złożone typy danych – kolekcje, - operatory logiczne i arytmetyczne, - polecenia sterujące przebiegiem programu, - tworzenie i wywoływanie funkcji, - operacje wejścia-wyjścia.
T-W-3Rozszerzenie wiadomości o poleceniach sterujących przebiegiem programu (polecenie warunkowe, obsługa wyjątków). Funkcje użytkownika. Moduły i pakiety.
T-W-4Programowanie zorientowane obiektowo – klasy, atrybuty, metody. Dziedziczenie klas. Tworzenie własnych typów danych i kolekcji. Dekoratory. Generatory. Adnotacje funkcji.
T-W-5Obsługa plików. Wprowadzenie do obliczeń inżynierskich w języku Python – podstawowe informacje o korzystaniu z bibliotek Numpy i Matplotlib.
Metody nauczaniaM-1Wykład informacyjny z prezentacją.
Sposób ocenyS-1Ocena podsumowująca: Wykład: zaliczenie pisemne w formie testu
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student zna i rozumie składnię języka programowania Python w stopniu podstawowym. Posiada wiedzę na temat podstawowych bibliotek języka.
3,5Student zna i rozumie składnię języka programowania Python w stopniu podstawowym. Zna proste i złożone typy danych dostępne w bibliotekach standardowych. Posiada wiedzę na temat podstawowych bibliotek języka. Zna biblioteki definiujące proste i złożone typy danych.
4,0Student zna i rozumie składnię języka programowania Python w stopniu dobrym. Zna dobrze proste i złożone typy danych dostępne w bibliotekach standardowych. Zna biblioteki języka wykorzystywane w obliczeniach inżynierskich i naukowych. Wiedzę na temat podstawowych bibliotek języka opanował w stopniu dobrym. Zna biblioteki definiujące proste i złożone typy danych.
4,5Student biegle zna i rozumie składnię języka programowania Python. Zna bardzo dobrze proste i złożone typy danych dostępne w bibliotekach standardowych. Wiedzę na temat podstawowych bibliotek języka opanował w stopniu dobrym. Zna biblioteki definiujące proste i złożone typy danych. Zna biblioteki wykorzystywane do wspomagania obliczeń naukowych i inżynierskich. Posiada wiedzę o tworzeniu własnych bibliotek.
5,0Student biegle zna i rozumie składnię języka programowania Python. Zna bardzo dobrze proste i złożone typy danych dostępne w bibliotekach standardowych. Umie ocenić jakość programu oraz zna sposoby optymalizacji kodu. Wiedzę na temat podstawowych bibliotek języka opanował w stopniu bardzo dobrym. Zna biblioteki definiujące proste i złożone typy danych. Zna biblioteki wykorzystywane do wspomagania obliczeń naukowych i inżynierskich. Posiada wiedzę o tworzeniu własnych bibliotek.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C06_U01Student potrafi zaprojektować i zaimplementować dany algorytm w postaci programu w języku Python, potrafi właściwie wykorzystać wybrane biblioteki do stworzenia efektywnie działającego programu, potrafi wytłumaczyć działanie programu na podstawie jego kodu źródłowego.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U06Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
I_1A_U05Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
I_1A_U04Potrafi identyfikować związki i zależności w procesach zachodzących w systemach rzeczywistych i na tej podstawie tworzyć modele komputerowe oraz przeprowadzać ich symulacje.
Cel przedmiotuC-2Ukształtowanie praktycznych umiejętności programowania w języku Python.
Treści programoweT-L-1Zapoznanie się ze środowiskiem pracy. Uruchamianie programów.
T-L-2Ćwiczenia w programowaniu proceduralnym.
T-L-3Ćwiczenia w wykorzystaniu kolekcji w języku Python.
T-L-5Ćwiczenia w programowaniu obiektowym. Tworzenie własnych typów danych. Tworzenie własnych kolekcji.
T-L-6Ćwiczenia w odczycie i zapisie plików tekstowych, binarnych.
T-L-7Opracowanie programów realizujących obliczenia inżynierskie z wykorzystaniem bibliotek Numpy i Matplotlib.
T-L-8Ćwiczenia w programowaniu GUI. Projekt końcowy.
T-L-4Ćwiczenia w korzystaniu z pakietów. Tworzenie i użycie własnych modułów i pakietów.
Metody nauczaniaM-2Ćwiczenia laboratoryjne: samodzielne opracowanie zadanych programów w języku Python
Sposób ocenyS-5Ocena podsumowująca: Laboratorium: ocena podsumowująca obliczana będzie jako średnia ważona ocen formujących
S-2Ocena formująca: Laboratorium: ocena zadań realizowanych samodzielnie na zajęciach
S-3Ocena formująca: Laboratorium: ocena zadań domowych
S-4Ocena formująca: Laboratorium: ocena zaliczeń pisemnych i praktycznych
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi zaprojektować i zaimplementować prosty algorytm w postaci programu w języku Python. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka.
3,5Student potrafi zaprojektować i zaimplementować prosty algorytm w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka.
4,0Student potrafi zaprojektować i zaimplementować złożony algorytm w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka w stopniu dobrym. Umie korzystać z bibliotek wspomagających obliczenia naukowe i inżynierskie.
4,5Student potrafi zaprojektować i zaimplementować złożony algorytm w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Umie utworzyć i wykorzystywać własne typy danych i kolekcji. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka w stopniu dobrym. Umie korzystać z bibliotek wspomagających obliczenia naukowe i inżynierskie.
5,0Student biegle projektuje i implementuje dowolnie złożone algorytmy w postaci programu w języku Python. Umie korzystać z kolekcji danych dostępnych bibliotekach standardowych. Umie utworzyć i wykorzystywać własne typy danych i kolekcji. Potrafi korzystać z podstawowych funkcji dostępnych w bibliotece standardowej języka w stopniu bardzo dobrym. Umie korzystać z bibliotek wspomagających obliczenia naukowe i inżynierskie. Umie optymalizować kod programu.