Skip to content
#2 in Introduction to Computer ScienceUdemyIt & SoftwarePaid courseBeginner levelCertificate

The Foundations of Computer Design (Udemy.com)

Learn how basic computers are designed - a fundamental topic in computer science

Created by: Brian Scotto

Last updated April 2017

Our take

Based on the ratings of 349 students, a sample of their written reviews and the syllabus, as the course stood in April 2017. No course pays to be reviewed.

This is a short, dense course on how a computer is built from the ground up. In about two hours and 39 lectures, Brian Scotto walks from binary and hexadecimal numbers through logic gates, a full adder, multiplexers, memory and registers, and ends with a small programmable MIPS style CPU. Roughly 4,800 students have enrolled and it holds a 4.3 rating from 349 reviews. It is labeled beginner, but the requirements page admits a total beginner will find it very challenging, and the reviews back that up. It suits people who already program and want to see what happens under the hood.

Reviewers praise the clear, logical order and say the early sections on numbers and gates are easy to follow. One reviewer with prior background calls it a concise refresher on a MIPS computer. The complaints cluster around the second half. Once the course reaches the full adder, latches and the ALU, students say it turns into telling rather than showing: the instructor describes complex circuit diagrams without pointing at which part he means, and there are no animations. Some found the pace fast, others found his delivery slow at 1x speed. There are also no notes, slides or downloadable resources at all.

It was last updated in April 2017 and has no quizzes or exercises, so you get lectures only. Unlike the Python and Java courses it is listed alongside, its subject is hardware rather than a programming language. For a programmer who wants a quick, structured tour of CPU design and is willing to rewatch a few lectures, it is a solid pick. Anyone starting from zero should expect to pause often and look things up.

Best forProgrammers with some background who want the logic gates to CPU story told in one short sitting.
Skip it ifYou are a total beginner who needs animated diagrams and downloadable notes to follow circuit explanations.

Pros

  • Clear, logical progression from binary numbers to a working programmable CPU in about two hours
  • Early sections on number systems and logic gates are praised as easy to follow
  • Sections cover adders, latches, memory and MIPS assembly on the way to a final CPU design
  • One reviewer with some background calls it a concise refresher he could finish in one sitting

Cons

  • Later circuit lectures describe diagrams without highlighting or animation, and many students get lost
  • No notes, slides, quizzes or downloadable resources, and no update since April 2017
  • Dense for true beginners despite the beginner label; expect to rewatch and look things up
Very concise explanation of a MIPS computer, and how it is built. Great if you basically know most of it, but want to go over it in one sitting.
Carl Eranio, a student

Labeled beginner, but the requirements page itself warns total beginners will struggle; best with some programming or logic background.

icon
What you will learn

  • Know what binary numbers are and how to do basic math with them
  • Know how a computer uses electricity to do computations
  • Design and program a basic, but working, CPU and memory circuit
  • Be able to define and understand basic assembly and machine code

Course content

7 sections · 39 lectures · 2 hours of video

  1. 1Introduction 1 free preview1 lecture · 4 min
  2. 2Computers and Numbers 1 free preview8 lectures · 23 min
  3. 3Building a Full Adder10 lectures · 20 min
  4. 4Other Circuits needed in Computer Design 1 free preview5 lectures · 21 min
  5. 5Memory5 lectures · 21 min
  6. 6Basic MIPS Programming3 lectures · 19 min
  7. 7Designing A Computer7 lectures · 13 min

Who it is for

The instructor says it suits

  • This course is for students who desire to know how a basic computer is designed and programmed
  • Computer professionals who were never exposed to assembly programming may also find this course useful.

What you need before you start

  • Students should have a desire to understand how computers really work
  • The only required knowledge is basic math and the ability to think logically however a total beginner will likely find this class very challenging

icon
Course Description

Learn how a computer works with this basic, but detailed course on the foundations of computer design. In this course you will learn how a computer really works and by the end you will be able to understand the design of a programmable central processing unit. This class is the foundation of a computer science curriculum.

Designing your first computer!

  • Learn binary and hexadecimal numbers
  • Understand logic gates
  • Recognize multiplexers decoders and the ALU
  • Learn how to design memory chips and CPU registers
  • Build a basic central processing unit

A building block to more advanced computer topics

This course starts from the ground up and completes with a fully functioning programmable computer. Advanced computer design topics such as power or speed optimizations are not covered but all the information needed to understand basic computer design is packed into this course. A total beginner will likely need to repeat a few of the lectures but it can be understood by anyone who takes the time to study each of the lectures. Anyone who desires to become a computer  science expert must know how processors really work and this course is the first step towards that goal.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Brian Scotto

I have been interested in computers and technology all of my life. I was lucky enough to have access to a computer at a young age and growing up I always wondered how it worked. I first taught myself how to program in 7th grade using books from the library and continued learning the art of programming throughout high school and into college. For my undergraduate degree I majored in computer science and followed that with a master's degree in software engineering. While in undergraduate school I began working full time as a developer and continued both school and work full time until I graduated college. I've had the opportunity to work for four different companies throughout my 10+ year professional career and have been able to work on everything from embedded micro-controllers to big data applications deployed on the cloud.


I am excited to share my knowledge in a way that was impossible when I was learning. My goal on Udemy is to reach individuals with a hunger for learning technology and give them the foundation they need to be successful. How computers really work remains a mystery to many, even some IT professionals and programmers, but knowing how things happen on the lowest level is very helpful when solving difficult problems.

icon
More courses by Brian Scotto

$29.99

icon
More IT & Software courses

$49.99

$64.99

$10.99

$19.99

$124.99

$124.99

icon
Reviews

4.3

349 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Edward Arthur Donovan on 9/4/2021

I am finding this course very difficult but rewarding. I have learn't some of the early components before but having trouble putting it all together. Despite this the explanations are very clear and I am getting somewhere. The great thing about Udemy is that you can stop the course for a break and go back a repeat sections or the entire course. Thank you to Udemy and this instructor.

By S B on 4/3/2019

At first the course started out great when covering binary numbers in computing. I already have some basic understanding of logic circuits so had no trouble understanding the purposes of the gates when those were introduced. Unfortunately by the time it's discussing the Full Adder and Latch circuits, it becomes more of "tell" rather than "show". We get convoluted descriptions of complex circuits that go on for minutes, but often without clearly indicating which parts of the slide images he is talking about. You don't even get a mouse hover over the areas being discussed which would've made it much easier to follow, IMO. I've seen free 20 minute YT videos explain the same topics in much better and clearer form, often even with visuals and animations. *Technically* this course is a couple of hours, but it feels much longer - probably due to unfortunately necessary backtracking and googling because of the confusing explanations. In a nutshell, the mathematics and calculations are fairly well-taught but the actual circuits are not which is too bad. It's still a decent starter course for aspiring computer scientists and engineers, but could have been explained a lot of things better.

By Robert France on 3/7/2019

This is a detailed explaination of how you go from basic binary and boolean algebra to designing a basic processor. As the instructor says during the course, it is easy to lose track of this progression and I found it necessary to review past sections several times to ensure my understanding. It is important not to be put off by the pacing and take advantage of the replay.

By Emil Hozan on 8/14/2018

This was a great video and provided what I had been seeking for some time - and more! The outline taken on describing each part of the process was very informational and well explained. However, it was a tad more than I was expecting (and most definitely not in a bad way) but something I will review again and again. I love to learn and constantly push myself to get a better grasp of how computers work in their fullest. I followed along quite well in regards to the gate states but it started getting a tad fuzzy until for a bit. Eventually I got back on course with the way content was described and asserted - job well done on being detailed yet concise. Reading the bios of both authors, I can sense the passion both put into this. Thank you to you both and I will be sure to visit some other content produced by either of you.

By Shuting Wang on 3/20/2018

I was taking an Electrical Engineering course, and was very lost in the logic gates, addiction, R-S Latch, and so on, so I was so glad I found this course. At first everything goes right, but when it gets to the ALU (arithmetic logic unit), I get lost again. The instructor talks very slow, while repeats a lot. I tried a couple of times going back and try to get the idea, while a lot of thing go unexplained. (Maybe my brain just doesn't work for electrical engineering) I think if the instructor can be more detailed when he refers all the logic gates (sometimes I feel like he is just talking about ones and zeros out of no where), especially for some complex wiring. And when explaining examples, explain more instead of just reading the tables; knowing the principles doesn't mean that we understand a real case!! Anyway, thanks for having this course, but I think I will need some other more resource to help me through EE.

By Tom Martin on 12/30/2017

This course is definitely not for the faint of heart. It starts at the basics of binary 1s and 0s, examines the simple operations that can be done using basic logic gates, uses those to build adders (and other circuits), and ultimately shows how the components fit together to create a basic CPU. For anyone with a basic understanding of binary, the course starts out a bit slow. However, the pace increases substantially. A lot of information is covered in a very short amount of time. The instructor refers to follow-up courses that would cover the MIPS language and more advanced CPU features, but unfortunately, no such courses exist yet.

By Pierrick Rancoeur on 7/31/2017

Really informative and interesting but it is indeed not for everyone and not easily accessible. It can get really hard to follow when static schema are explained without any dynamic visual to help understand better what we are talking about and represent motion in the circuit. I feel working on that part would make the course much more accessible and comprehensible for more people as it is a high quality and really interesting course and topic

By Mahadi Xion on 7/26/2017

It's really great, especially for startup programmers who don't want to take a computer engineering degree to understand what happens inside the computer. But I do believe you need a basic understanding of electricity, basic logic gates and how circuit board works. This course needs more attention on the screen and listening(Wish the instructor could add a bit more animation)

By Raushan Kumar on 7/18/2017

Among all the online courses I have taken so far, this is the best. The techniques explained in the video lectures are very basic and logical. You can relate why this thing is happening, or why we count the number this way. This is the good course for all those who wants to know the in-depth knowledge about Digital Electronics. I personally believe that every Digital Electronics enthusiast should take this course. There is always something awesome to learn from everyone.

By Charles Brew on 6/15/2017

I signed up for this with an interest in how computers did what they did at the lowest level. I was not disappointed. When he says challenge yourself and try to figure something out, just try, fun to think about if you never have before. Glad I got the course. Learned a lot, and it will definitely translate to my work. You'll have to pause. Look something up if you really wanna bridge some of the gaps. But this is one you can keep coming back to.

Showing all 10 reviews on CourseDuck

Read all 349 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100