Advanced Programming
Informacje ogólne
Kod przedmiotu: | 2401-CS-22-AP-s2 |
Kod Erasmus / ISCED: |
(brak danych)
/
(0610) Information and Communication Technologies (ICTs)
|
Nazwa przedmiotu: | Advanced Programming |
Jednostka: | Katedra Kognitywistyki |
Grupy: | |
Punkty ECTS i inne: |
4.00
|
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 |
Metody dydaktyczne poszukujące: | - ćwiczeniowa |
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 |
Przejdź do planu
PN WT ŚR CZ PT WYK
CW
|
Typ zajęć: |
Ćwiczenia, 15 godzin
Wykład, 15 godzin
|
|
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 |
Przejdź do planu
PN WT WYK
CW
ŚR CZ PT |
Typ zajęć: |
Ćwiczenia, 15 godzin
Wykład, 15 godzin
|
|
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 |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.