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.
In the process, students explore many ideas and techniques used in the design of modern hardware and software systems, and discuss major trade-offs and future trends.?
This course is a one of a kind course which unifies the most important concepts a student learns in Computer Science, in a fun and hands on way. The hands on approach is important because many of the topics covered in this course are dealt only at a theoretical level in most university courses.
This course was originally created by Professor Shimon Schocken, and Professor Noam Nisan. The creators of this course have very kindly made the content available online and through their book, so we can all benefit from it. Here is a link to the original course page.
Here is a 10 minute video where Professor Shimon Schocken talks about why he created the course and what it contains. Please note: I have embedded this video to give participants a better idea of the course. It does not mean that Prof. Schocken is endorsing the course on diycomputerscience.com.
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build a 16 bit OR' ... May 9, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build a 16 bit AND' ... May 9, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build a 16 bit NOT' ... May 9, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build an XOR gate' ... May 8, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build an OR gate' ... May 8, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build an AND gate' ... May 6, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'TECS - Build a NOT gate' ... May 5, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'Download and install the TECS Hardware Simulator' ... May 5, 2013
- http://twitter.com/iamfritch submitted an activity response for activity 'Download and install the TECS Hardware Simulator' ... May 5, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit Incrementer' ... Feb 5, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit Adder' ... Feb 5, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a Full Adder' ... Feb 5, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a Half Adder' ... Feb 5, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build an 8 Way DMUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 4 Way DMUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit / 8 Way MUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit / 4 Way MUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build an 8 Way OR' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit MUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit OR' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit AND' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a 16 bit NOT' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a DMUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a MUX' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build an XOR gate' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build an OR gate' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build an AND gate' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'TECS - Build a NOT gate' ... Feb 4, 2013
- http://twitter.com/AdamMBritt submitted an activity response for activity 'Download and install the TECS Hardware Simulator' ... Feb 4, 2013
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build an ALU' ... Dec 12, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit Incrementer' ... Dec 12, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit Adder' ... Dec 12, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a Full Adder' ... Dec 12, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a Half Adder' ... Dec 12, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build an 8 Way DMUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 4 Way DMUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit / 8 Way MUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit / 4 Way MUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build an 8 Way OR' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit MUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit OR' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit AND' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a 16 bit NOT' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a DMUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a MUX' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build an XOR gate' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build an OR gate' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build an AND gate' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'TECS - Build a NOT gate' ... Dec 5, 2012
- http://twitter.com/nimbledodo submitted an activity response for activity 'Download and install the TECS Hardware Simulator' ... Dec 5, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Write an IO bound program using our assembly language' ... Dec 2, 2012
- http://twitter.com/rvdkooy submitted an activity response for activity 'TECS - Build an ALU' ... Nov 28, 2012
- http://twitter.com/rvdkooy submitted an activity response for activity 'TECS - Build a 16 bit Incrementer' ... Nov 28, 2012
- http://twitter.com/rvdkooy submitted an activity response for activity 'TECS - Build a 16 bit Adder' ... Nov 28, 2012
- http://twitter.com/rvdkooy submitted an activity response for activity 'TECS - Build a Full Adder' ... Nov 28, 2012
- http://twitter.com/rvdkooy submitted an activity response for activity 'TECS - Build a Half Adder' ... Nov 28, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Write a assembly language program to multiply two numbers' ... Nov 23, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Get familiar with the assembler and CPU emulator' ... Nov 23, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16-bit Program Counter' ... Nov 23, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16-bit / 16384-register memory' ... Nov 23, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16-bit / 4096-register memory' ... Nov 23, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16-bit / 512-register memory' ... Nov 22, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16-bit / 64-register memory' ... Nov 22, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16-bit / 8-register memory' ... Nov 22, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit register' ... Nov 22, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 1 bit binary cell' ... Nov 22, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build an 8 Way DMUX' ... Nov 22, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 4 Way DMUX' ... Nov 22, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build an ALU' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit Incrementer' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit Adder' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a Full Adder' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a Half Adder' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build an 8 Way DMUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 4 Way DMUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit / 8 Way MUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit / 4 Way MUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build an 8 Way OR' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit MUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit OR' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit AND' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a 16 bit NOT' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a DMUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a MUX' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build an XOR gate' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build an OR gate' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build an AND gate' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'TECS - Build a NOT gate' ... Nov 21, 2012
- http://twitter.com/davidosmith submitted an activity response for activity 'Download and install the TECS Hardware Simulator' ... Nov 21, 2012
- http://twitter.com/sairajeshwari reviewed a response submitted for activity 'TECS - Build a 4 Way DMUX' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 16 bit / 8 Way MUX' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 16 bit / 4 Way MUX' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build an 8 Way OR' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 16 bit MUX' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 16 bit OR' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 16 bit AND' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a 16 bit NOT' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a DMUX' ... Nov 21, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build a MUX' ... Nov 20, 2012
- http://twitter.com/sairajeshwari submitted an activity response for activity 'TECS - Build an XOR gate' ... Nov 20, 2012
