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. If the course reaches its maximum capacity, the course lecturers may deregister students for whom the course is not mandatory.
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.
Poslední úprava: Kurka Josef, Mgr., Ph.D. (05.02.2026)
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: Kurka Josef, Mgr., Ph.D. (31.01.2026)
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
Credit load 5 ECTS equivalent to 125+ hours of student work:
- participation lecture time - 16 hours - participation seminar time - 9 hours - homework assignments - 5 hours - midterm preparation - 20 hours - project work - 50 hours - additional home study - 25 hours
You are allowed to use generative AI tools such as ChatGPT, Copilot, Claude, or similar technologies to improve your learning experience by discussing with the AI the core concepts, applications, and the literature. During the exam, you are of course not allowed to use any tool or application, only a pen and a simple calculator if necessary.
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.”
Grading scale (according to Dean's Provision 17/2018):
A: above 91
B: between 81 and 90 (inclusive)
C: between 71 and 80 (inclusive)
D: between 61 and 70 (inclusive)
E: between 51 and 60 (inclusive)
F: below 50 (inclusive)
Poslední úprava: Kurka Josef, Mgr., Ph.D. (31.01.2026)
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 February 16:
WEEK
DATE
L/S
TOPIC
LECTURER
DEADLINE
1
16/2
S
Seminar 0: Setup (Jupyter, VScode, Git, OS basics)
Josef
1
18/2
L
Python basics
Josef
2
23/2
L
Python basics II
Josef
2
25/2
S
Seminar 1: Basics
Josef
3
2/3
L
Numpy
Josef
HW 1
3
4/3
S
Seminar 2: Numpy
Josef
4
9/3
L
Pandas I
Josef
5
16/3
L
Pandas II + Matplotlib
Josef
6
23/3
S
Seminar 3: Pandas
Josef
7
30/3
L
Data formats, APIs
Josef
HW 2
7
1/4
S
Seminar 4: Data formats & APIs
Josef
8
8/4
L
Algorithmic problem solving
Josef
HW 3
9
13/4
MIDTERM
Josef
9
15/4
S
Seminar 5: Midterm solution
Josef
10
20/4
L
Data science
Josef
10
22/4
S
Seminar 6: Data science case-study
Josef
11
27/4
L
How to code (avoiding spaghetti code)
Josef
Project proposal approval
11
29/4
L
Mixed topics: pkg, tests, docs, sql
Josef
12
4/5
L
Guest Lecture
Josef
15
18/5-22/5
-
WiP: Project consultations
Josef
16
25/5-29/5
-
WiP: Project consultations
Josef
18
14/6
-
Deadline Final Project - submit
Josef
Let me know if you need any other adjustments!
Poslední úprava: Kurka Josef, Mgr., Ph.D. (17.02.2026)
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: Kurka Josef, Mgr., Ph.D. (31.01.2026)
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: Kurka Josef, Mgr., Ph.D. (31.01.2026)