Repository navigation
Expand file tree
/
Copy pathsyllabus.qmd
More file actions
81 lines (54 loc) · 3.66 KB
/
Copy pathsyllabus.qmd
File metadata and controls
81 lines (54 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
title: "Syllabus"
subtitle: "This year's course structure"
---
# Part I
## Introduction to Programming with Python
In the first part, an introduction to the basic concepts of programming in Python is provided. Students will learn the Python syntax, data types, as well as how to implement loops, functions, and object classes in Python. Once these concepts are understood, we will learn how they can be used to solve problems.
## Lectures
**Welcome and Introduction (I)**\
Basics of Python syntax, variables, data types
**Control Structures for Your Code (II)**\
String methods, comparisons, conditional statements, loops
**Building Reusable Functions (III)**\
Functions, arguments, return values, scope, classes
**Handling Data in more than one Dimension (IV)**\
Tuples, lists, sets, dictionaries
**Errors and Debugging (V)**\
Exceptions, try-except blocks, debugging
# Part II
## Data Science with Python
In the second part, we will cover basic data science tools in Python referring to data manipulation, descriptive and explorative analysis as well as visualization. At the end, an outlook will be provided on the next steps in Python.
## Lectures
**Using Modules and Packages (VI)**\
Standard libraries, random numbers and how to use them
**NumPy for Scientific Computing (VII)**\
Fast array operations with NumPy; we install uv, Zed and Mistral Vibe together in class
**Pandas and AI Craft (VIII)**\
Pandas for data manipulation and AI
**Data Visualization (IX)**\
Choosing and judging charts, telling a story with data, and the in-class git setup
# Part III
## Programming Projects
In the third part, students take on a final project in Python where they apply their new knowledge in groups of three on a topic of their choice. Each group will present its results and get feedback at the end of the semester.
## Lectures
**Git and Your Project (X)**\
Bring your laptop with git and the GitHub CLI set up (in class in Session IX), learn git and GitHub, form groups, and choose your project
**Project Work I (XI)**\
Progress your group project under assistance
**Project Work II (XII)**\
Finalize your group project with your partners
**Presentations and Discussion (XIII)**\
Present your group's work and the learnings you have made
# Checkpoints
Five in-class checkpoints, 12 points each (Checkpoints 1 to 3: six tasks of two points, all or nothing per task; Checkpoint 4: twelve tasks of one point; Checkpoint 5: three longer tasks scored point by point), always the **first 40 minutes** of the session, individual work, uploaded to Moodle before the time is up. No make-ups: the point math absorbs one miss. With a medical certificate, a missed checkpoint is left out and the pass mark becomes 60 percent of the remaining points. Session II has a 15-minute ungraded practice run in the same format.
Checkpoints are graded by re-running your submission against reference tests. The one exception is the chart in Checkpoint 5: an LLM judge scores it against the rules from Session IX, and I check every one of its judgments myself.
Late uploads: within 5 minutes of the deadline they still score in full, between 5 and 10 minutes they are capped at half the points, and after 10 minutes Moodle stops accepting the file and the checkpoint scores zero. Start your download a couple of minutes early so the upload lands in time.
| Checkpoint | Opens | Covers | AI |
|---|---|---|---|
| 0 (practice, ungraded) | Session II, before the lab | Session I and the first loops of Session II | no |
| 1 | Session III | Sessions I-II | no |
| 2 | Session V | Sessions III-IV | no |
| 3 | Session VI | Sessions I-V | no |
| 4 | Session VIII | Sessions VI-VII | allowed |
| 5 | Session X | Sessions VIII-IX | allowed |