We may earn an affiliate commission when you visit our partners.
Course image

Welcome to Crash Course Digital Electronics.

Read more

Welcome to Crash Course Digital Electronics.

CAUTION: If you don't like history, in particular, you are not interested in finding out how the technology has evolved from ancient programming methods to high-level programming languages, or how we scaled from Intel 4004 (first MPU in the world) with a transistor count of just 2300 to modern microprocessors like the M1 microprocessor with a transistor count of a whopping 16 billion, then this course is not for you.

This course was developed to teach not only how the fundamental parts of digital electronics work, but how on earth we have reached to build such amazing things? We are going back all the way to 1839 to the Jacquard machine which is considered as the first programmable mechanical computer that was programmed using punch cards, all the way to modern compilers, programming languages, microprocessors, microcontrollers, and operating systems.

All the tutorials are built using animation techniques to illustrate the concepts and for ease of understanding (I'm not the best animator by far, but I'm trying really hard . ).

Your knowledge will be tested. - After finishing a chapter, you will be given a quiz with a plethora of questions (including images and diagrams) you will need to answer. If you get them right, you can be confident that you have understood what I had to say in that chapter.

Overall what you will learn after finishing this course :

- the basics of digital electronics

- how positive/negative numbers, floating-point numbers, characters are encoded in binary

- how a CPU works by building one from SCRATCH.

- how a program is executed on a CPU

- how to build an external RAM, starting from a 1-bit memory cell and how to scale it up to a bigger one

- the difference between a CPU, a Microprocessor and a Microcontroller

- how a Microprocessor and a Microcontroller works

- the multitude of internal peripherals that can be found inside a modern Microprocessor and a Microcontroller

- how a compiler works, including linker and linker script file

- how to program a microcontroller

- how the different communication protocols work in a microcontroller

- how does an Operating System works and why do we need them

REMEMBER… I'm so confident that you'll love this course that we're offering a FULL money-back guarantee for 30 days. So it's a complete no-brainer, sign up today with ZERO risk and

Enroll now

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers foundational circuitry leading all the way up to the cutting edge of computing
Taught by an experienced educator and engineer with 10+ years in the industry
Covers the full range of digital electronics
Requires an interest in the history of computing

Save this course

Save Crash Course Digital Electronics to your list so you can find it easily later:
Save

Reviews summary

Crash course on digital electronics

Learners say this Crash Course on Digital Electronics is largely positive. Engaging assignments and clear explanations help learners develop a strong foundation in the fundamentals of digital electronics. The course is especially well received by beginners, providing a comprehensive introduction to the subject. However, some learners note that there are some outdated codes and unclear videos in the course.
Engaging assignments help learners apply their knowledge
"It’s very engaging so far"
"What I like the most is that the instructor goes directly into coding working apps."
Provides comprehensive coverage of digital electronics, making it suitable for beginners
"Very informative and great fit for me."
"Course was clearly presented as I am new to online learning."
"Easy to understand for beginners. Well-structured."
Some videos are unclear due to poor quality and lack of focus on the code
"The quality of the videos is outrageous. It stops in the middle of his sentence."
Some codes are outdated and may not work
"I would be nice to add a chapter about LangFlow, its an awesome tool."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Crash Course Digital Electronics with these activities:
Review Transistor Basics
Prepare by reviewing the basic concepts of transistors including their structure, types, and biasing.
Browse courses on Transistors
Show steps
  • Read relevant chapters on transistors from a textbook
  • Summarize the main points of each chapter in your own notes
  • Solve practice problems to test your understanding
Solve Practice Problems on Binary Arithmetic
Strengthen your understanding of binary arithmetic by practicing problems involving binary addition, subtraction, multiplication, and division.
Browse courses on Binary Arithmetic
Show steps
  • Find a collection of practice problems online or in a textbook
  • Solve the problems on your own
  • Check your answers against the provided solutions
Form a Study Group
Collaborate with other students to form a study group where you can discuss course concepts, work on assignments, and support each other's learning.
Show steps
  • Invite other students to join your study group
  • Set regular meeting times and locations
  • Prepare questions and topics to discuss at each meeting
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read Digital Design and Computer Architecture by Harris and Harris
Supplement your learning by reading this comprehensive book that covers all aspects of digital design and computer architecture.
Show steps
  • Read one chapter per week
  • Take notes on the main concepts and ideas
  • Complete the exercises at the end of each chapter
Follow Tutorials on Building a Simple CPU
Gain a deeper understanding of CPU architecture by following tutorials that guide you through the process of building a simple CPU.
Browse courses on Computer Organization
Show steps
  • Find tutorials that provide step-by-step instructions
  • Gather the necessary components and materials
  • Follow the tutorial instructions carefully
  • Test and debug your CPU
Attend a Workshop on Microcontrollers
Enhance your practical skills by attending a workshop that provides hands-on experience with microcontrollers.
Browse courses on Microcontrollers
Show steps
  • Find a workshop that aligns with your learning objectives
  • Register for the workshop
  • Attend the workshop and participate actively
Contribute to an Open-Source Hardware Project
Expand your knowledge and practical skills by contributing to an open-source hardware project that aligns with your interests.
Show steps
  • Find an open-source hardware project that interests you
  • Identify areas where you can contribute
  • Contact the project maintainers and propose your contributions

Career center

Learners who complete Crash Course Digital Electronics will develop knowledge and skills that may be useful to these careers:
Computer Hardware Engineer
As a Computer Hardware Engineer, you will be designing, developing, and testing computer hardware. This computer hardware can be components or complete systems for different applications. This may include integrated circuits (ICs), circuit boards, microprocessors, and other digital systems. The knowledge you will gain in this course will help build a foundation for understanding the inner workings of computing devices and systems. You will learn how CPUs and microprocessors work, as well as how to program microcontrollers. This course will give you a competitive edge in this field.
Computer Architect
In the role of a Computer Architect, you are responsible for designing and developing the architecture of computer systems. This involves understanding the hardware and software components of a computer system and how they interact. The knowledge you gain in this course will help enhance your capabilities in computer architecture. You will learn about the basics of digital electronics and microprocessors. Through building a CPU from scratch as part of this course, you will gain practical experience in computer architecture.
Embedded Systems Engineer
As an Embedded Systems Engineer, your focus is on designing, developing, and testing embedded systems. These systems are typically found in various devices, including consumer electronics, medical devices, industrial automation systems, and automotive systems. The knowledge you gain in this course will enhance your understanding of embedded systems. You will gain knowledge about microprocessors, microcontrollers, and how to program them. You will also learn essential skills for working with embedded operating systems and real-time systems.
Software Engineer
In the role of a Software Engineer, you will be applying engineering principles to the design, development, and maintenance of software systems. The knowledge you gain in this course may be helpful, especially if you are interested in developing software for embedded systems. You will learn about the basics of digital electronics, microprocessors, and microcontrollers. This course provides an understanding of the hardware that software runs on, which can be beneficial for software engineers.
Computer Scientist
As a Computer Scientist, you will be involved in the theory and practice of computation. This includes studying algorithms, data structures, and programming languages. The knowledge you gain in this course may be helpful for computer scientists interested in developing software for embedded systems or working in other areas that involve hardware-software interaction. This course provides foundational knowledge in digital electronics and microprocessors.
Hardware Development Engineer
In the role of a Hardware Development Engineer, you will be designing, developing, and testing hardware systems. This can include developing prototypes, working with printed circuit boards (PCBs), and integrating hardware components. The knowledge you gain in this course may be helpful, especially if you are interested in developing hardware for embedded systems. This course provides an understanding of digital electronics, microprocessors, and microcontrollers. This can be beneficial for hardware development engineers working with embedded systems or other hardware systems that require an understanding of digital electronics.
Electronics Engineer
As an Electronics Engineer, you will be involved in the design, development, and testing of electronic systems. This can include consumer electronics, medical devices, and industrial automation systems. The knowledge you gain in this course may be helpful, especially if you are interested in designing electronic systems that interact with digital systems. This course provides a foundation in digital electronics, microprocessors, and microcontrollers. This can be beneficial for electronics engineers working with embedded systems or other electronic systems that require an understanding of digital electronics.
Electrical Engineer
As an Electrical Engineer, you will be involved in the design, development, and testing of electrical systems. This can include power systems, control systems, and telecommunication systems. The knowledge you gain in this course may be helpful, especially if you are interested in designing electrical systems that interact with digital systems. This course provides a foundation in digital electronics, microprocessors, and microcontrollers. This can be beneficial for electrical engineers working with embedded systems or other electrical systems that require an understanding of digital electronics.
Mechatronics Engineer
As a Mechatronics Engineer, you will be involved in the design, development, and testing of mechatronic systems. These systems combine mechanical, electrical, and computer engineering principles. The knowledge you gain in this course may be helpful, especially if you are interested in designing mechatronic systems that interact with digital systems. This course provides a foundation in digital electronics, microprocessors, and microcontrollers. This knowledge will be helpful for mechatronics engineers working with embedded systems or other mechatronic systems that require an understanding of digital electronics.
Robotics Engineer
As a Robotics Engineer, you will be involved in the design, development, and testing of robots. This can include both hardware and software development. The knowledge you gain in this course may be helpful, especially if you are interested in designing robots that interact with digital systems. This course provides a foundation in digital electronics, microprocessors, and microcontrollers. This knowledge will be helpful for robotics engineers working with embedded systems or other robotic systems that require an understanding of digital electronics.
Control Systems Engineer
As a Control Systems Engineer, you will be involved in the design, development, and testing of control systems. These systems are used to control various processes, such as industrial automation, robotics, and autonomous vehicles. The knowledge you gain in this course may be helpful, especially if you are interested in designing control systems that interact with digital systems. This course provides a foundation in digital electronics, microprocessors, and microcontrollers. This knowledge will be helpful for control systems engineers working with embedded systems or other control systems that require an understanding of digital electronics.
Computer Network Engineer
As a Computer Network Engineer, you will be involved in the design, development, and testing of computer networks. This includes both hardware and software development. The knowledge you gain in this course may be helpful, especially if you are interested in designing computer networks that interact with embedded systems. This course provides a foundation in digital electronics, microprocessors, and microcontrollers. This knowledge will be helpful for computer network engineers working with embedded systems or other computer networks that require an understanding of digital electronics.
Firmware Engineer
As a Firmware Engineer, you will be involved in the design, development, and testing of firmware for embedded systems. This includes writing code that runs on microprocessors and microcontrollers. The knowledge you gain in this course will be helpful, as it provides a foundation in digital electronics, microprocessors, and microcontrollers. You will also learn how to program microcontrollers, which is essential for firmware engineers.
Quality Assurance Engineer
As a Quality Assurance Engineer, you will be involved in the testing and validation of software and hardware systems. This can include testing embedded systems. The knowledge you gain in this course may be helpful, as it provides a foundation in digital electronics, microprocessors, and microcontrollers. This knowledge will be helpful for quality assurance engineers working with embedded systems or other systems that require an understanding of digital electronics.
Technical Writer
In the role of a Technical Writer, you will be responsible for creating and maintaining technical documentation. This can include documentation for embedded systems. The knowledge you gain in this course may be helpful, as it provides a foundation in digital electronics, microprocessors, and microcontrollers. This knowledge will help you to better understand the technical concepts that you are writing about, and to create more accurate and informative documentation.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Crash Course Digital Electronics.
This quantitative approach to computer architecture covers the performance, cost, and power trade-offs involved in computer design.
This classic textbook provides a comprehensive introduction to algorithms, covering the fundamental techniques and algorithms used in computer science.
This widely used textbook provides a comprehensive overview of operating system concepts and design.
This widely adopted textbook provides a comprehensive introduction to modern operating systems, covering the latest advances in OS design and implementation.
This widely adopted textbook provides a comprehensive overview of computer networks, covering all major protocols and technologies.
Provides a practical approach to computer systems performance analysis, covering techniques for evaluating and improving system performance.
Presents a comprehensive introduction to digital logic and Verilog design, essential knowledge for understanding and designing digital electronic systems.
Provides a comprehensive introduction to data structures and algorithms in C++, covering basic data structures, advanced data structures, and algorithms for searching, sorting, and graph traversal.
This advanced textbook covers the latest advances in processor design, including superscalar, VLIW, and multithreaded architectures.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Crash Course Digital Electronics.
Introduction to Microprocessors
Most relevant
Crash Course Arduino and Microcontroller Development
Most relevant
Circuit Design, Simulation and PCB Fabrication Bundle
Most relevant
Introduction to Microprocessors
Introduction to Microprocessors
Microcontroller Applications with RISC-V
Switching Theory & Logic Design of Digital Circuits
Building a RISC-V CPU Core
ARM Cortex (STM32) Deep Dive: Mastering Embedded Systems
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser