Poslední úprava: Kurka Josef, Mgr., Ph.D. (18.09.2025)
The course is taught in person and we expect students to come to the class to attend the lectures and seminars. The hybrid form will be accessible to the students with a granted request for hybrid learning, and will be provided via MS Teams.
The primary and only contact person for this course is Josef Kurka.
The aim of the course is to provide hands-on experience in programming in Python with a special emphasis on data manipulation and processing.
Students will get the basics of Pandas, Numpy or Matplotlib and collect web data with API requests. The students will also be guided through modern social-coding and open-source technologies such as GitHub, Jupyter and Open Data.
The students will gain experience using the data from the IES website and subject evaluation protocols.
Poslední úprava: Kurka Josef, Mgr., Ph.D. (29.09.2025)
Cíl předmětu -
Please switch to the english version.
Poslední úprava: SCHNELLEROVA (24.10.2019)
After passing the course, the students will be able to execute a software-based, data-oriented project in Python, specifically download the data from APIs or directly from the web, pre-process it, analyze it and visualize it. Further, they will be able to do it in a repeatable, standard software-development quality manner using version control.
Poslední úprava: Hronec Martin, Mgr., Ph.D. (06.02.2020)
Literatura -
Please switch to the english version.
Poslední úprava: Krejcar Vilém, Mgr. (01.10.2024)
Book
Wes McKinney: Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, O'Reilly, 2012
In this course, students are expected to complete 3 homework assignments, a midterm exam and the final project. Given the increasing availability of generative AI tools (e.g., ChatGPT, Gemini, Claude), the rules regarding the use of AI for each of the tasks are detailed below. 1. Homeworks Use of generative AI tools is prohibited. The purpose of the homeworks is to get hands on experience with coding in Python, not to get cheap points by cheating. We will make an effort to find out, and you will be penalised as per academic integrity guidelines. 2. Midterm Use of generative AI tools is prohibited. The exam will be open book and open browser, use of AI tools will be penalised as per academic integrity guidelines. 3. Project The use of generative AI is permitted, with disclosure, for the following: i) consult and sharpen your OWN ideas ii) troubleshooting for your code iii) spelling and grammar check
You must not use AI to:
generate project topics - you should be able to formulate a topic that you are passionate about;
generate any part of code and claim it as your own work
violate academic integrity, bypassing your responsibility to think and create independently.
Such behaviour may be considered academic misconduct and will be addressed in line with Charles University’s academic regulations.
Please adhere to the following principles while using AI: I. Transparency Requirement
If you use generative AI in any stage of creating your project, you must include a brief note about the use of AI, e.g.: “I used generative AI (e.g., ChatGPT) for the following purposes: [...]. All ideas, writing, and coding are my own.”
Important Note: To pass the course, students must achieve at least 50% of the points from both the work-in-progress presentation and homework assignments.
Grading scale (according to Dean's Provision 17/2018):
A: above 90 (not inclusive)
B: between 80 (not inclusive) and 90 (inclusive)
C: between 70 (not inclusive) and 80 (inclusive)
D: between 60 (not inclusive) and 70 (inclusive)
E: between 50 (not inclusive) and 60 (inclusive)
F: below 50 (inclusive)
Poslední úprava: Kurka Josef, Mgr., Ph.D. (29.09.2025)
Sylabus -
Please switch to the english version.
Poslední úprava: Krejcar Vilém, Mgr. (01.10.2024)
Here’s your schedule with the semester beginning on September 29:
WEEK
DATE
L/S
TOPIC
LECTURER
DEADLINE
1
29/9
S
Seminar 0: Setup (Jupyter, VScode, Git, OS basics)
Josef
1
30/9
L
Python basics
Josef
2
6/10
L
Python basics II
Josef
2
7/10
S
Seminar 1: Basics
TBD
3
13/10
L
Numpy
Josef
HW 1
3
14/10
S
Seminar 2: Numpy
TBD
4
20/10
L
Pandas I
Josef
4
21/10
S
Seminar 3: Pandas
TBD
HW 2
5
27/10
Dean's day - no lecture!
5
28/10
Holiday - no lecture!
6
3/11
L
Pandas II + Matplotlib
Josef
7
10/11
L
Data formats, APIs
Josef
-
7
11/11
S
Seminar 4: Data formats & APIs
TBD
HW 3
8
17/11
Holiday - no lecture!
8
18/11
-
MIDTERM
Josef
9
24/11
L
Algorithmic problem solving
Josef
9
25/11
S
Seminar 5: Midterm solution
TBD
10
1/12
L
Data science
Josef
10
2/12
S
Seminar 6: Data science case-study
TBD
11
8/12
L
How to code (avoiding spaghetti code)
Josef
Project proposal approval
12
15/12
L
Guest Lecture: TBA, Beer with the guest and class-members after the lecture at TBA, 8:15pm
Josef
Beer
12
16/12
L
Mixed topics: pkg, tests, docs, sql
Josef
13
22/12
-
Christmas holiday
13
23/12
-
Christmas holiday
15
5/1-9/1
-
WiP: Project consultations
Josef
16
12/1-13/1
-
WiP: Project consultations
Josef
18
26/1
-
Deadline Final Project - submit
Josef
Let me know if you need any other adjustments!
Poslední úprava: Kurka Josef, Mgr., Ph.D. (02.12.2025)
Vstupní požadavky -
Please switch to the english version.
Poslední úprava: SCHNELLEROVA (24.10.2019)
Previous experience with general coding is assumed - The course is designed for students that have at least some basic coding experience. It does not need to be very advanced, but they should be aware of concepts such as for loop, if and else, variable or function.
No knowledge of Python is required for entering the course.
Poslední úprava: Hronec Martin, Mgr., Ph.D. (06.02.2020)
Požadavky k zápisu -
Please switch to the english version.
Poslední úprava: SCHNELLEROVA (24.10.2019)
The course is primarily for master and advanced bachelor students.
Poslední úprava: Hronec Martin, Mgr., Ph.D. (04.10.2022)