Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Advanced Programming

Informacje ogólne

Kod przedmiotu: 2401-CS-22-AP-s2
Kod Erasmus / ISCED: (brak danych) / (0610) Information and Communication Technologies (ICTs) Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Advanced Programming
Jednostka: Katedra Kognitywistyki
Grupy:
Punkty ECTS i inne: 4.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: angielski
Wymagania wstępne:

(tylko po angielsku) - basics of Python programming language

Rodzaj przedmiotu:

przedmiot obowiązkowy

Całkowity nakład pracy studenta:

(tylko po angielsku) Contact hours with teacher:

- participation in lectures - 15 hrs

- participation in exercises – 15 hrs

- consultations - 10 hrs


Self-study hours:

- preparation for lectures – 20 hrs

- writing projects - 40 hrs

- preparation for test / examination- 10 hrs


Altogether: 110 (4 ECTS)

Efekty uczenia się - wiedza:

(tylko po angielsku) Student

W1: has advanced and extensive knowledge of Python features – K_W03, K_W07

W2: knows how to create own Python modules and packages - K_W03

W3: is familiar with Python standard library– K_W03

W4: is well acquainted with Python third-party libraries for data analysis – K_W03, K_W07, K_W05

Efekty uczenia się - umiejętności:

(tylko po angielsku) Student

U1: is able to use advanced Python features to solve real-world problems and research tasks – K_U01, K_U02, K_U05

U2: is capable of write clean Python code - K_U12

U3: has advanced skills in using and describing object oriented programming in Python – K_U04

U4: can use third-party Python libraries to analyze data - K_U05

Efekty uczenia się - kompetencje społeczne:

(tylko po angielsku) Student

K1: understands the significance of working groups in data analysis – K_K02, K_K04

K2: understands own limitations and strong points and is able to add value to team works – K_K03, K_K04

K3: is well prepared to team works in advanced analytical projects - K_K04

Metody dydaktyczne:

(tylko po angielsku) Expository teaching methods:

- participatory lecture


Exploratory teaching methods:

- practical

- brainstorming

- classic problem-solving

Metody dydaktyczne podające:

- opis
- wykład informacyjny (konwencjonalny)
- wykład konwersatoryjny

Metody dydaktyczne poszukujące:

- ćwiczeniowa
- giełda pomysłów
- laboratoryjna
- projektu
- referatu

Skrócony opis: (tylko po angielsku)

The purpose of this course is to teach students how to effectively use Python programming language to solve real world problems. Students will learn how to use object-oriented programming and third -party libraries to perform various tasks from creating task automation tools to data analysis. Course will strengthen knowledge of Python basics, teach students problem-solving and introduce advanced programming concepts specific to Python.

Pełny opis: (tylko po angielsku)

This is an advanced programming course which aim is to deepen understanding of Python programming language. Students will learn useful programming concepts and popular third-party libraries to tackle scientific problems and other tasks. Course will (1) enable students to write their own script/programs to perform various tasks from statistical analysis, data visualization, data processing, file management and web scraping and (2) increase students understanding of how Python works behind the scenes.

Gained knowledge, skills, and social competences will be demonstrated by students delivering and presenting final projects.

List of topics:

1. Data types, variables and memory

2. Flow control, basic iteration, comprehension

3. Iterators and Generators

4. First-class functions, Closures

5. Decorators

6. Modules and Packages

7. Object oriented programming – introduction

8. Object oriented programming – getters and setters

9. Object oriented programming – polymorphism and magic methods

10. Object oriented programming – single inheritance

11. Python standard library: modules sys, os, random and itertools

12. Data analysis – pandas

13. Data analysis – numpy (1)

14. Data analysis – numpy (2)

15. Data analysis – visualisation in matplotlib

Literatura: (tylko po angielsku)

1. Al Sweigart. 2015. Automate the Boring Stuff with Python: Practical Programming for Total Beginners (1st. ed.). No Starch Press, USA.

2. Ramalho, L. 2015. Fluent Python: Clear, Concise, and Effective Programming. O’Reilly Media.

3. David Beazley & Brian K. Jones, 2013. Python Cookbook (3rd edition) O’Reilly Media.

4. Allen B. Downey, 2015. Think Python: How to Think Like a Computer Scientist (2nd edition). O’Reilly Media.

5. VanderPlas, J. 2016. Python Data Science Handbook: Essential Tools for Working with Data, O’Reilly Media.

Metody i kryteria oceniania: (tylko po angielsku)

Assessment methods:

- tutorial: project – U1, U2, U3

- lecture: written exam composed of theoretical and practical part - W1, W2, W3, W4

- activity – K1, K2, K3, K4

Assessment criteria:

- tutorial: binary grading:

i) project not meeting agreed-upon assumptions or no project: fail

ii) project meeting agreed-upon assumptions: very good

- lecture: weighted grade: theoretical part (50%) + practical part (50%). Grading (combined both theoretical and practical part):

fail – less than 50%

satisfactory – 51%-60%

satisfactory plus- 61%-70%

good - 71%-80%

good plus- 81%-90%

very good - 91%-100%

Zajęcia w cyklu "Semestr letni 2022/23" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Michał Komorowski
Prowadzący grup: Michał Komorowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)

Okres: 2023-10-01 - 2024-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Michał Komorowski
Prowadzący grup: Michał Komorowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.3.0-1 (2024-04-02)