Welcome to Digital Circuits!
Hello fellow traveler, and welcome to Digital Circuits! 👋 This course introduces you to the basics of logic circuits, number systems, and digital system design. You’ll learn about flip-flops, registers, combinational circuits, and more, while gaining hands-on experience with Verilog and FPGAs.
All of the information you’ll need is found in the Official Syllabus on Canvas. In the interest of privacy, I have not shared the complete syllabus here, but I have provided these pages of Resources for your reference.
What to expect from this course
Digital circuits are the backbone of modern technology, powering everything from vending machines to spacecraft. This course will introduce you to the fascinating world of digital design and equip you with the skills to create and analyze digital systems. This course is beginner-friendly.

Course Objectives
This course is an introduction to digital system design. Before its conclusion, you can expect to:
- Understand the fundamentals of digital logic, including number systems and Boolean algebra.
- Design, analyze, and optimize combinational and sequential circuits.
- Gain a thorough understanding of finite state machines (FSMs) and their role in digital systems.
- Design moderately complex circuits at the register-transfer level (RTL).
- Use the hardware description language Verilog to model digital circuits.
- Leverage computer-aided design (CAD) tools for digital circuit design and analysis.
- Develop hands-on experience with FPGA implementations of digital designs.
- Build a strong foundation for advanced topics in digital system design and computer architecture.
IDEA Objectives
At the end of this course, you will be asked to provide an evaluation of your experience. I am focused on three key components of this evaluation, which I believe reflect the goals of this course. You are expected to:
- Learn fundamental principles, generalizations, or theories;
- Gain factual knowledge; and
- learn to apply course materials.
Workload
Students often ask: Is this course challenging?
My response: If you’re not feeling challenged, you’re not challenging yourself enough.
This course is designed to be engaging and rewarding. Mastery of anything requires considerable time and effort, and this is an opportunity to invest in yourself. We’ll explore theoretical concepts, tackle problem-solving strategies, and dive into real-world examples.
You can expect to dedicate time and effort to this course in the following ways:
- Lectures. Students are expected to attend every lecture (barring extenuating circumstances).
- Reading. Because this course is a fire hose of information, supplemental reading is key to success.
- Low-Stakes Practice. This includes homework assignments, quizzes, and in-class activities designed to reward effort and reinforce important concepts without penalizing for mistakes.
- Medium-Stakes Projects. Lab assignments give students a chance to bring theoretical concepts into the real world. Important information is presented during scheduled lab sessions, but students are welcome to complete labs on their own schedules.
- High-Stakes Assessments. There are no traditional exams for this course because they are bad.1 Students are expected to demonstrate competency via a flexible alternative. Students are expected to complete one midterm assessment and one final assessment. These assessments are proposed by students and approved by the instructor. Possibilities include a complex lab project, a take-home written or in-person oral exam, a research project, or an assessment requiring similar effort and in-depth understanding. See Assessment Ideas for inspiration.
This said, I despise busywork. You will not be expected to invest time and effort into something unless I believe that it will contribute to your understanding and mastery of the subject. This course is designed to challenge you, encourage critical thinking, and provide meaningful learning experiences.
What I expect from you
To succeed in this course, students are expected to:
- Arrive prepared and actively participate in lectures and labs.
- Meet deadlines (barring extenuating circumstances).
- Collaborate with peers while upholding academic integrity.
- Communicate openly about challenges or obstacles.
- Maintain a positive attitude and persevere through difficulties.
- Respect the learning environment and contributions of others.
- Embrace feedback as an opportunity for growth and improvement.
What you can expect from me
As your instructor, my goal is to create an environment where you can thrive and achieve your learning objectives. I am committed to supporting your journey through this course by providing clear guidance, timely feedback, and a structured learning experience. Specifically, you can expect that I will:
- Deliver well-prepared lectures that clarify key concepts.
- Foster a kind and respectful learning environment.
- Encourage questions and discussions to deepen understanding.
- Provide timely, constructive feedback on assignments and assessments.
- Be available during office hours and respond to emails within one workday.
- Continuously improve the course based on your feedback and learning needs.
- Accommodate students’ unique needs and challenges when appropriate.
- Support your academic and professional growth throughout the course.
If you find that I am not meeting these expectations, please tell me your concerns. Open communication is key to ensuring a positive learning experience for everyone. You can share your concerns with me directly during office hours, via email, or through an anonymous feedback form if you prefer. I value your input and will make every effort to address your concerns promptly and effectively. Your success in this course is my priority, and I am committed to working with you to create an environment where you can thrive.
Meet your instructor
Ahoy, I’m Landon Taylor (he/him). You can call me Landon. I am passionate about pedagogy and obsessed with fostering an effective learning environment. I enjoy digital circuit design because it combines creativity with precision. It challenges you to think critically and design systems that are not only innovative but also correct.
I am a PhD student advised by Dr. Zhen Zhang. My research focuses on ensuring the correctness of systems that exhibit randomness, especially synthetic biological systems. When I’m not teaching and researching, my interests include literature, philosophy, editing Wikipedia, learning new things, cooking, eating, and spending time with my partner and our cats named Dumpling and Nutmeg.
Feel free to reach out if you have any questions or need assistance. I’m here to support you!
- Lectures & Labs: I am happy to take questions and concerns during lectures and labs.
- Office Hours: Check Canvas for my schedule and location, or email me to set up a meeting.
- Email: You can email me at
landon.jeffrey.taylor@usu.edu. I’ll respond within one workday. - Discord: I have set up a Discord server for this course. The link is on Canvas.
How to Navigate This Course
This course is divided into modules, each focusing on a specific topic. I recommend starting with M0 and progressing sequentially. Each module contains lecture notes, labs, homework, quizzes, and readings.
If you are curious, feel free to check out the full Table of Contents for this course.
Action Items
Before we start this course, complete everything here to make sure we have great success.
-
Read the syllabus.
On Canvas, read the Official Syllabus, linked from the landing page. I will not cover most of the syllabus in class; students are assumed to be educated adults who can read it themselves. -
Obtain the textbook.
I will refer heavily to the textbook for this course. You probably have digital access to it. The book is Fundamentals of Digital Logic with Verilog Design, 3rd Edition by Stephen Brown and Zvonko Vranesic. ISBN 9780073380544. -
Obtain the equipment.
You will need an FPGA board. It’s an investment, but you will use it extensively in this course, and you will likely use it in future courses. Buy a Digilent Basys 3 FPGA board, which is almost always cheapest via the ECE Store. A compatible USB cable is required. -
Set up a GitHub account.
We will use GitHub for labs. If you do not have one yet, sign up for GitHub. While you’re there, consider a GitHub Education account, which gives you some cool benefits for free. -
Say hello.
This course is a great chance to get to know the people who will probably be in your cohort until you finish your degrees. You can start by joining the Discord server (link on Canvas landing page).
Once you’re done with these tasks, you are ready to begin the course. Hooray!
A Final Thought
“The engineer has been, and is, a maker of history.”
— James Kip Finch, American engineer and educator
Remember that every challenge you face in this course can be an opportunity to learn. Stay curious and believe in your ability to succeed.
You’ve got this.
-
French, S., Dickerson, A. & Mulder, R.A. A review of the benefits and drawbacks of high-stakes final examinations in higher education. High Educ 88, 893–918 (2024). https://doi.org/10.1007/s10734-023-01148-z ↩︎