Course material: https://safari.ethz.ch/farm/architecture_fs17/doku.php?id=st...
"From NAND to Tetris. Building a Modern Computer From First Principles"
I'm a technical architect by trade and profession, this is how I earn my living. Students have apprenticed under me over the years. This is not how I would approach teaching computer architecture. He's teaching basic principles. In my view, architecting systems and software is an advanced topic, in the 600-700 difficulty range. The material he's teaching is in the 100 range. It's very theoretical, and I firmly believe that teaching architecture needs to be a very practical, hands-on experience, and that the prerequisite is about 20 years of professional system engineering experience first: technical implementation experience, systems experience, integration and testing experience in the area of small and large scale systems. System, network, and database development and administration. Digital logic circuit design. Requirements gathering, documentation. Those would be the prerequisites for teaching someone to become an architect in the context of computer science.
What he's teaching is introduction to computing. The course is a misnomer. Computer architecture is about designing systems, not operation of the system.
I am curious does anyone more about him and his background?
He was recently a visiting researcher in my sister team at Google. Even though I didn't take his class, he was very approachable and was glad to meet another CMU person. It was a big loss to CMU when he left IMO.
*I think he was at CMU back then though.
Are these slides recorded from the wall or why do they have that "special" look? Feels like some lecture notes from the early 2000.
Second question, is this graduate level or undergraduate?
P.S. Thank you so much for providing this.
The course can be taken as part of a master's degree[1].
[1] http://www.vvz.ethz.ch/Vorlesungsverzeichnis/lerneinheit.vie...