Advanced Systems Lab - Spring 2026
Basic Information
- READ: Course description, prerequisites, goals, integrity
- READ: FAQs
- Read the slides of the first lecture
- Course number: 263-0007, 8 credits
- Lectures: TBD
- The lectures are not streamed but recorded. Login info is different from nethz and has been sent by email.
- Instructor: Markus Püschel (CAB H69.3, pueschel at inf)
- Head TA:
- Tommaso Pegolotti (TP)
- TAs:
- Hicham Leghettas (ML)
- Shien Zhu (SZ)
- Emil Schätzle (ES)
- Lorenzo Paleari (LP)
- Jonáš Fiala (JF)
- TBD
- Mailing lists:
- For technical questions: fastcode@lists.inf.ethz.ch (emails to this address go to the lecturer and all TAs)
- Forum to find project partner: fastcode-forum@lists.inf.ethz.ch (emails go to all students who have no partner yet and to Head TA)
- Office Hours: TBD
Time Line (Not Final)
This list can be subject to minor changes, which would be announced in a timely manner.
| Fr 06.03. | Project team and project registered in the project system; start project anytime now |
| Th 05.03. | HW1 due |
| Th 12.03. | HW2 due |
| Th 26.03. | HW3 due |
| Th 09.04. | HW4 due |
| TBD | Midterm |
| week of 27.04. | 1st one-on-one project meeting (minimal milestone: base implementation done, tested, performance plot, initial optimization plan, explain how you plan to divide the optimization work) |
| week of 18.05. | 2nd one-on-one project meeting |
| week of 01.06. | Project presentations |
| Fr 20.06. | Project report due |
Grading
- 40% research project
- Topic: Very fast, ideally adaptive implementation and associated performance analysis for a numerical problem
- Team up in groups of four: register in the project system
- March 6th: find team, find a problem (tip: look at prior courses)
- Finding a problem: Two options
- Suggest a project to MP for approval (see instructions in lecture 1, email MP with paper containing algorithm), or
- Pick from the below list, which most teams do.
If you pick from this list, the decision is final and cannot be changed. Each project has a maximum number of teams, shown in parenthesis. Below links with details will go live latest on Fri 21.02. and only then you can select:
- …
- Once project is fixed: add it in the project system to your team
- Complete “milestones” during the semester and enter them in the project system
- Later in semester: One or two 1 hour one-on-one meetings with a project supervisor
- Give short presentation end of semester
- Write a 7 page standard conference paper (template is provided below)
- 30% midterm
- 30% homework
- Exercises on code analysis
- Implementation exercises
- study the effect of program optimizations, compilers, special instructions, etc.
- write and submit C code & create runtime/performance plots
- All homeworks are single-student homeworks (read integrity rules)
- There is no final exam
Research Project
- All projects have to be registered in our project system. This site contains a rough structure for your project and is also used later for updates.
- How it works:
- Weeks without homeworks should be used to work on the project
- You select a numerical algorithm and create a correct (tested) implementation in C
- You determine the arithmetic cost, measure the runtime and performance
- You profile the implementation to find the parts in which most the runtime spent
- Focusing on these you apply various optimization techniques from this class
- You repeat the previous steps to create various versions with (hopefully) continuously better runtime
- You use (exclusively) a repository that we provide to you
- You analyze and reason about the performance behavior
- You give a presentation and write a short paper about your work
- Paper:
- Maximal 7 pages (hard limit) without references, conference style, template and instructions below
- Everybody reads this: report.pdf
- Latex source: report.zip
- Due date: 20.06 (in your git repository)
- Name: (Team ID) + _report.pdf, e.g. 07_report.pdf
- Presentation
- Week of 02.06 (information)
- Template (the use is totally optional) and some guidelines: presentation-template.pptx, presentation-template.pdf
- Some tips on profiling tools
- Rough timeline
- Start project work: any time, the earlier the better
- Assignment project advisor: around mid April
- One-on-one project meetings: end of April and May, see above
Midterm
.
- All the material up to then is fair game but the overwhelming part will be what was covered in the homeworks
- You can study previous exams below
- No books, notes, laptops, cell phones, or other electronic devices are allowed.
- A dedicated calculator is allowed (i.e., not the one in your cell phone).
- Assignment of the rooms is based on your legi number as registered in the system:
Previous exams:
- 2015: without solution, with solution
- 2016: without solution, with solution
- 2017: without solution, with solution
- 2019: without solution, with solution
- 2020: without solution, with solution
- 2021: without solution, with solution
- 2022: without solution, with solution
- 2023: without solution, with solution
- 2024: without solution, with solution
- 2025: without solution, with solution
Homework
Late policy: No deadline extensions, but you have 3 late days. You can use at most 2 on one homework. For example, submitting 20 minutes or 7 hours late costs one late day.
We will be using Moodle for the homeworks.
It may help to look at the homeworks of previous iterations of this course.
| Homework | Deadline | Solution |:——–|:————————————————————————|:—————–
Lectures Plan (subject to minor changes)
| Date | Content | Other Material |:——–|:——————————————————————————————–|:—————–