Algorytmika i programowanie w języku Python
1000-ZiAPyth
Podczas laboratoriów omawiane są i implementowane algorytmy będące uzupełnieniem zagadnień poruszanych na przedmiocie Podstawy algorytmiki i programowania, analizowane są również problemy, w których mają one zastosowanie. Przy rozwiązywaniu problemów wprowadzane są potrzebne do implementacji elementy języka Python z uwzględnieniem złożoności obliczeniowej i efektywności.
- Oprogramowanie dla języka Python, tryb interaktywny, edycja, uruchamianie i testowanie programów.
- Wprowadzenie do języka Python, syntaktyka i semantyka, struktura programu, zmienne, instrukcje sterujące, operacje wejścia wyjścia
- Reprezentacja liczb i tekstów w języku Python, konwersja typów.
- Listy, krotki - właściwości oraz operacje na tego typu strukturach
- Funkcje, przekazywanie parametrów, biblioteka funkcji użytkownika
- Rekurencja w języku Python
- Słowniki, zbiory – właściwości oraz operacje na tych strukturach
- Obsługa plików w Pythonie
- Obiektowość języka Python - obiekty, klasy, dziedziczenie
- Ekstrakcja danych w języku Python - biblioteki i narzędzia przeznaczone do wydobywania informacji ze stron internetowych, plików csv, json, realcyjnych baz danych, itp.
Całkowity nakład pracy studenta
1. Godziny realizowane z udziałem nauczycieli
a) laboratorium – 26 godzin,
b) bieżące przygotowanie do zajęć, w tym rozwiązywanie zadań zleconych przez prowadzących, zapoznanie się z informacją zwrotną dotyczącą rozwiązanych zadań oraz konsultacje z prowadzącymi zajęcia – 30 godzin.
2. Czas poświęcony na pracę indywidualną studenta potrzebny do pomyślnego zaliczenia przedmiotu:
a) studiowanie literatury – 15 godzin,
b) zapoznanie się z materiałami dodatkowymi, m.in. dokumentacją bibliotek programistycznych – 30 godzin,
c) wykonanie zadań i projektów zaliczeniowych – 30 godzin.
3. Czas wymagany do przygotowania się do uczestnictwa w procesie oceniania (np. w egzaminach):
a) przygotowanie się do kolokwium – 15 godzin.
RAZEM: 146 godzin (6 punktów ECTS)
Efekty uczenia się - wiedza
Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia inżynierskie):
W1 - zna podstawową składnię, w szczególności instrukcje sterujące języka Python (K_W03, K_W10),
W2 - zna proste i złożone typy danych języka Python (listy, krotki, słowniki, zbiory) (K_W03)
W3 - zna podstawowe metody i techniki projektowania, analizowania i implementowania algorytmów (K_W04).
Efekty uczenia się - umiejętności
Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia inżynierskie):
U1 - projektuje algorytmy rozwiązujące typowe zadania i implementuje je w języku Python (K_U07),
U2: potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym (K_U05)
U3 - poprawnie wykorzystuje proste i złożone typy danych stosownie do sytuacji, pamiętając o ich ograniczeniach, potrafi wykorzystać bibliotekę standardową (K_U08),
U4 - ocenia rząd złożoności czasowej algorytmu (K_U07, K_U01),
U5 - umie czytać ze zrozumieniem programy zapisane w języku Python (K_U06).
Efekty uczenia się - kompetencje społeczne
Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia inżynierskie):
K1 - służy swoją wiedzą i umiejętnościami, skutecznie przekazuje innym swoje myśli w zrozumiały sposób; właściwie posługuje się terminologią fachową w obrębie zagadnień związanych z podstawami programowania (K_K02),
K2 - jest nastawiony na jak najlepsze wykonanie zadania; dba o szczegół; jest systematyczny (K_K04),
K3 - krytycznie ocenia swoją wiedzę i doskonali ją z wykorzystaniem różnych źródeł informacji (K_K03).
Metody dydaktyczne eksponujące
- pokaz
Metody dydaktyczne podające
- wykład konwersatoryjny
Metody dydaktyczne poszukujące
- laboratoryjna
- projektu
Rodzaj przedmiotu
przedmiot obligatoryjny
Wymagania wstępne
Znajomość zagadnień z podstaw algorytmiki i języka programowania C++ realizowanych na przedmiocie Podstawy algorytmiki i programowania (1000-ZiPAPR). Praca z komputerem w zakresie podstawowym: umiejętność pracy z prostym edytorem tekstowym, uruchamianie aplikacji, korzystanie z serwisów www. Znajomość matematyki szkolnej na poziomie podstawowym.
Koordynatorzy przedmiotu
W cyklu 2024/25L: | W cyklu 2023/24L: |
Kryteria oceniania
Zaliczenie laboratoriów na ocenę. Elementami składowymi zaliczenia są:
- sprawdzian praktyczny „przy komputerze" weryfikujący umiejętność samodzielnego rozwiązywania problemów algorytmicznych i programowania w Pythonie (efekty W1-W3, U1-U5, K1-K3),
- aktywność na zajęciach i samodzielne przygotowanie rozwiązań zadań programistycznych (efekty W1-W3, U1-U5, K1-K3).
Warunkiem koniecznym jest uzyskanie pozytywnej oceny dla każdego z powyższych elementów. Bardziej szczegółowe zasady zaliczenia przedmiotu mogą znajdować się w informacjach dla zajęć w konkretnym cyklu i będą podane przez prowadzących laboratoria.
Praktyki zawodowe
Literatura
Literatura podstawowa:
- M. Lutz, Python. Wprowadzenie. Wydanie V, Helion, 2020
- M. Sysło, Algorytmy, Helion, 2016
- E. Matthews, Python. Instrukcje dla programisty. Wydanie III, Helion 2023.
Literatura uzupełniająca:
- L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, Helion, 2018.
- R. Mitchell, Ekstrakcja danych z językiem Python. Pozyskiwanie danych z internetu. Wydanie II, Helion, 2019.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: