We may earn an affiliate commission when you visit our partners.
Mohsen Hassan and Ilyass Tabiai, PhD

In this course you'll learn about this new way of using LLM Agents: deploying multiple agents to work together as teams to accomplish more complex tasks for you.

Everything is taught step by step and the course is fully practical with multiple examples and one complete AI Agents-based App that we build together.

One of the things we use to accomplish this is ChatGPT's API so we can use ChatGPT through Python.

We also use AutoGen to enable our Agents to work together and communicate with one another (to accomplish tasks with no human intervention).

Read more

In this course you'll learn about this new way of using LLM Agents: deploying multiple agents to work together as teams to accomplish more complex tasks for you.

Everything is taught step by step and the course is fully practical with multiple examples and one complete AI Agents-based App that we build together.

One of the things we use to accomplish this is ChatGPT's API so we can use ChatGPT through Python.

We also use AutoGen to enable our Agents to work together and communicate with one another (to accomplish tasks with no human intervention).

We also provide a few optional sections. One of these sections teaches to have a front-end, using Streamlit, to more easily interact with your AI Agents.

Another optional section is for those who want to run AI Agents at scale.  Here we show you how to deploy your LLM Agents on Google Cloud, so anyone can use your product.

Lastly, one more optional section is available showing how to set up a payment system/subscription model using Stripe for those who want to monetize their AI Agents-based App.

Everything is explained simply and in a step-by-step approach. All code shown in the course is also provided.

Please not that the OpenAI API is not free, you will need to fund your OpenAI developer account with about $5-10 to follow through with the class and build your own app. We clearly show and explain how to do this and minimize your OpenAI costs during this class.

Enroll now

What's inside

Learning objectives

  • Build teams of ai agents that can achieve complex tasks
  • Build llm agents based apps
  • Use chatgpt's api
  • Use autogen to enable ai agents to communicate with one another
  • Build a front-end to communicate with your team of ai agents (optional)
  • Run a ai agent app at scale using google cloud (optional)
  • Set up a payment system to charge users to use your ai agents based app (optional)

Syllabus

[Optional] Running Open Source LLMs Locally (Free) instead of OpenAI's ChatGPT
Why Run LLMs Locally
Intro to LLM Agents
Defining LLMs
Read more
Building an Autocomplete
From Autocomplete to LLMs
Prompt Engineering
Agentic Design
LLM Agents Implementation (with OpenAI's ChatGPT)
LLM Agents Implementation Intro
OpenAI vs Local LLM

In this lecture, we'll see how to create an API key for OpenAI. We'll need this key to use chatGPT from a python script.


At the end of this lecture, you should have an Open AI API key for your account.


At the end of this lecture, you should have VScode and python installed and working on your computer.

In this lecture, we are going to:

  • Install python 3.12 (do not use python 3.13 for now)

  • Setup a python virtual environment for this class

  • Install the openai package for python in this virtual environment

  • Put some funding in our OpenAI developer account

This lecture will teach us how to interact with chatGPT from a python script. We'll be using jupyter notebook for that, so we'll first start by installing Jupyter notebook in our python virtual environment.

After this lecture, you should be able to prompt chatGPT for simple queries (autocomplete requests) from python.

A python notebook is provided with this lecture, you should start by downloading it.

This lecture introduce autogen and the concept of Conversable Agent on which autogen relies.

A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.

Ensure that you are running python 3.12 and not python 3.13. Autogen is not compatible with python 3.13.

The following message is not an error: "flaml.automl is not available. Please install flaml[automl] to enable AutoML functionalities." You can keep running the code with no worries as we do not use any features from flaml in this course, so there is no need to install it or to worry about his message.

In this lecture, we will explore how to use autogen to interact with chatGPT. We'll also reveal the basic function needs (state persistence or memory), a limitation we'll address in the next lecture. We'll also explore how to use different OpenAI models.

It is important to ensure that everything works correctly for you at the end of this lecture, otherwise, future lectures will not work.

You will need the python notebook provided in the previous lecture to follow along with this lecture.

In this video, we will build our first agents through a classical example: two agents that play the role of stand-up comedians in a show. We'll show how to set up a simple sequential chat during which two comedian agents who'll exchange jokes.

A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.

Warning: The more recent versions of LMStudio have changed how the `llm_config` should be defined. The interface has also changed compared to what you'll see in the video. The notebook provided as a Downloadable Material gives an updated `llm_config` and shows how to load a model and start a local server in the most recent versions.  

LLM Agents Implementation Continued

In this lecture, we'll see how you can better explore an exchange between agents (a chat) after it is over. We'll see how to get a transcript of the whole chat, the detailed costs associated with this chat and how to get an automated summary of the chat or a "last message" summary.

We'll also mention in this lecture how the cache of autogen works and how to reset it if necessary to get fresh new answers for a same chat strcture.

You will need the python notebook provided in the previous lecture to follow along with this lecture.

In this lecture, we will see how to better control chat termination condition. Until now, we have forced the chat between agents to end after a certain number of turns, in this lecture, we'll show how to let the agents themselves decide when they're done with the task provided and will trigger the end of the chat.


You will need the python notebook provided two lecture ago ("State Altering Agents: Stand-Up Comedy") to follow along with this lecture.

This lecture introduces a fun homework you should do to ensure that you're able to setup a chat between agents by yourself based on the previous lectures.

Feel free to share your best results with us!

AutoGen Chat Structures

In this lecture, we'll introduce sequential chats between a user (us) and different agents. This case is fundamental because it explains how to transfer data between chats from one exchange with an agent to the next. The example used here is that of a company that uses AI agents to gather information about users who are contacting it because they have an issue with one of the company's products. We also explain and show how to generate a code-friendly summary of the exchange between the agents and the user.

In this lecture, we'll introduce sequential chats between a user (us) and different agents. This case is fundamental because it explains how to transfer data between chats from one exchange with an agent to the next. The example used here is that of a company that uses AI agents to gather information about users who are contacting it because they have an issue with one of the company's products. We also explain and show how to generate a code-friendly summary of the exchange between the agents and the user.

This lecture starts to introduce complex chat structures.

A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.

In this lecture, we'll introduce a powerful notion: nested chats. Nested chats are a notion that allows an agent to trigger a kind of internal exchange with other agents that will help it improve and optimize the answer it will provide for a specific request. autogen allows us to easily set up nested chats.

We'll use the example of writing a blogpost that we want to optimize for certain goals to show the usefulness of nested chats. We'll optimize the content of our blogpost in 3 ways in the next lectures:

  1. Using single agent refinement

  2. Using two-agent refinement

  3. Using nested chats and multi-agent refinements

To better explain the advantages of nested chats, we'll start by trying to accomplish the task of writing a blogpost and refining the content of the blogpost using a single agent.

A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.

To better explain the advantages of nested chats, we'll now try to accomplish the task of writing a blogpost and refining its content of the blogpost using two agents this time: a writer and a critic that will help improve the first version provided by the writer.
We'll see that this result is better than single agent refinement but we'll see in the next lecture that we can do much better with nested chats.

You will need the python notebook provided in the previous lecture to follow along with this lecture.

In this lecture, we'll introduce a powerful notion: nested chats. Nested chats are a notion that allows an agent to trigger a kind of internal exchange with other agents that will help it improve and optimize the answer it will provide for a specific request. autogen allows us to easily set up nested chats.


You will need the python notebook provided two lectures ago ("Sequential chat coding") to follow along with this lecture.

In this lecture, we are going to introduce that can write code (python) to solve tasks and agents that can execute that code. Agents will decide what code to write to solve a problem/task, another agent will then execute that code and report back, and our agents will be able to find problems and solve them (propose new code versions) until they completely solve the proposed task. This is a very powerful ability because our agents can now rely on everything python can allow for (and python can be used to do almost anything, really) to solve our task without us even knowing how to code. It is very important to grasp what this means at this point, just ask and the agents will determine how to solve the required task with python! They'll try as many times as necessary and if the python code execution fails, they'll propose new ways to solve your task.

This lecture introduces the concepts and structure necessary to let agents execute code.

From now on, a python notebook and a python script will be provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.

In this lecture, we are going to introduce that can write code (python) to solve tasks and agents that can execute that code. Agents will decide what code to write to solve a problem/task, another agent will then execute that code and report back, and our agents will be able to find problems and solve them (propose new code versions) until they completely solve the proposed task. This is a very powerful ability because our agents can now rely on everything python can allow for (and python can be used to do almost anything, really) to solve our task without us even knowing how to code. It is very important to grasp what this means at this point, just ask and the agents will determine how to solve the required task with python! They'll try as many times as necessary and if the python code execution fails, they'll propose new ways to solve your task.

You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.

In this lecture, we'll introduce the concepts and code structure necessary to give our AI agents tools (python functions) that they can use to solve a problem. This is an important feature because it means that they will perform certain steps the way we want them to (using our functions) and won't use OpenAI tokens to generate the code necessary for certain steps.

It becomes even more interesting once you realize that you can use agents to write code to solve task (as you now know they'll save the code they used for you in the coding folder), and you can then take that code (ask them to write any code they generate as functions with proper docstrings) and give it to your future agents as skills if you intend to ask them to perform similar tasks in the future.

A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.

In this lecture, we'll introduce the concepts and code structure necessary to give our AI agents tools (python functions) that they can use to solve a problem. This is an important feature because it means that they will perform certain steps the way we want them to (using our functions) and won't use OpenAI tokens to generate the code necessary for certain steps.

It becomes even more interesting once you realize that you can use agents to write code to solve task (as you now know they'll save the code they used for you in the coding folder), and you can then take that code (ask them to write any code they generate as functions with proper docstrings) and give it to your future agents as skills if you intend to ask them to perform similar tasks in the future.

You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.

In this lecture, we'll introduce the last type of chat structure we'll use in this class. Group chats are extremely powerful structures to solve problems/tasks but they're also unpredictable and inefficient. In group chats, we're going to create a team of agents with different skills that we'll give a task to, and we'll let them determine who should do what and in which order to solve the task. A manager (just like for a real team) will propose a method to solve the task and will then sequentially decide which agent should intervene for each round to keep advancing on the task. This is an extremely powerful method if you have no idea how to solve a problem and it should be your go-to chat structure the first time you're working on a new type of problem. This chat structure will reveal how you should solve this type of problem in the future, you can then use a more efficient chat structure (sequential+nested with more focused agents) to solve that type of problem in the future.

A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.

In this lecture, we'll introduce the last type of chat structure we'll use in this class. Group chats are extremely powerful structures to solve problems/tasks but they're also unpredictable and inefficient. In group chats, we're going to create a team of agents with different skills that we'll give a task to, and we'll let them determine who should do what and in which order to solve the task. A manager (just like for a real team) will propose a method to solve the task and will then sequentially decide which agent should intervene for each round to keep advancing on the task. This is an extremely powerful method if you have no idea how to solve a problem and it should be your go-to chat structure the first time you're working on a new type of problem. This chat structure will reveal how you should solve this type of problem in the future, you can then use a more efficient chat structure (sequential+nested with more focused agents) to solve that type of problem in the future.

You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.

Application: Using Agents for Stock Analysis
Building A Finance App: Application Overview
Setting up your AI Agent Team
Orchestrating the Chat
Running the App
Deploy Your AI Agent App

In this lecture, we are going to introduce Streamlit, a python package that can be used to easily create a front-end (webpages) from your python code very easily.

A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.

In this lecture, we will transform our stock analysis app into a Streamlit app and run it locally.

A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.

Setup a Google Cloud Ephemeral Machine

In this lecture, we will see how to use Google Cloud Shell to run our stock analysis app on a Google temporary machine to test it and ensure it works in the cloud. This is not how we'll run our app over the long term in the cloud, but it is a necessary step to ensure that everything works and it is from where we will deploy our app in the cloud.

You will need the python notebook and python script provided in the lecture ("Stock analysis as a Streamlit app") to follow along with this lecture, in addition to the file provided with this lecture.

In this lecture, we are going to introduce Streamlit, a python package that can be used to easily create a front-end (webpages) from your python code very easily.

At the end of this lecture, you should be able to create a basic Streamlit app with a nice front-end.

You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.

In this lecture, we will see how to deploy our stock analysis app on a permanent machine with Google Cloud and get a permanent link URL for it that we'll be able to share with others and get them to test our app.

The knowledge shared in these lectures can be used to deploy any type of python app on the cloud, not only autogen/streamlit apps.

You will need the python notebook and python script provided in the lecture "Stock analysis as a Streamlit app" to follow along with this lecture, the "requirements.txt" file provided in lecture "Run your App on an ephemeral machine" in addition to the file provided with this lecture.

[Optional] Add Subscription - Payments to your App

In this lecture, we'll introduce how st-paywall works and how we'll need to set it up to add a paywall/subscription to our app using Stripe and Google Oauth.

A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.

In this lecture we will show and explain how to use Google Oauth with st-paywall to add authentification to our app ("Login with Google").

You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.

In this lecture, we will show you how to set up your Stripe account to configure it with st-paywall and add a subscription to your agent-based app.

You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.

In this lecture, we will show how to finish setting up Google Oauth with st-paywall to authentify our users when they use our agent-based app.

You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.

In this lecture, we will finalize the setup of st-paywall as we now have all the elements necessary to do so.

You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.

This short lecture will show you how to create a 100% coupon with Stripe which will allow your account to use the app without paying any subscription fee.

You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.

Deploy your App in Production Mode
Bonus Lecture

Save this course

Save AI Agents: Building Teams of LLM Agents that Work For You to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in AI Agents: Building Teams of LLM Agents that Work For You with these activities:
Review Python Fundamentals
Solidify your understanding of Python fundamentals, which are essential for working with the ChatGPT API and AutoGen.
Browse courses on Python Basics
Show steps
  • Review basic data types and operators.
  • Practice writing simple functions and control flow statements.
  • Work through online Python tutorials or exercises.
Brush up on API usage
Familiarize yourself with the concept of APIs and how to interact with them using Python, as the course heavily relies on the ChatGPT API.
Browse courses on API Requests
Show steps
  • Learn about REST APIs and common HTTP methods.
  • Practice making API requests using the 'requests' library in Python.
  • Explore API documentation and understand how to interpret responses.
Read 'Building Applications with Large Language Models'
Gain a broader understanding of LLM application development to complement the course's practical focus.
Show steps
  • Read the book, focusing on chapters related to agent design and implementation.
  • Take notes on key concepts and examples.
  • Relate the book's content to the course's lectures and projects.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Experiment with AutoGen Examples
Reinforce your understanding of AutoGen by working through the official examples and modifying them to suit different scenarios.
Show steps
  • Clone the AutoGen repository from GitHub.
  • Run the example scripts and analyze the code.
  • Modify the examples to create your own agent teams.
Develop a Simple AI Agent Application
Apply the concepts learned in the course by building a small AI agent application that solves a specific problem.
Show steps
  • Define the problem your AI agent application will solve.
  • Design the architecture of your agent team.
  • Implement the agents using AutoGen and the ChatGPT API.
  • Test and refine your application.
Write a Blog Post on AI Agent Teams
Solidify your knowledge and share your insights by writing a blog post about the benefits and challenges of using AI agent teams.
Show steps
  • Research and gather information on AI agent teams.
  • Outline the structure of your blog post.
  • Write the blog post, including examples and insights.
  • Edit and proofread your blog post.
Contribute to AutoGen
Deepen your understanding of AutoGen and contribute to the community by reporting bugs, writing documentation, or contributing code.
Show steps
  • Explore the AutoGen GitHub repository.
  • Identify areas where you can contribute.
  • Submit a pull request with your changes.

Career center

Learners who complete AI Agents: Building Teams of LLM Agents that Work For You will develop knowledge and skills that may be useful to these careers:
AI Application Developer
An AI Application Developer designs, develops, and implements artificial intelligence applications that solve real-world problems. This role involves understanding user needs, creating AI agent teams, and building front-end interfaces for seamless user interaction. This course, with its focus on building teams of AI Agents to accomplish tasks, directly prepares you for the collaborative aspects of AI application development. You will learn to use ChatGPT's API and AutoGen to enable agents to communicate, and skills in Python scripting that are crucial for development. The optional modules on Streamlit for front-end development and Google Cloud deployment are especially useful for an aspiring AI Application Developer.
Generative AI Engineer
A Generative AI Engineer specializes in creating and deploying AI models that can generate new content, such as text, images, or code. This career path leverages the power of large language models and agent-based systems to automate creative processes and improve content generation workflows. This course helps you build a solid foundation in using LLMs and AutoGen to create sophisticated AI agent teams. The hands-on projects in the course will give experience with ChatGPT's API and the configuration of agents that can communicate effectively. The skills gained here are directly applicable to designing creative AI solutions, particularly in automating content creation tasks, a frequent activity of the Generative AI Engineer.
AI Solutions Architect
An AI Solutions Architect designs and oversees the implementation of AI-driven solutions for businesses. This often involves integrating various AI components, optimizing workflows, and ensuring scalability. This course can help in designing solutions with AI agent teams for complex tasks. The curriculum's coverage of AutoGen for agent communication and optional sections on Google Cloud deployment make it relevant to creating scalable solutions. Someone who desires to become an AI Solutions Architect should take this course to learn practical methods for building comprehensive, integrated AI systems.
Automation Engineer
An Automation Engineer develops and implements strategies to automate processes and workflows, often using AI and machine learning technologies. The Automation Engineer focuses on efficiency and reducing human intervention in repetitive tasks. This course provides a strong foundation in building AI agent teams that can automate complex processes. You will learn to use ChatGPT's API and AutoGen to enable agent communication and collaboration. The hands-on approach of this course, with its focus on practical examples and a complete AI agent-based application, is particularly relevant.
AI Product Manager
An AI Product Manager is responsible for defining the strategy, roadmap, and features of AI-powered products. This role requires a deep understanding of AI technologies and the ability to translate business needs into technical requirements. This course provides you with the knowledge to understand the capabilities and limitations of AI agent teams. The practical examples and hands-on projects in the course give insights into how AI agents can be used to build innovative applications. For an aspiring AI Product Manager, understanding the technology behind the products is crucial.
Technical Consultant
A Technical Consultant advises clients on how to best use technology solutions to meet their business goals. This can involve recommending and implementing AI-driven solutions. This course allows you to gain expertise in AI agent technologies, which is valuable for consulting. The focus on building AI agent teams and using tools like ChatGPT's API and AutoGen will equip you with practical skills that are directly applicable to technical consulting projects. Technical Consultants can expand their offerings by recommending AI agent-based systems.
Machine Learning Operations Engineer
A Machine Learning Operations Engineer focuses on deploying and maintaining machine learning models in production environments. This role requires a strong understanding of both software engineering and machine learning principles. This course may be useful, as the optional sections on deploying AI agents on Google Cloud and setting up payment systems align well with the operational aspects of machine learning products. The practical, step-by-step approach of the course will also give you the hands-on experience needed to succeed in a Machine Learning Operations role.
Data Scientist
A Data Scientist analyzes large datasets to extract insights and develop predictive models. The Data Scientist uses a variety of tools and techniques, including machine learning and statistical analysis. While this course focuses on AI agents rather than traditional data science, it may be useful because the course does build upon introductory machine learning. The skills in Python and the understanding of AI agent architectures will be beneficial.
Software Engineer
A Software Engineer designs, develops, and tests software applications. While this role is broad, it can be specialized to focus on AI-driven applications. This course may be useful to a Software Engineer because it offers practical experience in building AI agent-based systems. The curriculum covers using ChatGPT's API, AutoGen for agent communication, and Streamlit for creating user interfaces, all relevant tools for developing AI applications. A Software Engineer who wishes to specialize in the growing field of AI-enabled systems should take this course.
AI Research Scientist
An AI Research Scientist conducts research to advance the field of artificial intelligence. This often involves developing new algorithms, models, and techniques. A master's degree or a doctorate degree is typically required. The course is relevant because it provides a practical introduction to AI agents and their applications. Gaining hands-on experience is likely to be valuable for an AI Research Scientist. They will develop a better sense of which AI approaches are workable.
Business Intelligence Analyst
A Business Intelligence Analyst analyzes data to identify trends and insights that can help businesses make better decisions. They often use data visualization tools and reporting techniques. This course may be helpful because the insights from AI agent teams can be fed into business intelligence systems. The data generated by AI-driven applications can become a valuable source of information, leading to more informed business strategies. A Business Intelligence Analyst can leverage AI-generated data to present a more comprehensive view of the market.
Financial Analyst
A Financial Analyst provides guidance to businesses and individuals making investment decisions. This role requires a strong understanding of financial markets and data analysis. This course may be useful because skills from the course could be used to build AI agents that perform stock analysis, as showcased in the course materials. The ability to automate data gathering and automate the generation of reports would be useful.
Project Manager
A Project Manager plans, executes, and closes projects, ensuring they are completed on time and within budget. While not directly AI-focused, an understanding of AI technologies can be beneficial. This course may be valuable because it provides insights into the development and deployment of AI agent-based applications. The knowledge will help in managing AI-related projects more effectively, especially when coordinating teams and resources. A Project Manager can apply the skills to better oversee AI implementations.
IT Support Specialist
An IT Support Specialist provides technical assistance to users, resolving hardware and software issues. While this role is not directly related to AI development, an understanding of AI could be beneficial for troubleshooting AI-powered tools or systems. This course may be valuable because it offers exposure to AI agent technologies and their potential applications. This would enable better communication with developers and a better understanding of the systems.
Technical Writer
A Technical Writer creates documentation for software applications and hardware products. Technical Writers require a strong understanding of technology and the ability to communicate complex information clearly. This course may be valuable to a Technical Writer because it offers exposure to AI agent technologies and applications. The Technical Writer can apply the knowledge to document AI-related projects, particularly with respect to agents, platforms, and APIs.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in AI Agents: Building Teams of LLM Agents that Work For You.
Provides a comprehensive guide to building applications using LLMs. It covers prompt engineering, agent design, and implementation, aligning perfectly with the course's objectives. It offers practical examples and case studies that can enhance your understanding and application of the concepts taught in the course. This book is valuable as additional reading to deepen your knowledge.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser