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

Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Oct 5th 2026
4 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.

Sep 14th 2026
4 Weeks
Computer Systems Design for Energy Efficiency (edX) EdX
Chalmers University of Technology,ChalmersX

Computer Systems Design for Energy Efficiency (edX)

Learn how to design modern computers to improve the speed, performance and energy efficiency of your programs. In order to be competitive in the computer science field, it’s imperative to understand the basic building blocks of a modern computer and how they directly impact the speed and efficiency of a program. Whether you work with embedded systems, mobile computer-based systems, or cloud systems, performance and energy efficiency are key drivers of usability and competitiveness of computerized products.

Self Paced
Self-Paced
Introduction to RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to RISC-V (edX)

Discover various aspects of RISC-V, including technical aspects, specifications and the community ecosystem. RISC-V is a free and open instruction set architecture (ISA) enabling a new era of processor innovation through open standard collaboration. This course will guide you through the various aspects of understanding the RISC-V community ecosystem, the RISC-V specifications, and some technical aspects of working with RISC-V.

Self Paced
Self-Paced
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
Introduction to Computers (Coursera) Coursera
Microsoft

Introduction to Computers (Coursera)

This course has been designed for individuals seeking entry-level positions in IT support. Whether you're a recent graduate, a career changer, or someone looking to kickstart your career in the tech industry, it will provide you with the foundational knowledge and practical skills needed to excel in the field of IT support.

Sep 14th 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
Custom and Distributed Training with TensorFlow (Coursera) Coursera
DeepLearning.AI

Custom and Distributed Training with TensorFlow (Coursera)

In this course, you will: • Learn about Tensor objects, the fundamental building blocks of TensorFlow, understand the difference between the eager and graph modes in TensorFlow, and learn how to use a TensorFlow tool to calculate gradients; • Build your own custom training loops using GradientTape and TensorFlow Datasets to gain more flexibility and visibility with your model training; • Learn about the benefits of generating code that runs in graph mode, take a peek at what graph code looks like, and practice generating this more efficient code automatically with TensorFlow’s tools; • Harness the power of distributed training to process more data and train larger models, faster, get an overview of various distributed training strategies, and practice working with a strategy that trains on multiple GPU cores, and another that trains on multiple TPU cores.

Sep 21st 2026
4 Weeks
VR and 360 Video Production (Coursera) Coursera
Google AR & VR

VR and 360 Video Production (Coursera)

Welcome to Daydream Impact Virtual Reality (VR) and 360 video production course! Our mission is to give you the skills needed to use VR to advocate for a cause and communicate your mission. This course will introduce you to Virtual Reality (VR) and 360 video production, guiding you through a step-by-step process to create VR content. To begin, we recommend taking a few minutes to explore the course site and review the material.

Sep 14th 2026
4 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Oct 5th 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.

Sep 28th 2026
2 Weeks