6.111 Tutorial Problems

These tutorial problems can be used to test your understanding of the lecture material and prepare for the labs. Some of these problems are similar to those appearing on the quizzes.

Answers to each of the questions can be viewed by clicking the icon that appears after each question.

Note: There's a big difference between understanding someone else's answer to a question and being able to generate that answer yourself. It's very tempting to just read the question and then immediately view the answer but that is not the best way to use these questions. You are strongly encouraged to try the questions yourself -- e.g., by printing out the page of questions and working them like a problem set -- and then use the answers to check your work.

The hide-answer/show-answer controls require that you have Javascript enabled on your browser. If your browser doesn't support Javascript or you don't wish to enable it, you can use the provided links to access the problems either with or without answers.

L01: Digital Abstraction [w/ answers] [w/o answers]
L02: Logic Gates [w/ answers] [w/o answers]
L03: Logic Synthesis [w/ answers] [w/o answers]
L04: Verilog for Combinational Logic [w/ answers] [w/o answers]
L05: Sequential Logic [w/ answers] [w/o answers]
L06, L07: Finite State Machines [w/ answers] [w/o answers]
L08: Memories [w/ answers] [w/o answers]
L09, L10: Arithmetic Circuits [w/ answers] [w/o answers]