Computer Architecture (Coursera)

Offered by Princeton University,
Computer Architecture (Coursera)

In this course, you will learn to design the computer architecture of complex modern microprocessors. All the features of this course are available for free. It does not offer a certificate upon completion.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Syllabus

WEEK 1
Introduction, Instruction Set Architecture, and Microcode
This lecture will give you a broad overview of the course, as well as the description of architecture, micro-architecture and instruction set architectures.
Pipelining Review
This lecture covers the basic concept of pipeline and two different types of hazards.

WEEK 2
Cache Review
This lecture covers control hazards and the motivation for caches.
Superscalar 1
This lecture covers cache characteristics and basic superscalar architecture.

WEEK 3
Superscalar 2 & Exceptions
This lecture covers the common issues for superscalar architecture.
Superscalar 3
This lecture covers different kinds of architectures for out-of-order processors.

WEEK 4
Superscalar 4
This lecture covers the common methods used to improve the performance of out-of-order processors including register renaming and memory disambiguation.
VLIW 1
This lecture covers the basic concept of very long instruction word (VLIW) processors.

WEEK 5
VLIW2
This lecture covers the common methods used to improve VLIW performance.
Branch Prediction
This lecture covers the motivation and implementation of branch predictors.

WEEK 6
Advanced Caches 1
This lecture covers the advanced mechanisms used to improve cache performance.
Advanced Caches 2
This lecture covers more advanced mechanisms used to improve cache performance.

WEEK 7
Memory Protection
This lecture covers memory management and protection.
Vector Processors and GPUs
This lecture covers the vector processor and optimizations for vector processors.

WEEK 8
Multithreading
This lecture covers different types of multithreading.
Parallel Programming 1
This lecture covers the concepts of parallelism, consistency models, and basic parallel programming techniques.

WEEK 9
Parallel Programming 2
This lecture covers the solutions for the consistency problem in parallel programming.
Small Multiprocessors
This lecture covers the implementation of small multiprocessors.

WEEK 10
Multiprocessor Interconnect 1
This lecture covers the design of interconnects for a multiprocessor.
Multiprocessor Interconnect 2
This lecture covers the design of interconnects for multiprocessor and network topology.

WEEK 11
Large Multiprocessors (Directory Protocols)
This lecture covers the motivation and implementation of directory protocol used for coherence on large multiproccesors.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Serverless Data Processing with Dataflow: Develop Pipelines (Coursera) Coursera
Google Cloud

Serverless Data Processing with Dataflow: Develop Pipelines (Coursera)

In this second installment of the Dataflow course series, we are going to be diving deeper on developing pipelines using the Beam SDK. We start with a review of Apache Beam concepts. Next, we discuss processing streaming data using windows, watermarks and triggers. We then cover options for sources and sinks in your pipelines, schemas to express your structured data, and how to do stateful transformations using State and Timer APIs.

Nov 16th 2026
3 Weeks
Sensors and Sensor Circuit Design (Coursera) Coursera
University of Colorado Boulder

Sensors and Sensor Circuit Design (Coursera)

After taking this course, you will be able to: understand how to specify the proper thermal, flow, or rotary sensor for taking real-time process data; implement thermal sensors into an embedded system in both hardware and software; add the sensor and sensor interface into a microprocessor based development kit; create hardware and firmware to process sensor signals and feed data to a microprocessor for further evaluation; study sensor signal noise and apply proper hardware techniques to reduce it to acceptable levels.

Oct 19th 2026
5-12 Weeks
Energy Efficient Programming (openHPI) OpenHPI
Hasso-Plattner-Institut

Energy Efficient Programming (openHPI)

Efficiency in computer science often refers to the runtime or memory usage, that a certain algorithm needs to produce an output. However, efficiency can also describe the amount of energy, that is consumed by the hardware during the runtime of an algorithm. This course explains the relevant computer architecture components, as well as different coding techniques, that allow computer scientists to design and program energy efficient algorithms.

Mar 27th 2023
2 Weeks
CUDA Advanced Libraries (Coursera) Coursera
Johns Hopkins University

CUDA Advanced Libraries (Coursera)

This course will complete the GPU specialization, focusing on the leading libraries distributed as part of the CUDA Toolkit. Students will learn how to use CuFFT, and linear algebra libraries to perform complex mathematical computations. The Thrust library’s capabilities in representing common data structures and associated algorithms will be introduced. Using cuDNN and cuTensor they will be able to develop machine learning applications that help with object detection, human language translation and image classification.

Oct 26th 2026
5-12 Weeks
Introduction to Parallel Programming with CUDA (Coursera) Coursera
Johns Hopkins University

Introduction to Parallel Programming with CUDA (Coursera)

This course will help prepare students for developing code that can process large amounts of data in parallel on Graphics Processing Units (GPUs). It will learn on how to implement software that can solve complex problems with the leading consumer to enterprise-grade GPUs available using Nvidia CUDA. They will focus on the hardware and software capabilities, including the use of 100s to 1000s of threads and various forms of memory.

Oct 26th 2026
5-12 Weeks
Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) (Coursera)

In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed.

Oct 26th 2026
5-12 Weeks
How to Get Into Web Development (Coursera) Coursera
University of Leeds

How to Get Into Web Development (Coursera)

Adding web development to your skillset is an excellent career move if you are into coding and you seek career growth and advancement. In this online course, you will explore the web development specialisations - front-end, back-end and full-stack development, and understand the different roles in a web development team.

Oct 26th 2026
2 Weeks
Interfacing with the Arduino (Coursera) Coursera
University of California, Irvine

Interfacing with the Arduino (Coursera)

Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world.

Oct 26th 2026
4 Weeks
Fundamentals of Parallelism on Intel Architecture (Coursera) Coursera
Intel Corporation

Fundamentals of Parallelism on Intel Architecture (Coursera)

This course will introduce you to the multiple forms of parallelism found in modern Intel architecture processors and teach you the programming frameworks for handling this parallelism in applications. You will get access to a cluster of modern manycore processors (Intel Xeon Phi architecture) for experiments with graded programming exercises.

Mar 6th 2023
5-12 Weeks
Finalize a Data Science Project (Coursera) Coursera
CertNexus

Finalize a Data Science Project (Coursera)

This course is designed for business professionals that want to learn how to gather results from previous stages of the data science project and present them to stakeholders. Learners will communicate the results of a model to stakeholders, be shown how to build a basic web app to demonstrate machine learning models and implement and test pipelines that automate the model training, tuning and deployment processes.

Nov 2nd 2026
4 Weeks