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

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
Parallel programming (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (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.

Aug 31st 2026
4 Weeks
Parallel Programming in Java (Coursera) Coursera
Rice University

Parallel Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism.

Aug 31st 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.

Sep 7th 2026
5-12 Weeks
The Path to Insights: Data Models and Pipelines (Coursera) Coursera
Google

The Path to Insights: Data Models and Pipelines (Coursera)

This is the second of three courses in the Google Business Intelligence Certificate. In this course, you'll explore data modeling and how databases are designed. Then you’ll learn about extract, transform, load (ETL) processes that extract data from source systems, transform it into formats that enable analysis, and drive business processes and goals.

Aug 24th 2026
4 Weeks
Pipe Material Specification (Coursera) Coursera
L&T EduTech

Pipe Material Specification (Coursera)

This particular course entitled “Pipe Material Specification” under the specialization entitled “Design of Industrial Piping Systems” is mainly aimed at piping system design aspects. The major differences between tube and pipe should be known to the designer first. The right selection of the straight pipe for a given process requirement is entirely based on the sound knowledge of the designer on pipe manufacturing techniques, pipe ends, pipe materials, and ASME B31 pressure piping series.

Aug 31st 2026
4 Weeks
Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Aug 24th 2026
4 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.

Aug 31st 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.

Aug 31st 2026
5-12 Weeks
Talend Data Integration Certification Preparation training (Coursera) Coursera
Talend

Talend Data Integration Certification Preparation training (Coursera)

Talend certification exams measure candidates’ skills to ensure that they have the knowledge to successfully implement quality projects. It is recommended to have at least 6 months experience using Talend products and general knowledge of data integration architecture and advanced features before preparing for a Talend certification.

Aug 24th 2026
3 Weeks