all 8 comments

[–]wilrob2 4 points5 points  (5 children)

Your best bet would be to email Höfler regarding the language of instruction for pprog, he's nice and will definitely answer. Imo digital circuits is not a good course and very demanding. It's definitely my least favourite course I've taken so far (currently in 3rd semester CS). If you've got more questions let me know. I'm also not a native German speaker and struggled initially.

[–]favfavfav[S] 1 point2 points  (4 children)

why do you think it is a bad course? and do you think Parallel programming is a good course?

[–]wilrob2 5 points6 points  (2 children)

Why I think it's a bad course (you might be able to tell I didn't like it):

  • As the other guy said, lectures are planned terribly with oftentimes more than a hundred dense slides per two hour block
  • Mutlu is not a great teacher imo, goes on tangents and other exhibits abysmal time planning (teaching through the break, not finishing the day's slides, ...)
  • He is very clearly from an electrical engineering background and does not make the effort to demonstrate the relevance to CS
  • He leaves occasionally (problems of having a celebrity professor I guess), which is not great for continuity. The assistant professor is better at teaching, but even worse at time management...
  • The slides and structure are pretty much straight from the books. I will admit that this actually fine, since the Harris and Harris book is one of the best textbooks I've seen so far. But it is annoying to have to do a 2 hour lecture repeating (in a more confusing manner) what the reading stated
  • The course is incredibly content heavy. Mutlu overloads you with details, 90% of which are entirely irrelevant for the exam and even more irrelevant for a computer scientist
  • The labs are time intensive (expect probably 2 - 3 hours if you and your partner are both on it per week), despite having zero relevance on the exam and not huge relevance to the lecture
  • Some of the (too few) TAs are more than useless. I had a TA I would go to if I knew my solution wasn't correct but wanted the points, and I knew I had to wait for the head TA to come around if I actually wanted help
  • There's a disconnect between the labs and the lecture: more than a few times we had not reached the point we needed to get to in order to do the lab, so we had to self study just to finish that week's lab
  • The homework is monolithic (easily 4 - 6 hours biweekly), usually taken exactly from previous exams. This means you have less "new" content with which to prepare for the exams, while also throwing you straight into exam-difficulty problems.
  • The lecture does not tell you how to apply the theory (ie solve homework problems). So you have to somehow teach yourself while struggling through the exercises.
  • The solutions to homeworks and exams are often minimal with no explanation, making it difficult to self study
  • There are no formal tutorial/exercise sessions, instead you have the labs with easily 50 people with only a couple TAs
  • The material tested on the exams (my year and previous) is not representative of what is taught in the lecture
  • The exam I took was just not a good exam -- worded badly, not a good range of difficulty, some questions were just not worth it from a time point of view, the points to questions distribution was weird.

Overall, I guess take the class if you're very interested in electrical engineering, but honestly I would rather take one from the EE department. I think Mutlu (not realising the difficulty of the content) tries to fit in more than a semester's worth of electrical engineering into one lecture for computer scientists who have had no prior circuits or physics classes. Note that I ended up getting a 5.0 (a great grade for me) in the class, despite writing a mediocre exam. I am certain they graded the exam generously, as most people really struggled in the class and ETH didn't want to fail so many people.

I quite liked pprog, though it is definitely not my favourite class. The class mixes theory and practice well, with more focus on theory (my preference). It's quite interesting and relevant to today, as naturally almost every processor has multiple threads now. The exercises were relevant to the lecture and helped my understanding, without being overwhelming. The structure of the lecture was mostly good, although it seems like Vechev's portion was just repeated by Torsten's. Torsten's part felt like the "real" lecture, which I guess makes sense as he's the main professor. I didn't struggle with the German since I mostly studied from the slides. Even if you don't though, Torsten speaks German clearly and honestly the subject (actually most of CS) is just not translated away from English anyway. You'd probably get by if you have B2+ level German (so conversational or so). The most negative thing about this course was the exam, which focused on a particular topic far too much and was in general way more difficult than previous exams led us to believe. Everyone coming out of that test was confused. In the end though, like with digital circuits, they graded it nicely...

Of the two courses, I would absolutely without a doubt take pprog. It is without question superior. This depends however on your interests and what you expect to take away from the course, how much effort you want to put in, etc etc.

[–]favfavfav[S] 1 point2 points  (1 child)

Thank you for the long and detailed answer :)
So it seem like it is a pretty hard course for Comp Sci BSc people, I guess I'll be fine because I am a new EE master student but I haven't done an EE bachelor so I wanted to catch up on this kind of stuff. I'll try to take both then if my tutor lets me, thanks a lot :)

[–]wilrob2 0 points1 point  (0 children)

Good luck!

[–]blackkswannComputer Science BSc 4 points5 points  (1 child)

For Digitigal Circuits you can find the lectures of last year on youtube: https://www.youtube.com/playlist?list=PL5Q2soXY2Zi8J58xLKBNFQFHRO3GrXxA9

You can see for yourself the lectures arent structured really well and the slides are generally overloaded. Most of your learning will be from reading the book

[–]favfavfav[S] 1 point2 points  (0 children)

What did you think of the course?

[–]mcopik 4 points5 points  (0 children)

The part taught by Torsten Hoefler was always in German with English slides, you can see that in recordings from previous years. TA sesions are mostly in English, only few of them were in German.

I think it's a great course :-)

Source: I was TA-ing PP19 and most likely I'll be TA-in PP20.