hpps-e2022-pub
hpps-e2022-pub copied to clipboard
Public repository for HPPS 2022
Syllabus and Material for High Performance Programming and Systems (HPPS)
![](https://user-images.githubusercontent.com/55833/198544261-6539c5f5-9d96-4fa6-b00d-c7b13b620c59.png)
Basics
HPPS takes place in block 2. There are three kinds of in-person teaching activities: lectures, exercises and the study café. All take place physically on campus.
Lectures are mostly conventional, but may use aspects of the flipped classroom approach.
Exercises are conducted in four smaller classes, each conducted by a teaching assistant (TA). An exercise session involves working on problems that will help you learn the curriculum, and in many cases directly train you in the skills you will need for the mandatory assignments.
Study cafés are places where you can get assistance with the mandatory assignments.
This course website is used for handing out material.
Discord can be used for asking questions. (Invite link)
Absalon is used for handing in assignments and for course announcements.
Textbook
The textbooks are as follows:
-
JG: Modern C (CC-licensed PDF)
-
HPPS: HPPS course notes PDF - these will be updated as the course progresses, so make sure to regularly check that you have the newest version
Schedule
Tuesday
- Lecture: 10:00-12:00 (Aud 05, HCØ).
Thursday
-
Exercises: 10:00-12:00
-
Lecture: 13:00-15:00 (Aud 05, HCØ)
-
Exercises: 15:00-17:00
Exercises are split along six hold. Due to space limitations, two hold share a single room:
-
Hold 1+2: 1-0-04 (DIKU)
-
Hold 3+4: 1-0-37 (DIKU)
-
Hold 5+6: 3-0-25 (DIKU)
Friday
- Assignment café 13:00-15:00 (Lille UP-1, DIKU), to get help with assignments. Note: held in Aud 05 on 6th of January.
Assignments
There are 5 assignment in total during the course with deadlines roughly every week.
The assignments will be graded with points from 0 to 4 and it is not possible to re-hand-in any of the assignments.
Assignments are made to be solved in groups of preferably three students, but groups of two active students will also do. We strongly encourage you not to work alone. Groups cannot be larger than three students. Each group must make their own solutions and cannot share implementations and report with other. You may however discuss material and ideas.
A1
-
Handout: 24/11
-
Handin deadline: 4/12
Text, code
A2
-
Handout: 8/12
-
Handin deadline: 18/12
Text, code
A3
-
Handout: 15/12
-
Handin deadline: 22/12
Text, code
A4
-
Handout: 22/12
-
Handin deadline: 8/1
A5
-
Handout: 5/1
-
Handin deadline: 14/1
Study café
Every Friday in from 13:00-15:00 you can attend the assignment café to get help with the assignments. The cafés are held in Lille UP-1 at DIKU (except the first one after New Years, which is held somewhere else due to a booking conflict).
Exam qualification
To qualify for the exam you are required to achieve at least 50% of the total number of points in the first four assignments (that is, 8 points at minimum). You also need to get at least one point in each of the first four assignment.
Exam date
The exam is a take-home exam held from the 20th to the 25th of January. It has an estimated workload of 20 hours. It will involve practical programming and performance analysis of programs.
Languages
All written material will be in English.
Most oral teaching will be in Danish or English, depending on the specific teacher or TA.
You will mainly be programming in C and Python.
Software
You will be using a Unix command line and Unix tools for much of the course. See the Unix software guide.
See also this guide on the GDB debugger, which is a very useful tool for debugging C programs.
If you prefer an IDE see the VS Code installation and setup guide.
People
The teachers are
- Troels Henriksen [email protected]
- David Gray Marchant [email protected]
The TAs are
-
Hold 1: Axel Højmark [email protected]
-
Hold 2: Gunnar Magnussen [email protected]
-
Hold 3: Mikkel Willén [email protected]
-
Hold 4: Jacob Christian Herbst [email protected]
-
Hold 5: Jonatan Ruiz-Molsgaard [email protected]
-
Hold 6: Rasmus Damgaard Nielsen [email protected]
Exam format
The exam will be a take-home exam that will be very similar in form to the mandatory assignments.
Course plan
Each teaching activity has an associated subdirectory here on GitHub that lists expected reading and other material. Direct links below.
-
Week 1
-
Tuesday lecture 22/11
-
Thursday morning exercises 24/11
-
Thursday lecture 24/11
-
Thursday afternoon exercises 24/11
-
-
Week 2
-
Tuesday lecture 29/11
-
Thursday morning exercises 1/12
-
Thursday lecture 1/12
-
Thursday afternoon exercises 1/12
-
-
Week 3
-
Tuesday lecture 6/12
-
Thursday morning exercises 8/12
-
Thursday lecture 8/12
-
Thursday afternoon exercises 8/12
-
-
Week 4
-
Tuesday lecture 13/12
-
Thursday morning exercises 15/12
-
Thursday lecture 15/12
-
Thursday afternoon exercises 15/12
-
-
Week 5
-
Tuesday lecture 20/12
-
Thursday morning exercises 22/12
-
Thursday lecture 22/12
-
Thursday afternoon exercises 22/12
-
-
Week 6
-
Tuesday lecture 2/1
-
Thursday morning exercises 4/1
-
Thursday lecture 4/1
-
Thursday afternoon exercises 4/1
-
-
Week 7
-
Tuesday lecture 9/1
-
Thursday morning exercises 11/1
-
Thursday lecture 11/1
-
Thursday afternoon exercises 11/1
-