The Foundations of Computer Design
4.3 (56 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,336 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
Bestselling
4.3 (56 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,336 students enrolled
Last updated 4/2017
English
English
Current price: $10 Original price: $195 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 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
Requirements
  • 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
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.

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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
39 Lectures
02:00:21
+
Introduction
1 Lecture 03:49
+
Computers and Numbers
8 Lectures 22:38
Numbers and Electricity
02:15

Intro to Binary Numbers
03:19

Binary Numbers Conversion
04:38

Intro to Hexadecimal
04:36

A Glance at Octal
01:25


Negative Numbers in Binary
01:30

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

The NOT Gate
00:54

The AND Gate
00:42

The OR Gate
00:15

The NAND Gate
00:26

The NOR Gate
00:24

The Exclusive OR (XOR) gate
00:22

More Gates
00:45

Building a Circuit that Adds
09:54

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

The Decoder
02:02


A Programmable Circuit
02:18

The Full ALU
09:06
+
Memory
5 Lectures 20:39
A Basic Latch
07:22

A Computer's Clock
00:59

The D Latch
06:43

Building a CPU Register File
03:24

A Memory Block
02:11
+
Basic MIPS Programming
3 Lectures 18:49
Instructions for Addition and Subtraction
04:30

Instructions to Access Memory
05:24

Instructions in Machine Language
08:55
+
Designing A Computer
7 Lectures 13:29
Program Counter Data Path
01:53

Local CPU Memory - The Registers
01:52

Accessing Memory
02:15

Conditional Branching
01:08

Putting it all together
01:24

The ALU Control and Main Control
02:31

A Complete Programmable Computer
02:26
About the Instructor
Brian Scotto
4.3 Average rating
56 Reviews
3,336 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,358 Reviews
73,497 Students
13 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!