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:
+27
-11
@@ -12,30 +12,46 @@ export default defineConfig({
|
||||
nav: [
|
||||
{ text: 'Home', link: '/' },
|
||||
{ text: 'Summaries', link: '/summaries' },
|
||||
{ text: 'Erstie Guide', link: '/ersties', activeMatch: '/ersties/' },
|
||||
{ text: 'ETH (Erstie) Guide', link: '/guide', activeMatch: '/guide/' },
|
||||
],
|
||||
search: {
|
||||
'provider': 'local'
|
||||
},
|
||||
sidebar: {
|
||||
'/ersties': [
|
||||
'/guide': [
|
||||
{
|
||||
text: 'Erstie Guide',
|
||||
base: '/ersties',
|
||||
text: 'A guide to ETH',
|
||||
base: '/guide',
|
||||
items: [
|
||||
{ text: 'Introduction', link: '/' },
|
||||
{ text: 'Student Life', link: '/student-life' },
|
||||
{ text: 'Semester 1 Tips & Tricks', link: '/semester1-tips' },
|
||||
{ text: 'Semester 2 Tips & Tricks', link: '/semester2-tips' },
|
||||
{ text: 'ETH Infrastructure Guide', link: '/infra' },
|
||||
{ text: 'Git & GitLab', link: '/git' },
|
||||
{ text: 'Use of AI', link: '/pretendintelligence' },
|
||||
{ text: 'Exam (Preparation)', link: '/exams' },
|
||||
{ text: 'Buildings', link: '/buildings' },
|
||||
{ text: 'Semester Planning', link: '/semester-planning' },
|
||||
{ text: 'Things to consider / try', link: '/things-to-try' },
|
||||
{ text: 'Reference / Useful links', link: '/reference' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Semesters',
|
||||
base: '/guide/semesters',
|
||||
items: [
|
||||
{ text: 'Semester Planning', link: '/semester-planning' },
|
||||
{ text: 'Semester 1', link: '/semester1' },
|
||||
{ text: 'Semester 2', link: '/semester2' },
|
||||
{ text: 'Semester 3', link: '/semester3' },
|
||||
{ text: 'Semester 4', link: '/semester4' },
|
||||
{ text: 'Semester 5 and onwards', link: '/semester5-onwards' },
|
||||
{ text: 'Masters', link: '/masters' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Infrastructure and More',
|
||||
base: '/guide/infra',
|
||||
items: [
|
||||
{ text: 'ETH Infrastructure Guide', link: '/' },
|
||||
{ text: 'Git & GitLab', link: '/git' },
|
||||
{ text: 'Things to consider / try', link: '/things-to-try' },
|
||||
]
|
||||
}
|
||||
],
|
||||
'/summaries': [
|
||||
@@ -59,7 +75,7 @@ export default defineConfig({
|
||||
copyright: 'Copyright © 2026 Janis Hutz'
|
||||
},
|
||||
socialLinks: [
|
||||
{ icon: 'github', link: 'https://git.janishutz.com/eth-janishutz/website' }
|
||||
{ icon: 'git', link: 'https://git.janishutz.com/eth-janishutz/website' }
|
||||
]
|
||||
}
|
||||
})
|
||||
|
||||
@@ -31,7 +31,7 @@ Even using it for sanity checks is not strictly okay and should thus be avoided.
|
||||
|
||||
Using AI during the Lernphase to get different explanations for concepts on the contrary *may* be a better idea, but make sure to *always* double check.
|
||||
|
||||
Also see the [page on AI here](/ersties/pretendintelligence).
|
||||
Also see the [page on AI here](/guide/pretendintelligence).
|
||||
|
||||
### Summaries, Cheat Sheets
|
||||
In the first semester in both subjects in which you can bring a summary, you need to be the author and in Discrete Maths, it even needs to be handwritten.
|
||||
@@ -93,6 +93,10 @@ They often also allow you to `clone` repos.
|
||||
|
||||
Alternatively, you can use a Git TUI such as `lazygit`.
|
||||
|
||||
I would however advice against *only* using git GUIs, as typing a short git command is often quicker than reaching for a mouse.
|
||||
Of course, if you need to resolve merge conflicts, go to your graphical mergetool.
|
||||
Also note that NeoVim, etc can be used as a diff viewer and mergetool.
|
||||
|
||||
|
||||
## Authentication
|
||||
If you use an IDE, chances are that it has its own authentication manager.
|
||||
@@ -5,6 +5,8 @@ and one for everything else, called the Active Directory (AD), or LDAP password
|
||||
|
||||
Your ETH username is also sometimes referred to as your NETHZ username.
|
||||
|
||||
Since `git` and GitLab are this important to understand and get used to, there is a [separate page about them](/guide/infra/git)
|
||||
|
||||
## Email
|
||||
You can access emails online at https://outlook.office.com (yes, I don't like it either), your email address is `<nethz>@ethz.ch`
|
||||
and you log in using the normal application (Active Directory) password.
|
||||
@@ -0,0 +1,4 @@
|
||||
# Masters
|
||||
::: info
|
||||
This section will be expanded once I reached the masters myself
|
||||
:::
|
||||
@@ -1,4 +1,4 @@
|
||||
# Semester 1 Tips & Tricks
|
||||
# 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
|
||||
@@ -76,7 +76,7 @@ For the bonus, there (typically) are two timed bonus exercises, where you have t
|
||||
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](/ersties/git) for more details on that
|
||||
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.
|
||||
@@ -92,7 +92,7 @@ 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](/ersties/infra) for more details on how it works and how to log in.
|
||||
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.
|
||||
@@ -1,17 +1,25 @@
|
||||
# Semester 2 Tips & Tricks
|
||||
# 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 is a 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)
|
||||
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.
|
||||
|
||||
|
||||
@@ -24,5 +32,5 @@ where you work with a Field Programmable Gate Array (FPGA) to develop *small par
|
||||
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 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.
|
||||
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.
|
||||
@@ -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!
|
||||
@@ -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)
|
||||
@@ -0,0 +1,4 @@
|
||||
# Semester 5 and onwards
|
||||
::: info
|
||||
Will be expanded in the future, when I have completed this part of my studies
|
||||
:::
|
||||
@@ -11,11 +11,11 @@ hero:
|
||||
text: Summaries
|
||||
link: /summaries/
|
||||
- theme: alt
|
||||
text: Erstie Guide
|
||||
link: /ersties/
|
||||
# image:
|
||||
# src: /logo.svg
|
||||
# alt: logo
|
||||
text: ETH (Erstie) Guide
|
||||
link: /guide/
|
||||
image:
|
||||
src: https://static.janishutz.com/logo.jpg
|
||||
alt: logo
|
||||
#
|
||||
# features:
|
||||
# - title: Feature A
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ This is why I provide all my summaries for you to use.
|
||||
|
||||
[GitHub Repo](https://github.com/janishutz/eth-summaries)
|
||||
|
||||
<small>*Note that some summaries were written by a friend or with a friend.*</small>
|
||||
<small>*Note that some summaries were written by a friend or in collaboration with said friend.*</small>
|
||||
|
||||
## Terms and Conditions
|
||||
Note that all my summaries are licensed under the [CC-BY-NC-SA 4.0 license](https://creativecommons.org/licenses/by-nc-sa/4.0/).
|
||||
|
||||
@@ -1 +1,18 @@
|
||||
# Semester 1
|
||||
## Algorithms and Data Structures
|
||||
A summary for the full course. Some examples were AI generated (in Tikz)
|
||||
- [Algorithms & Datastructures Summary (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester1/algorithms-and-datastructures/ad-janishutz.pdf) Author: Janis Hutz
|
||||
|
||||
## Linear Algebra
|
||||
Still using my old Cheat-Sheet style
|
||||
- [Linear Algebra Cheat-Sheet (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester1/linear-algebra/linAlg-janishutz.pdf) Author: Janis Hutz
|
||||
|
||||
## Introduction to Programming
|
||||
A short overview of the most important concepts and pitfalls
|
||||
- [Introduction to Programming Short summary (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester1/eprog/eprog-janishutz.pdf) Author: Janis Hutz
|
||||
|
||||
## Discrete Maths
|
||||
Since my Cheat-Sheet isn't particularly great for this course, I have not published it on ComSol, but I am making it available here,
|
||||
both the GoodNotes file and PDF
|
||||
- [Cheat-Sheet PDF](https://static.janishutz.com/ETH/DM-Cheatsheet-janishutz.pdf) Author: Janis Hutz
|
||||
- [Cheat-Sheet Goodnotes file](https://static.janishutz.com/ETH/DM-Cheatsheet-janishutz.goodnotes) Author: Janis Hutz
|
||||
|
||||
@@ -1 +1,21 @@
|
||||
# Semester 2
|
||||
## Analysis I
|
||||
My own cheat sheet is not all that great in terms of layout, as it was still written with my (woefully inept for compact Cheat Sheets) old helper files.
|
||||
It however has both a German and English version.
|
||||
<small>*(It happened to be in both language because I did not realize that the exam would be in German and it would probably be smart to have it in German, too)*</small>
|
||||
- [Cheat-Sheet (EN & DE)](https://github.com/janishutz/eth-summaries/blob/main/semester2/analysis-i/cheat-sheet-jh/README.md) Author: Janis Hutz
|
||||
- [Cheat-Sheet (DE)](https://github.com/janishutz/eth-summaries/blob/main/semester2/analysis-i/cheat-sheet-rb/main.pdf) Author: Robin Bacher
|
||||
|
||||
|
||||
## Algorithms and Probability
|
||||
A summary of the complete course, mostly suitable as a script replacement, albeit the script is quite good
|
||||
- [Summary (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester2/algorithms-and-probability/aw-summary.pdf) Author: Janis Hutz
|
||||
|
||||
## Parallel Programming
|
||||
Similar in concept to the EProg compact summary, giving you a *very* brief overview of the central concepts
|
||||
- [Compact Summary (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester2/parallel-programming-compact/pprog-compact-summary.pdf) Author: Janis Hutz
|
||||
|
||||
## DDCA
|
||||
Since for DDCA, the Cheat-Sheet needs to be handwritten, it is not in the git repo, as my other Cheat-Sheets are
|
||||
- [Cheat-Sheet PDF](https://exams.vis.ethz.ch/user/jahutz/document/ddca-cheat-sheet-fs25_0) Author: Janis Hutz
|
||||
- [Cheat-Sheet Goodnotes file](https://static.janishutz.com/ETH/DDCA-CheatSheet-janishutz.goodnotes) Author: Janis Hutz
|
||||
|
||||
@@ -1 +1,19 @@
|
||||
# Semester 3
|
||||
## Theoretical Computer Science
|
||||
The main summary is pretty much a short script for the course, whereas my compact summary is focused teaching you the proof techniques, etc.
|
||||
- [Summary (DE)](https://github.com/janishutz/eth-summaries/blob/main/semester3/ti/main/ti-summary.pdf) Author: Janis Hutz
|
||||
- [Compact Summary (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester3/ti/compact/ti-compact.pdf) Author: Janis Hutz
|
||||
- [Cheatsheet (DE)](https://github.com/janishutz/eth-summaries/blob/main/semester3/ti/cheatsheet/ti-cheatsheet.pdf) Author: Robin Bacher
|
||||
|
||||
## Analysis II
|
||||
My own cheat sheet is not all that great in terms of layout, as it was still written with my (woefully inept for compact Cheat Sheets) old helper files
|
||||
- [Cheat-Sheet (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester3/analysis-ii/cheat-sheet-jh/analysis-ii-cheat-sheet.pdf) Author: Janis Hutz
|
||||
- [Cheat-Sheet (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester3/analysis-ii/cheat-sheet-rb/main.pdf) Author: Robin Bacher
|
||||
|
||||
## Numerical Methods for Computer Science
|
||||
The NumCS summary isn't even really a summary anymore, it is pretty much a full replacement for the script due to the poor quality of the script in many cases.
|
||||
- [Summary (DE)](https://github.com/janishutz/eth-summaries/blob/main/semester3/numcs/numcs-summary.pdf) Authors: Robin Bacher, Janis Hutz
|
||||
|
||||
## Systems Programming and Computer Architecture
|
||||
This summary also contains a very broad overview of the content of the course, covering almost every aspect.
|
||||
- [Summary (EN)](https://github.com/janishutz/eth-summaries/blob/main/semester3/spca/spca-summary.pdf) Authors: Robin Bacher, Janis Hutz
|
||||
|
||||
@@ -1 +1,14 @@
|
||||
# Semester 4
|
||||
## Probability & Statistics
|
||||
My first Cheat-Sheet with my new helpers and a much more suitable style.
|
||||
- [Cheat-Sheet (DE)](./semester4/ps/ps-jh/probability-and-statistics-cheatsheet.pdf) Author: Janis Hutz
|
||||
- [Cheat-Sheet (DE)](./semester4/ps/ps-rb/main.pdf) Author: Robin Bacher
|
||||
|
||||
## Formal Methods and Functional Programming
|
||||
Summarizing everything of the course, apart from Haskell.
|
||||
It also features a tips and tricks section at the end
|
||||
- [Summary (EN)](./semester4/fmfp/formal-methods-functional-programming-summary.pdf) Author: Janis Hutz
|
||||
|
||||
## Data Modelling and Databases
|
||||
A complete script for the course
|
||||
- [Summary / Script (EN)](./semester4/dmdb/data-modelling-databases-summary.pdf) Author: Janis Hutz
|
||||
|
||||
Reference in New Issue
Block a user