- Jan 31, 2009
Are you interested in a Computer Science course in which you will build your own computer (in a simulator), your own assembly language, compiler, operating system, and an application on top of all this? If you are already excited then this is just the course for you !
In a typical Computer Science program, we learn many key topics such as algorithms, computer architecture, operating systems, compilers, software engineering, etc. However, almost always, we learn all of these topics in isolation. This leaves a student with a lot of throretical knowledge, but often in the dark about how all these peices play together.
The Elements of Computing Systems - is a course which takes a student across the entire computing stack in a hands on manner. In this course, students start with the primitive NAND gate, and using a hardware simulator and HDL, they build basic gates, using which they build an ALU (Arithmatic Logic Unit), going on to building an actual computer (in simulation). Then they create an assembly language for this computer, followed by a high level language, an operating system, and finally a game using the language they created, on the machine they created.
Course Website: http://diycomputerscience.com/courses/course/the-elements-of-computing-systems
I saw this a while back while browsing Hacker News and I thought I would share.