The course site for Data Processing in Python (JEM207) at IES FSV CUNI. See information on SIS.
The course is taught by Josef Kurka (lectures) and Boris Gerát (seminars).
- Matching document: link
- Approval of project proposals - 14/12/2026
- Work-in-progress consultations - 01/2027
- Project submissions - 29/1/2027
Final project deadline: January 29, 2027 before midnight. Late submissions will be awarded 0 points.
- Submit link to your project github repository via Google forms [link TBD]
- The waiting list will be resolved according to faculty rules. Students usually drop from the course during the first week of the semester so there is a good chance you will be able to register. We will try to enroll all the registered students.
- There are 12 lectures (including midterm) and 8 seminars, hence the schedule is a bit irregular. The course runs according to the schedule below.
Here's your schedule with the semester beginning on September 29:
| WEEK | DATE | L/S | TOPIC | LECTURER | DEADLINE |
|---|---|---|---|---|---|
| 1 | 28/9 | Holiday - no lecture | |||
| 1 | 29/9 | S | Seminar 0: Setup (Jupyter, VScode, Git, OS basics) | Josef | |
| 2 | 5/10 | L | Python basics | Josef | |
| 2 | 6/10 | no lecture | |||
| 3 | 12/10 | L | Python basics II | Josef | |
| 3 | 13/10 | S | Basics | Boris | |
| 4 | 19/10 | L | Numpy | Josef | HW 1 |
| 4 | 20/10 | S | Numpy | Boris | |
| 5 | 26/10 | L | Pandas I | Josef | |
| 5 | 27/10 | S | Visualisation | Boris | |
| 6 | 2/11 | L | Pandas II + Matplotlib | Josef | HW 2 |
| 6 | 3/11 | S | Pandas | Boris | |
| 7 | 9/11 | L | Data formats, APIs | Josef | |
| 7 | 10/11 | S | Data formats, APIs | Boris | |
| 8 | 16/11 | - | Dean's day - no lecture | ||
| 8 | 17/11 | - | Holiday - no lecture | ||
| 9 | 23/11 | - | MIDTERM | Josef + Boris | |
| 9 | 24/11 | S | Midterm solution | Boris | |
| 10 | 30/11 | L | Algorithmic problem solving | Josef | |
| 10 | 1/12 | L | Guest Lecture: Martin Cerny & Barbora Jakubova; IQVIA | Josef | |
| 11 | 7/12 | L | Data science | Josef | Project proposal submission |
| 11 | 8/12 | S | Data science case-study | Boris | |
| 12 | 14/12 | L | How to code (avoiding spaghetti code) | Josef | Project proposal approval |
| 12 | 15/12 | L | Mixed topics: pkg, tests, docs, sql | Josef | HW3 |
| 14 | 4/1 - 8/1 | - | WiP: Project consultations | Josef + Boris | |
| 15 | 11/1 - 15/1 | - | WiP: Project consultations | Josef + Boris | |
| 17 | 29/1 | - | Deadline Final Project - submit | Project submission |
Topics of the last weeks of the semester might be changed.
Let me know if you need any other adjustments! 😊
The requirements for passing the course are homeworks (5pts), the midterm (25pts), work in-progress presentation (10pts), and the final project (60pts).
At least 50% from the work-in-progress presentation and final project is required for passing the course.
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
- Students in teams by 2
- Submit your proposal TBD
- Deadline for topic submission (week to consult): December 7, 2026
- Deadline to attend the WiP consultation: January 15, 2027, [link here]
- Deadline for completed project: January 29, 2027
- Project description by the authors - 10 pts
- describes each part of the repository, and describe its purpose and methods
- this part must be written in your own words
- Runnable code - 10 pts
- by far the most important one! The project needs to run from scratch after installing versioned requirements.
- Pythonic code principles and structure - 20 pts
- Provide requirements.txt file of the dependencies with versions (can use pip freeze) so that we can install with
pip install -r requirements.txt - code is more often read than written, EAFP (Easier to Ask for Forgiveness than Permission)
- functions (classes), properly named variables
- following Python style guidelines
- README
- documentation
- proper repository structure
- Provide requirements.txt file of the dependencies with versions (can use pip freeze) so that we can install with
- Analysis, visualization - 10 pts
- highlight key points of your project, give it some narrative
- Originality, difficulty - 10 pts
- insightful application on a topic you are passionate about
- project is sufficiently elaborate
- analysis is interactive
- difficulty to download the data and the scope of the dataset
- the goal is to challenge yourselves and learn something new, regardless if you're a Python novice or you write python code every week
- Brief presentation of work-in-progress related to the final project.
- You should have 50% of your project completed at this stage.
- Prepare questions, understand the goals of your project
- Live coding (80 minutes), "open browser", no collaboration between the students.
- No artificial intelligence
- More details during the lecture the week before
-
Create leetcode.com account
-
You are expected to submit in a specified [Google Form] (please make sure to use your Charles University email address, xxxxxxxx@fsv.cuni.cz):
- Link to the problem
- Print page showing your solution and submission statistics
- Like this: Path Sum III - Submission Detail - LeetCode.pdf
- EDIT: You can access the statistics of your solution (even it is not accepted by leetcode) via the top right button to your
profile. You go to yoursubmissions, then columnstatusand you obtain thesolution details. These details you save/print to.PDFand upload. Yournameore-mailmust be legible in the PDF of your submission
- Plain text of your script (in python 3!)
-
Rules:
- Do not use AI tools. 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 penalized as per academic integrity guidelines.
- Have fun and try to beat the world!
- Your submission will ideally be accepted by leetcode, but send us your best attempt regardless, you can still get the points. If anything, try to optimize run time, do not worry about memory.
- You will struggle, but if you solve many of those, your next stop is Google cafeteria as an employee!
- If you cannot decide, there is a shuffle button which will pick something for you.
- Do not use AI tools. 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 penalized as per academic integrity guidelines.
-
HW 1 (1 pts):
- Choose one of the easy problems. Have fun and send us how far you have got!
- Example: Two Sum
- Choose one of the easy problems. Have fun and send us how far you have got!
-
HW 2 (1 pts):
- One Medium problem
- Must be from Pandas set of problems
- One Medium problem
-
HW 3 (3 pts):
- TBD