Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Data Processing in Python (JEM207)

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

Upcoming project work

  1. Matching document: link
  2. Approval of project proposals - 14/12/2026
  3. Work-in-progress consultations - 01/2027
  4. 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]

Information for the summer semester of 2025/2026

FAQ - pre semester

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

Schedule (updated September 23)

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! 😊

Course requirements

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

Final project (60%)

  • 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

Projects' Evaluation criteria

  • 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
  • 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

Project work - presentation (10%)

  • 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

Midterm exam (25%)

  • Live coding (80 minutes), "open browser", no collaboration between the students.
  • No artificial intelligence
  • More details during the lecture the week before

Homework Assignments (5%)

  • 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 your submissions, then column status and you obtain the solution details. These details you save/print to .PDF and upload. Your name or e-mail must 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.
  • HW 1 (1 pts):

    • Choose one of the easy problems. Have fun and send us how far you have got!
  • HW 2 (1 pts):

  • HW 3 (3 pts):

    • TBD

About

The course site for the Data Processing in Python at IES

Resources

Stars

23 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors