SubjectsSubjects(version: 992)
Course, academic year 2026/2027
   
Data Processing in Python - JEM207
Title: Data Processing in Python
Czech title: Data Processing in Python
Form of teaching: lecture+seminar
Guaranteed by: Institute of Economic Studies (23-IES)
Faculty: Faculty of Social Sciences
Actual: from 2025
Duration in semesters: 1
Semester: both
E-Credits: 5
Examination process: written
Hours per week, examination: 2/2, Ex [HT]
Capacity: winter:30 / 30 (35)
summer:unknown / unknown (35)
Maximum number of enrolled students: 35
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: English
Teaching methods: full-time
Additional information: https://github.com/iesfsv/Data-Processing-in-Python
Repeated enrollment: 2 / 2 / 1 / 2
Note: course can be enrolled in outside the study plan
enabled for web enrollment
priority enrollment if the course is part of the study plan
you can enroll for the course in winter and in summer semester
Guarantor: Mgr. Josef Kurka, Ph.D.
Teacher(s): Mgr. Josef Kurka, Ph.D.
Ying Ma
Class: Courses for incoming students
Schedule   Noticeboard   
Annotation -
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.
Last update: Kurka Josef, Mgr., Ph.D. (05.02.2026)
Aim of the course -

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.

Last update: Kurka Josef, Mgr., Ph.D. (31.01.2026)
Literature -
Teaching methods -

Please see the course GitHub repository (Data-Processing-in-Python). 

Lectures, Seminars, Self-study, Assignment, Exams

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.”

II. Further Guidance

Last update: Kurka Josef, Mgr., Ph.D. (14.02.2026)
Course assessment methods and requirements for successful completion, grading scheme -

The final grade consists of four parts:

  • Final project (60%)
  • Midterm (25%)
  • Final project work-in-progress presentation (10%)
  • Homework assignments (5%) - TBD

Important Note: To pass the course, students must achieve at least 50% of the points from both the work-in-progress presentation and final project.

For more details about the course, please visit the GitHub repository: Data Processing in Python at IES

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)
Last update: Kurka Josef, Mgr., Ph.D. (31.01.2026)
Syllabus -

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! 

Last update: Kurka Josef, Mgr., Ph.D. (17.02.2026)
Course registration requirements -

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.

Last update: Kurka Josef, Mgr., Ph.D. (31.01.2026)
Registration requirements -

The course is primarily for master and advanced bachelor students.

Last update: Kurka Josef, Mgr., Ph.D. (31.01.2026)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html