-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.qmd
51 lines (33 loc) · 3.34 KB
/
index.qmd
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
---
title: "Programming: Everyday Decision-Making Algorithms"
subtitle: "Kühne Logistics University - Winter 2024"
author: "Dr. Tobias Vlćek and Dr. Nils Roemer"
html:
theme: [litera, styles_html.scss]
---
# Course Description
This course explores the intersection of computer science and everyday life by examining how algorithms can be applied to improve decision-making in various contexts. Based on the book "Algorithms to Live By" by Brian Christian and Tom Griffiths, the course will cover topics such as optimal stopping, scheduling, caching, and game theory, providing both theoretical foundations and practical programming exercises. The course consists of lectures and exercises.
# Learning Outcomes
Our broad goal is to equip students with the ability to get to grips with algorithmic thinking. We want to enable students, to indepently apply methods and concepts from algorithms to solve their everyday practical problems while also providing a brief introduction into programming with python.
Upon completion of the course, students will:
- understand fundamental algorithms and their applications to everyday problems
- develop the ability to model real-world scenarios using algorithmic thinking
- implement simple algorithms in python to solve practical problems
- analyze the efficiency and effectiveness of different algorithms in various contexts
Please note that this course is **specifically designed for business students**. That is, it is **not required to have any advanced knowledge or experience in programming** to attend this course. The teaching format will make it possible to account for different levels of programming skills such that every student can take the most out of the course.
# Course Structure
The course is based on a hands-on approach with a two-fold structure:
1. **Lectures**: In the lectures, we will introduce and discuss concepts and illustrate them in reproducible examples.
2. **Hands-on Tutorials**: Students will apply the concepts from the lecture in jupyter notebooks, while simultaneously learning the basics of python.
The course is not graded and can only be passed/failed. The evaluation of the course will be based on the following components:
1. **Attendence**: Students are expected to attend at least 75% of the lectures.
2. **Assignments**: Students will have to hand in the assignments from 2 out of the 5 tutorials in this course. All are due by the end of the quarter, but earlier submissions of the assignments are highly encouraged. At least 50% of the solutions of the assignment must be correct.
3. **Presentation**: Students will give a short presentation in groups of up to 3 students on their main findings and the application of the learned concepts of the course in the last lecture which are then discussed with the rest of the class.
You can find more information on the course contents in the [syllabus](general/syllabus.qmd).
# How to see the slides
- This course is based on [Quarto](https://quarto.org/)
- It uses [revealjs](https://revealjs.com/) to render the slides
- You find the slides for each lecture in the corresponding lecture
- To see the slides, click on `RevealJS` in the top right corner
# Questions
If you have any questions regarding the course, please contact me under [[email protected]](mailto:[email protected]?subject=Programming%20Algorithms%3A%20%3CYour%20subject%3E).