Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This computer science course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital and computer systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!
This is Part 1 of a 3-part series on digital systems, teaching the fundamentals of digital circuit design and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include digital encoding of information, principles of digital signaling; combinational and sequential logic, implementation in CMOS, useful canonical forms, synthesis; latency, throughput and pipelining.
Using your browser for design entry and simulation, you’ll get to design and debug circuits at both the transistor- and gate-level, culminating in the creation of a 32-bit arithmetic and logic unit.
How to efficiently and reliably encode information using bits
The basics of digital signaling, combinational logic, CMOS technologies
The principles of sequential logic and finite state machines
Performance measures and design tradeoffs
A working knowledge of electrical fundamentals (voltages, currents, simple components) or CornellX ENGRI1210x: The Computing Technology Inside Your Smartphone
Who can take this course?
Unfortunately, learners from Iran and Sudan will not be able to register for this course. While edX has received a licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer courses to learners from these countries, our licenses do not cover this course. EdX truly regrets that US sanctions prevent us from offering all of our courses to everyone, no matter where they live.