TECS - The most amazing CS course I have seen!
TECS - The most amazing CS course I have seen!
Watch Prof.Shimon Shocken’s TED talk on TECS
I was looking around for an interesting set of projects for my second full-time batch when I stumbled upon this Google tech-talk on an introductory CS course called The Elements of Computing Systems.
In a single semester, students doing this course will build, starting from a primitive NAND gate, a set of more complex logic circuits (multi-way multi-bit mux/demux, registers, counters, a simple ALU, RAM) culminating in a simple 16 bit processor. A hardware simulator and a simple Hardware Description Language is used to build the processor. The course doesn’t end here - the students will next build an assembler which translates the assembly code of the processor into machine code, a Virtual Machine, a compiler for an object based language, and a simple Operating System! A single hands-on course like this will give students the kind of real understanding which semester upon semester of “theory cram” will never achieve!
The designers of the course have written an amazing textbook (available in India from Flipkart). In about 300 pages, they give just enough information for the student to build each component of the system - the actual implementation is upto the students, the authors simply give hints and directions (in that sense, it might be better to call this a lab manual, rather than a text book). If you are a motivated student/teacher/hobbyist (whatever), get the book, download the software and start doing the projects. You will have a lot of fun, and learn a lot in the process!