feat!: restructure erstie guide, expand

Expanded the erstie guide massively (added guide for each semester),
restructured to new URLs, added summaries details
This commit is contained in:
2026-08-17 11:42:25 +02:00
parent 9b6af4e8cb
commit 27560cd448
23 changed files with 208 additions and 25 deletions
+4
View File
@@ -0,0 +1,4 @@
# Masters
::: info
This section will be expanded once I reached the masters myself
:::
+31
View File
@@ -0,0 +1,31 @@
# Semester Planning
Whenever the course registration opens, make sure that you know what you want to do next semester,
and ideally what you want to do the next few semesters.
For planning, [StudyPlanner](https://www.studyplanner.ch/) may come in very handy, as it helps you keep track of what you still need to do and what you already have done.
For picking courses, you may want to read reviews of courses, which you can do on [CourseReview](https://coursereview.ch).
## Requirements for Bachelor
The CS Bachelor can be a bit confusing in terms of its requirements. I explained it as I would have hoped it had been to me when I started in HS24:
- **Semester 1 and 2**: You need to pass both, each *on average*. You either get all 28 credits, or none at all for each of the semesters.
You have two attempts for each semester.
The average is the raw average (i.e. 3.99 fails) and taken *after* rounding for each of the courses.
- **Semester 3 and onwards**: You need to pass each exam and they award you the credits individually. This means that you can take just three of the typical four courses
in semester 3.
- **Basic Courses**: The basic courses are the eight mandatory courses in semester three and four. You need to pass seven out of them within two attempts each.
If you failed one, you can *compensate it* with a *core course*, but only if you have *attended and failed* said course.
Failing two or more basic courses twice and you are out of the programme and blocked from this programme.
- **Core subjects**: These courses are typically taken in Semester 5 and 6, and you need to pass *at least* four of them.
If you failed a basic course twice (or once and decided not to retake it), you have to pass *at least* five of them.
- **Ergänzung**: This is a course from a different department, and it needs to be worth at least 5 credits. You can pick any from the approved ones on VVZ.
Failing one twice isn't a big deal, just pick another one.
- **GESS**: GESS courses are things like history, philosophy and more and you need 6 credits in this category (any excess won't contribute to your total).
Three of these credits can be obtained through language courses.
- **Bachelor's Thesis**: Should be self-explanatory, is worth ten credits.
- **Seminar**: You need to participate in at least one seminar, worth two credits.
- **Electives**: These are extra subjects you can take (and you will most likely have to take a couple of them) to fill in the remaining credits.
Note that for courses that have a bonus, that bonus is *generally* added *before* rounding.
+100
View File
@@ -0,0 +1,100 @@
# Semester 1
Chances are that if you are reading this, you are starting with ETH, so here a few important remarks:
- Make sure to keep up with the course content. Catching up after the semester ended is hard
- In D-INFK, for most people, the lectures are not very helpful, however the exercise sessions are
- Make sure to switch exercise classes if you don't like a TA's teaching style. You don't have to change the registration on MyStudies, you can go to any class you like.
- Don't hesitate to ask questions in exercise classes
::: warning DISCLAIMER
Semester 1 is *not* indicative of the workload in later semesters. It is (by far) the highest workload semester.
:::
## Discrete Maths (DM)
<small>Managed via Moodle</small>
This is the course most people fear in this programme, for a reason. For the longest time, it has had pass rates of below 50% and as far as I am aware,
this has not improved with the new professor.
Fear not however, as this exam is part of an exam block and you will pass or fail the entire block, so if you are good enough in the other courses,
the grade of DM doesn't matter too much if your goal is just to pass.
The reason that this course has this poor of a pass rate is that most students had not previously done proofs much, if at all, and if they have,
most likely nowhere near as formal as is required in this subject.
Thus, be aware that this course will, if you are trying to pass it and have not done much proving (and it doesn't come naturally to you),
most probably be the highest effort course of this semester.
Thus, at least factor in a whole day outside the lectures and exercise classes per week for this course if you fall into that category.
Make sure to follow the course in any case!
The exam is very time constrained for probably about 90% of the people and is almost entirely proofs.
To prepare for this, solve as many old exams as you can, but especially the more recent ones
(maybe apart from FS25, that one had a 0% pass rate because it was the last one from the old professor)
::: details Remark
I had to take that one due to being sick at the winter exam, so you can see what I mean with the point that you don't need to pass it to pass the first semester
:::
## Linear Algebra (LA)
<small>HS 26 link: https://ti.inf.ethz.ch/ew/courses/LA26/index.html</small>
This probably is the most *straight forward* course in this semester, which doesn't mean it's necessarily the easiest (though it arguably is due to the predictability).
Its lectures are good while Prof. Gärtner teaches and not all too great when Prof. Weissmantel does (may have improved since HS24, he teaches the second half of the course).
This is why it's important to find a good TA.
Furthermore, it's important that if you *think* you are good at LA (because you have covered it in Schwerpunktfach at High School), don't go into this course overconfident.
It is much more proof-oriented than you are probably used to, so don't just go and skip the first three weeks, or you may find yourself in major trouble later on.
The SpF will of course help you in this course, but you won't have covered nowhere near all topics of this lecture.
## Introduction to Programming (EProg)
<small>HS26 link: https://lec.inf.ethz.ch/infk/eprog/2026/</small>
EProg is a very interesting course in that the content isn't necessarily hard, but the written exams can even catch out proficient Java developers
due to them asking edge cases and the like.
::: details If you have **(fairly) extensive programming experience** {open}
especially in Java or another object oriented programming language,
you may *possibly* safely skip most of the lectures (but not the first ones, as they teach EBNF, which you probably haven't seen),
if you at least do the bonus exercises each week.
Then, during the exam preparation phase, solve a few of the theoretical exams and coding exams such that you know what kind of questions they may ask.
:::
::: details If you have **little to no programming experience** {open}
then it is important that you follow this course along closely, as you will be programming quite a bit in Java not only here, but also in A&D.
While this programme is definitely manageable without programming knowledge, you need to be aware that it will need more effort, because
for people with previous experience, EProg is a fairly low effort subjects up to the exam preparation phase.
That should not deter you, I am sure you will manage just fine, just as a heads-up and to remind you that the exercise sessions exist,
which are likely to be very quite empty (because a large portion of people already have coding knowledge, so will skip these classes),
so the TAs can help you much more with your own questions.
:::
For the bonus, there (typically) are two timed bonus exercises, where you have two hours on a specific day to solve the exercises.
In those weeks, I would recommend that you solve, or at least have a look at, the normal exercises.
All hand-in happens via GitLab, and you should (ideally) an SSH key for the Git CLI, as that is more secure.
See the [git guide](/guide/infra/git) for more details on that
The exam is split into written and programming parts, both happening right after each other.
For the programming part, you will have access to IntelliJ, a Java IDE by Jetbrains.
<small>Consider yourself lucky, because my year was the last one to use Eclipse...</small>
## Algorithms and Data structures (A&D)
<small>Managed via Moodle</small>
A&D has partner work with randomly assigned partners from your exercise session. Make sure to coordinate a meeting during the session.
In this partner work, you solve the exercise sheets, and you also correct and give feedback to other groups,
which is known as "Peer Grading".
These assignments, as well as the peer grading and the mini quizzes all contribute to bonus.
Then, there are the programming tasks via Code Expert.
See the [infra guide](/guide/infra) for more details on how it works and how to log in.
In these tasks, you are asked to implement algorithms seen in the lectures to solve problems, all within given time complexity constraints.
The provided tests are excellent, and you can also write your own, if you like.
The exam works similarly, you have one part written, the other part coding.
+36
View File
@@ -0,0 +1,36 @@
# Semester 2
Semester 2 is in my opinion (and the one of many people) the easiest semester in the entire Bachelor's programme for Computer Science.
This is why I would highly recommend doing at least a GESS subject in this semester already.
It may also be advisable to pick another course, as you can always drop it if you feel overworked.
Below some notes on two subjects that are a bit out of the ordinary in this semester.
The other two courses, Algorithms and Probability (A&W), as well as Analysis I, are well taught, well organized courses,
pretty much as you would expect. A&W retains the CodeExpert plus written tasks model with Peer-Grading, but now you are on your own.
## Parallel Programming
This course course is an example of a poorly taught course at ETH. The exercises during the semester, while interesting, aren't really worth doing
(in my opinion, as they don't really help much with either the exam or understanding the topics)
and the entire course can be studied using a summary in just a few full days of work.
This is also the reason why taking an extra course with a semester end exam is feasible, as there is barely any work that needs to go into this course for most people.
Furthermore, the slides, especially by Professor Torsten Höfler, are utterly unusable.
I had used [Azurios' summary](https://azurios.gitlab.io/page/summaries/) for studying PProg and passed easily, without ever reading Prof. Höfler's slides.
Reading a summary obviously won't suffice, you should also practice using old exams, as the content and difficulty has stayed fairly consistent over the last few years.
They provide the questions in both German and English and you may also answer in either language.
**However**: Be sure to still follow this course along to see if you understand things.
## DDCA
DDCA is a course with a professor that is quite famous in the programme, due to his energetic lecturing style.
Furthermore, the entire course is live-streamed on YouTube.
The course consists of lectures and mandatory (with *sort of* attendance (they don't check that you were there, but you have to be there to get your lab results graded)) labs,
where you work with a Field Programmable Gate Array (FPGA) to develop *small parts* of a full MIPS processor using the Hardware Design Language `verilog`.
They are quite fun, typically take about 2 hours and account for 30% of the entire course's grade.
Thus, be sure to always do the labs, as passing this course is quite easy if you get (close to) the full grade in the labs.
For the exam, make sure to start solving old exams early, as the exam has some interesting exercise types which you need to learn.
The optional homework also has some of these tasks and they also upload a video explaining how to do many of these tasks.
+64
View File
@@ -0,0 +1,64 @@
# Semester 3
Semester 3 is an interesting semester in terms of the courses, ranging from well taught (Analysis II and TI) to atrocious (NumCS).
The same applies also to Semester 4, but the courses there are easier for many people.
## Numerical Methods for Computer Science (NumCS)
This is about as bad of a course as courses ever really get.
::: details The rant about the course {closed}
The course was entirely reworked for HS2025, where I took it, switching from C++ and Eiger to Python with NumPy and SciPy,
as well as changing the course structure and curriculum pretty significantly. The former of which really is an improvement,
as most data science happens in Python using NumPy. However, since the professor is from the Maths department teaching a CS course,
you can kinda see where this is going.
While the content is interesting, the poor teaching really made this course a chore.
Due to this, many people have stopped attending the lectures and simply went to the exercise classes, where TAs were working hard to explain the content in a more approachable way.
The weekly CodeExpert exercises also were a massive chore, with it not rarely taking longer to understand what the task was than implementing it,
due to the very poor way in which things were phrased. This is one of the few cases where using AI is absolutely essential, as it can save you so much time
cutting out the paraphrasing of the assignment.
The script also either suffers from poor language or from being "sloppified", since he used Google Gemini to correct the grammar.
This more often that not lead to swallowed equations, turning the whole script into a big mess.
:::
Thus, to make your life as easy as possible in this course:
- Use AI to rewrite the assignment's description if you don't understand the task within a few minutes (DON'T let it solve the task tho!)
- Skip the lectures after the first week if you still have to go through everything again to understand it
- Absolutely *always* go to an exercise class. Switch TAs quickly if your initial one doesn't do a good enough job for you
- Know that the exam was very easy for us (there is a chapter on the exam in my summary/script)
Finally, I want to mention here that I together with a friend have written an entirely new, much shorter script for the course.
It covers pretty much everything that is needed to pass this course, combining the lecture notes, script and notes from our TA (Nils Müller) into a single
script. It is available on ComSol, or on the [Summaries Repo on GitHub](https://github.com/janishutz/eth-summaries/blob/main/semester3/numcs/numcs-summary.pdf).
## Analysis II
This course is pretty much your box-standard, well-taught maths course at ETH.
Not much else is to be said other than do your practice for the exam and you should be fine.
## Systems Programming and Computer Architecture (SPCA)
This course, while not *technically* bad is very underwhelming. The topic frankly is too broad for just a seven credits one semester course,
which also doesn't help it much. Don't however be concerned that it would be very hard, it isn't.
Having a good understand of many of the concepts taught in DDCA certainly won't hurt in this course.
You will be learning to program in C, but not *really*. This is the primary problem with the course:
There is no incentive for you to do the exercises (which in fairness, are pretty cool to do), but so many great opportunities for making the course great were left on the table.
To pass this course, you don't need to solve any of the tasks really, though they certainly do help.
Simply practice writing C a bit and you're good pretty much.
This you can do by solving old exams, or doing your own little project (or doing some Advent of Code tasks in C).
## Theoretical Computer Science (TI)
By far the most unique course this semester, it is known for having a mid and endterm exam, which, if passed on average makes you pass the entire course.
Yes, you heard that right, if you pass these, you won't have to do the session exam!
TI is a lot about learning to do certain kinds of proofs in a certain way.
You learn that automatically by solving the exercises that you need to hand in weekly.
If you achieve more than 50% of the points over the sheets prior to each midterm, you are allowed to participate in them.
The exercise classes are also typically taught well, so the amount of effort required for this course is pretty low, apart from the weeks before each midterm.
To pass, solve a few old exams for each of the midterms and make sure to always hand in your exercise sheets!
+13
View File
@@ -0,0 +1,13 @@
# Semester 4
Semester 4 is typically considered the second easiest semester and I agree.
While FMFP can be a bit of a challenge initially, the exams are very predictable.
What you should *potentially* worry about more is DMDB, as it in my opinion is the worst course I have *EVER* had,
yes, even including NumCS
## Data Modelling and Databases (DMDB)
## Formal Methods and Functional Programming (FMFP)
## Computer Networks (CN)
## Probability and Statistics (W&S)
+4
View File
@@ -0,0 +1,4 @@
# Semester 5 and onwards
::: info
Will be expanded in the future, when I have completed this part of my studies
:::