Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Metody i techniki programowania
Tok studiów:
2019/2020
Kod:
HIFS-1-203-s
Wydział:
Humanistyczny
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Społeczna
Semestr:
2
Profil:
Praktyczny (P)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Prowadzący moduł:
dr inż. Kluza Krzysztof (kluza@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Na zajęciach studenci zapoznają się z podstawowymi algorytmami i strukturami danych oraz uczą się pisać programy w języku Python z zachowaniem odpowiedniej składni.

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 Student posiada wiedzę na temat podstawowych algorytmów i struktur danych. IFS1P_W01 Egzamin,
Kolokwium
Umiejętności: potrafi
M_U001 Student umie programować w języku Python z zachowaniem odpowiedniej składni i struktur danych. IFS1P_U05, IFS1P_U01 Wykonanie ćwiczeń laboratoryjnych,
Projekt,
Kolokwium
M_U002 Student umie reprezentować problem w postaci programu komputerowego poprzez budowę poprawnych modułów. IFS1P_U10 Wykonanie ćwiczeń laboratoryjnych,
Kolokwium
Kompetencje społeczne: jest gotów do
M_K001 Student potrafi prezentować zagadnienia programistyczne. IFS1P_K04 Projekt,
Wykonanie ćwiczeń laboratoryjnych
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
45 15 0 30 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 Student posiada wiedzę na temat podstawowych algorytmów i struktur danych. + - + - - - - - - - -
Umiejętności
M_U001 Student umie programować w języku Python z zachowaniem odpowiedniej składni i struktur danych. + - + - - - - - - - -
M_U002 Student umie reprezentować problem w postaci programu komputerowego poprzez budowę poprawnych modułów. + - + - - - - - - - -
Kompetencje społeczne
M_K001 Student potrafi prezentować zagadnienia programistyczne. + - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 117 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 45 godz
Przygotowanie do zajęć 40 godz
Samodzielne studiowanie tematyki zajęć 30 godz
Egzamin lub kolokwium zaliczeniowe 2 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 (15h):
Metody i techniki programowania

Zakres wykładów:

  • Podstawowe pojęcia: algorytm, języki programowania (ich klasyfikacja), typy i struktury danych.
  • Wprowadzenie do języka Python.
  • Składnia języka Python.
  • Podstawowe struktury danych w języku Python.
  • Moduły i pakiety w Pythonie.
  • Podstawowe algorytmy (sortowania i przeszukiwania).
  • Rekurencja i jej wykorzystanie w programowaniu (złożoność obliczeniowa).
  • Standardowa biblioteka i inne biblioteki języka Python.

Ćwiczenia laboratoryjne (30h):
Metody i techniki programowania

Zakres ćwiczeń laboratoryjnych:

  • Praca w trybie interaktywnym Python’a.
  • Implementacja prostych programów w języku Python.
  • Debugowanie programów w języku Python.
  • Implementacja podstawowych algorytmów (sortowania, przeszukiwania, z wykorzystaniem rekurencji).
  • Wykorzystanie istniejących bibliotek Pythona w swoich programach.
  • Pisanie prostych gier w języku Python.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem wzbogaconymi o przykłady odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

warunkiem przystąpienia do egzaminu jest zaliczenie ćwiczeń. Zaliczenie zarówno w pierwszym i kolejnym terminie będzie miało analogiczną formułę.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:

Ocena końcowa wyznaczana jest jako średnia ważona pozytywnych ocen z egzaminu (50%) i ćwiczeń laboratoryjnych (50%). Dodatkowo ocena może zostać podwyższona za aktywny udział w wykładzie i ćwiczeniach laboratoryjnych.

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

Sposób wyrównania zaległości będzie każdorazowo indywidualnie zadawany przez prowadzącego w zależności od treści, które będą podstawą owej zaległości.

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

Umiejętność posługiwania się komputerem i podstawowe informacje z przedmiotu “Wprowadzenie do systemów informatycznych”.

Zalecana literatura i pomoce naukowe:
  • “Python. Instrukcje dla programisty” Eric Matthes (2016)
  • “Automatyzacja nudnych zadań z Pythonem. Nauka programowania” Al Sweigart (2017)
  • “Twórz własne gry komputerowe w Pythonie” Al Sweigart (2017)
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Paszun, T., Wiśniewski, P., Kluza, K., & Ligęza, A. (2019, September). Automated Generation of Business Process Models using Constraint Logic Programming in Python. In 2019 Federated Conference on Computer Science and Information Systems (FedCSIS) (pp. 733-742). IEEE.

Honkisz, K., Kluza, K., & Wiśniewski, P. (2018, August). A concept for generating business process models from natural language description. In International Conference on Knowledge Science, Engineering and Management (pp. 91-103). Springer, Cham.

Tkachenko, Y., Kochenderfer, M. J., & Kluza, K. (2016, October). Customer simulation for direct marketing experiments. In 2016 IEEE International Conference on Data Science and Advanced Analytics (DSAA) (pp. 478-487). IEEE.

Bobek, S., Baran, M., Kluza, K., & Nalepa, G. J. (2013). Application of Bayesian Networks to Recommendations in Business Process Modeling. In AIBP@ AI* IA (pp. 41-50).

Informacje dodatkowe:

brak