About ES 4

A few highlights of the Spring 2021 offering of the course:

  • The lecture is scheduled for T/Th 1:30-2:45pm, but we will not have regular meetings at that time. Instead, the "content" will be delivered asynchronously via a combination of readings and short videos. Unfortunately the large class size makes an in-person meeting impractical, and I think we've all had enough Zoom lectures at this point.

  • To maintain in-person interaction, you'll sign up for a small "recitation" section which meets once a week to discus the course material and work through problems in small groups. I expect that the time taken to watch the videos and attend the recitation will be about the same as attending two 75-minute lectures a week.

  • We'll have some really cool remote-friendly options for the final project, as well as the retro arcade game design options from the Spring 2019 version of the course.

  • The textbook is Digital Design and Computer Architecture, ARM Edition by Sarah L. Harris and David Money Harris (ISBN 978-0128000564). It is available online through the library with no limit on the number of concurrent users. The printed version is available for about $75.

If you have questions about the course that aren't answered on this page, please get in touch with Prof. Steven Bell (sbell AT ece.tufts.edu).

What is ES 4 about?

Any sufficiently advanced technology is indistinguishible from magic. – Arthur C. Clarke

There are few technologies for which Clarke's statement is more true than microprocessors. Today you can find a microprocessor in almost anything electronic, and yet even those of us who can program them often have very little understanding of their inner workings. In ES 4, we will study microprocessors — and digital electronics more generally — from the ground up. From your past courses, you know how computers work at the physical level (voltages and currents) and at the application level (C++ and other languages); the objective of this course is to connect the dots between the two.

To do this, we begin with the basics of manipulating zeros and ones with circuitry, and start building combinational circuits, which produce outputs based on some mathematical combination of their inputs. Then we make a major turn and explore sequential circuits, which can store information or step through a sequence of states. With these building blocks in hand, we will take a brief look at the ARM instruction set (which powers your cell phone and a few billion other devices), and learn how to build circuits which can actually interpret and execute software instructions.

When we're done, you'll have the skills necessary to design a complex digital system and implement it on real hardware. In short, you'll be able to work magic.


  • I'm waitlisted for the course. What are my chances of getting in? We will make room for everyone who wants to take the course. There is still space in the "lecture" part of the course, so you can sign up for the course right now as long as you pick one of the open recitations. We may also add a new recitation or convert one of the virtual recitations to in-person to satisfy demand.

  • I thought there were labs in this course. Why don't I see them on SIS? Lab sections will not be scheduled through SIS; they will be scheduled during the first week of class once we know TA availability, lab capacity, etc.

  • At one point, the labs were all listed as "virtual". Are we going to be working with physical hardware? Yes, we'll be using real hardware (specifically an UPduino 3.0 FPGA). Most of the lab sections will be in person.

  • Can I complete the labs remotely? Yes. We'll mail you a lab kit containing everything you need for the labs. You will need a computer with a regular USB port or USB adapter.

  • ES 4 has a time conflict with COMP 40. Can I still take both courses? Yes. The ES 4 "lectures" will be asynchronous, so there's no problem taking another course which meets during the same time slot.

  • If I don't take ES 4 in Spring 2021, when will it be offered again? The current plan is to offer ES 4 in fall semesters instead of spring starting in Fall 2021. So you can expect ES 4 to be offered in Fall 2021, Fall 2022, and so on.