Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie w języku Python
Tok studiów:
2019/2020
Kod:
IINF-1-805-n
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
8
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Niestacjonarne
Strona www:
 
Prowadzący moduł:
Kaleta Zbigniew (zkaleta@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Celem przedmiotu jest zapoznanie studentów z programowaniem w języku Python szczególnie programowaniem obiektowym oraz różnicami między Pythonem a językami znanymi studentom z innych przedmiotów.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna i rozumie podstawowe konstrukcje języka Python. INF1A_W03, INF1A_W02 Kolokwium,
Projekt,
Aktywność na zajęciach
M_W002 Zna mocne i słabe strony Pythona. INF1A_W03, INF1A_W02 Udział w dyskusji,
Kolokwium,
Aktywność na zajęciach
M_W003 Zna dobre praktyki związane z Pythonem i rozumie ich znaczenie. INF1A_W03 Udział w dyskusji,
Projekt,
Kolokwium,
Aktywność na zajęciach
Umiejętności: potrafi
M_U001 Potrafi użyć w praktyce mechanizmów języka Python. Umie uzasadnić ich dobór i zna konsekwencje ich użycia. INF1A_U06, INF1A_U05, INF1A_U04, INF1A_U07 Projekt,
Udział w dyskusji,
Kolokwium,
Aktywność na zajęciach
M_U002 Umie świadomie wybrać i zastosować typ danych właściwy dla rozwiązywanego problemu. Potrafi skomponować złożony typ danych. INF1A_U06, INF1A_U05, INF1A_U07 Projekt,
Udział w dyskusji,
Aktywność na zajęciach
M_U003 Potrafi przeanalizować kod źródłowy, ocenić jego jakość, znaleźć i naprawić typowe błędy. INF1A_U05 Udział w dyskusji,
Projekt,
Aktywność na zajęciach
M_U004 Potrafi zaprojektować i zrealizować program wg. podanych wytycznych. INF1A_U06, INF1A_U05, INF1A_U04, INF1A_U07 Projekt
Kompetencje społeczne: jest gotów do
M_K001 Potrafi ocenić pracochłonność zadanego projektu i wykonać go w terminie. INF1A_K04 Projekt
M_K002 Umie świadomie i odpowiedzialnie używać dostępnych pomocy (biblioteki, fragmenty kodu). INF1A_K05, INF1A_K02 Projekt
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
32 16 0 16 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna i rozumie podstawowe konstrukcje języka Python. + - + - - - - - - - -
M_W002 Zna mocne i słabe strony Pythona. + - + - - - - - - - -
M_W003 Zna dobre praktyki związane z Pythonem i rozumie ich znaczenie. + - + - - - - - - - -
Umiejętności
M_U001 Potrafi użyć w praktyce mechanizmów języka Python. Umie uzasadnić ich dobór i zna konsekwencje ich użycia. - - + - - - - - - - -
M_U002 Umie świadomie wybrać i zastosować typ danych właściwy dla rozwiązywanego problemu. Potrafi skomponować złożony typ danych. - - + - - - - - - - -
M_U003 Potrafi przeanalizować kod źródłowy, ocenić jego jakość, znaleźć i naprawić typowe błędy. - - + - - - - - - - -
M_U004 Potrafi zaprojektować i zrealizować program wg. podanych wytycznych. - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi ocenić pracochłonność zadanego projektu i wykonać go w terminie. - - + - - - - - - - -
M_K002 Umie świadomie i odpowiedzialnie używać dostępnych pomocy (biblioteki, fragmenty kodu). - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 126 godz
Punkty ECTS za moduł 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 32 godz
Przygotowanie do zajęć 10 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 32 godz
Samodzielne studiowanie tematyki zajęć 45 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (16h):

1. Wprowadzenie do języka. Podstawowe konstrukcje i pętle. Typy liczbowe. Funkcje.
2. Łańcuchy, listy, krotki, zbiory i słowniki. Typy modyfikowalne i niemodyfikowalne. Konstrukcje lambda. Typizacja.
3. Zaawansowane zagadnienia związane z funkcjami. Generatory i iteratory. Programowanie funkcyjne. Zaawansowane użycie list i słowników.
4. Podstawy obiektowości. Dostęp do składowych klasy, metody specjalne, dekoratory.
5. Wyjątki. Context manager. Dziedziczenie.
6. Moduły i pakiety. Logiczne typy danych i ewaluacja wyrażeń logicznych. Dobre praktyki w Pythonie.
7. Wyrażenia regularne. Wątki i procesy. Podstawy Django.

Ćwiczenia laboratoryjne (16h):

W ramach ćwiczeń laboratoryjnych studenci realizują samodzielnie lub w zespołach dwuosobowych zadanie projektowe, na bieżąco przedstawiając postęp swoich prac i omawiając wybrane elementy realizacji.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Klasyczny wykład tablicowy wzbogacony o interaktywne przykłady programów napisanych w Pythonie.
  • Ćwiczenia laboratoryjne: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

W skład oceny z laboratorium wchodzi ocena za projekt wykonany w ramach laboratorium z wagą 2 oraz ocena za kolokwium teoretyczne (pisemne) z wagą 1, przy czym obie oceny muszą być pozytywne. Studentowi przysługuje prawo jednokrotnej próby poprawy oceny negatywnej (z każdej składowej osobno), przy czym ocena końcowa jest średnią ważoną wszystkich uzyskanych ocen, z wagami jw.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w wykładzie, biorą udział w dyskusji, robią notatki oraz wyjaśniają wątpliwości zadając pytania. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Sposób obliczania oceny końcowej:

Ocena końcowa jest równa ocenie z laboratorium. Prowadzący może zmodyfikować tę ocenę o maks. 0.5 stopnia ze względu na dodatkową aktywność studenta związaną z przedmiotem, a nieuwzględnioną w ocenie z laboratorium.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

W miarę możliwości w uzasadnionych przypadkach student może uczestniczyć w zajęciach innej grupy.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Znajomość podstawowych koncepcji programowania obiektowego.

Zalecana literatura i pomoce naukowe:

Python docs: https://docs.python.org/3/
Guido van Rossum, "Python 3.6 – Tutorial", ARTPOWER International PUB, 2016
David M. Beazley, Brian Kenneth Jones, "Python. Receptury. Wydanie III", Helion, 2014

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak