The Foundations of Computer Design
4.4 (68 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,402 students enrolled
Wishlisted Wishlist

Please confirm that you want to add The Foundations of Computer Design to your Wishlist.

Add to Wishlist

The Foundations of Computer Design

Learn how basic computers are designed - a fundamental topic in computer science
Best Seller
4.4 (68 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,402 students enrolled
Last updated 4/2017
English [Auto-generated]
Price: $195
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
  • 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

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.

Who is the target audience?
  • 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.
Compare to Other Computer Architecture Courses
Curriculum For This Course
39 Lectures
1 Lecture 03:49
Computers and Numbers
8 Lectures 22:38
Numbers and Electricity

Intro to Binary Numbers

Binary Numbers Conversion

Intro to Hexadecimal

A Glance at Octal

Negative Numbers in Binary

Binary Subtraction and Conclusion of Section 1
Building a Full Adder
10 Lectures 19:39
Section Intro and What is a logic gate

The NOT Gate

The AND Gate

The OR Gate

The NAND Gate

The NOR Gate

The Exclusive OR (XOR) gate

More Gates

Building a Circuit that Adds

Building a Circuit that Adds Bigger Numbers
Other Circuits needed in Computer Design
5 Lectures 21:18
Sign Extender

The Decoder

A Programmable Circuit

The Full ALU
5 Lectures 20:39
A Basic Latch

A Computer's Clock

The D Latch

Building a CPU Register File

A Memory Block
Basic MIPS Programming
3 Lectures 18:49
Instructions for Addition and Subtraction

Instructions to Access Memory

Instructions in Machine Language
Designing A Computer
7 Lectures 13:29
Program Counter Data Path

Local CPU Memory - The Registers

Accessing Memory

Conditional Branching

Putting it all together

The ALU Control and Main Control

A Complete Programmable Computer
About the Instructor
Brian Scotto
4.4 Average rating
68 Reviews
3,402 Students
1 Course
Senior Developer

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.

Paul Hill
4.5 Average rating
5,985 Reviews
77,476 Students
15 Courses
Expert IT Instructor: 72k+ Students, 5k+ Reviews, 13 Courses

Paul is an IT Professional with over 8 years of experience currently working as a Network Administrator in contract support of various Federal Agencies in the United States.

Paul began his career by volunteering his computer skills at his local church at the age of 16. He identified a technology problem the church was having and designed a system to fix it . Other IT Professionals at the church encouraged Paul to continue utilizing his skills to gain experience, and emphasized that he should include it on his resume even though his experience wasn't paid.  Based solely on the experience he gained volunteering, a large DoD contracting company hired Paul as an intern.   As his career progressed, Paul moved on to another Large company to work full time.

Paul constantly pushes himself to increase the depth of his knowledge in the field of Information Technology and expand his skill-set, whether on the job or at home. Paul gratefully notes that he “had the blessing of working alongside highly motivated and talented professionals” who continually inspired and pushed him to take challenges head-on, and to make EVERYTHING you can out of opportunities that arise while on the job. His motto is "Any job is what you make of it. You write your own resume and paycheck by your drive to succeed."

Paul's goal on Udemy is to help YOU get an IT job by providing you a basic skill-set. The fact is that most entry level IT jobs (Help Desk) in the NCR are paying only 10k under the median HOUSE HOLD income from just ONE entry level job and a much higher potential to double or triple the median house hold income throughout one's career. The IT field is viewed as very difficult to enter, but if you have a good skill-set and determination to succeed, you WILL get hired!