We may earn an affiliate commission when you visit our partners.
Course image
Eden Marco | LLM Specialist

Welcome to first LangGraph Udemy course - Unleashing the Power of LLM Agents. This comprehensive course is designed to teach you how to QUICKLY harness the power the LangGraph library for LLM agentic applications. This course will equip you with the skills and knowledge necessary to develop cutting-edge LLM Agents solutions for a diverse range of topics.

Read more

Welcome to first LangGraph Udemy course - Unleashing the Power of LLM Agents. This comprehensive course is designed to teach you how to QUICKLY harness the power the LangGraph library for LLM agentic applications. This course will equip you with the skills and knowledge necessary to develop cutting-edge LLM Agents solutions for a diverse range of topics.

Please note that this is not a course for beginners. This course assumes that you have a background in software engineering and are proficient in Python & LangChain. I will be using Pycharm IDE but you can use any editor you'd like since we only use basic feature of the IDE like debugging and running scripts .The topics covered in this course include:

  • LangChain

  • LCEL

  • LangGraph

  • Agents

  • Multi Agents

  • Reflection Agents

  • Reflexion Agents

  • LangSmith

  • CrewAI VS LangGraph

  • Advanced RAG

  • Corrective RAG

  • Self RAg

  • Adaptive RAG

  • GPT Researcher

  • LangGraph Ecosystem:

    • LangGraph Studio / LangGraph IDE

    • LangGraph Cloud API

    • LangGraph Cloud Managed Service

Throughout the course, you will work on hands-on exercises and real-world projects to reinforce your understanding of the concepts and techniques covered. By the end of the course, you will be proficient in using LangGraph to create powerful, efficient, and versatile LLM applications for a wide array of usages.This is not just a course, it's  also  a community. Along with lifetime access to the course, you'll get:

  1. Dedicated troubleshooting support with me

  2. Github links with additional AI resources, FAQ, troubleshooting guides

  3. No extra cost for continuous updates and improvements to the course

This course assumes that you have a background in software engineering and are proficient in Python. I will be using Pycharm IDE but you can use any editor you'd like since we only use basic feature of the IDE like debugging and running scripts.

Enroll now

What's inside

Learning objectives

  • Become proficient in langgraph
  • Implement advanced agents
  • Have end to end working langgraph based generative ai agents
  • Understand how to navigate inside the langgraph opensource codebase
  • Langgraph ecosystem: langgraph studio/ ide, langgraph cloud api, langgraph cloud managed service

Syllabus

Introduction

I'm here to teach you the ins and outs of LangGraph. LangGraph is a new package within the LangChain ecosystem that allows us to build very sophisticated and customized agents. I believe we're going to see a lot of agents in the industry in the near future, and we can achieve complex things with them.

  • LangGraph Overview:

    • Purpose:

      • Implements the idea of flow engineering, allowing developers to define the scope in which LLMs are used within agent runs.

      • Enables building highly customized agents.

    • Why LangGraph?:

      • Although LangChain can be used to build agents, LangGraph offers easier and clearer ways to describe agent behavior.

      • Provides more flexibility and simplicity in implementing and describing agents.

    • Basic Concept:

      • Utilizes graphs with nodes and edges to describe agent flows.

      • Facilitates the implementation of advanced logic in a straightforward manner.

  • Course Disclaimers:

    • Level:

      • This is not a beginner course; solid understanding of Python and LangChain is expected.

      • If you've taken the previous LangChain course, you should be well-prepared.

    • Course Pace:

      • Focuses on advanced topics, allowing for fast progression and deep dives into LangGraph capabilities.

    • Community Support:

      • A Discord server is available for communication and discussion on advanced agent topics.

      • Encourages using the server for questions and discussions, supported by a solid community.

I hope you join the course, and let's build amazing things with LangGraph!

Read more

In this video, we discuss the prerequisites for the course, which focuses on advanced technology and sophisticated GenAI agents using LangGraph. It's crucial to have a strong foundation in certain areas to keep up with the course content, as we won't be covering basic topics.

  • Python Proficiency:

    • Familiarity with concepts like:

      • Managing and storing environment variables using a .env file.

      • Package management tools such as Poetry, Pipenv, or Virtualenv.

      • Configuring the IDE with the interpreter.

      • Debugging and running files in the IDE.

      • Object-oriented programming.

      • Git version control.

    • Assumption of knowledge in these areas to maintain focus on LangGraph and advanced topics.

  • LangGraph and LangChain:

    • Overview:

      • LangGraph is an extension of the LangChain framework, tailored for building complex agent flows.

      • Use of LangChain is necessary to work with LangGraph.

    • Course Content:

      • Utilizes LangChain objects like prompt templates, chains, and possibly LangChain Expression Language.

      • Familiarity with these topics is beneficial.

      • Recommendation to check out a prior course covering these foundational topics if unfamiliar.

  • Ideal Students:

    • Proficiency in Python and LangChain is essential.

    • The course is challenging for those not comfortable with the mentioned topics.

    • Recommendation to reconsider taking the course if lacking proficiency in these areas.

To conclude, this course is designed for those with a solid understanding of Python and LangChain. If you meet these prerequisites, you'll be well-prepared to dive into the advanced concepts of LangGraph and build sophisticated agentic applications.

Discord

In this video, we introduce the topic of LangGraph, explaining its purpose and how it differs from LangChain. We highlight the advancements and flexibility of LangChain in building generative applications.

  • LangChain Overview:

    • Features:

      • Suitable for building DAG applications and agents.

      • Improved security, flexibility, readability, and usability.

      • Uses LangChain Expression Language for composability and convenient interaction with components.

    • Limitations:

      • Challenges in building complex agentic systems.

      • Autonomous agents have freedom but are not yet production-ready or highly usable.

      • Regular LLM calls are limited in complexity and control.

      • Router chains or agents can decide steps using LLMs but cannot create cycles.

  • LangGraph:

    • Introduction:

      • LangGraph addresses limitations by enabling the implementation of cycles in agents.

      • Provides an additional dimension of freedom and complexity.

    • Capabilities:

      • Allows defining flows with nodes and edges, including cycles.

      • Important for building complex agents with more freedom.

      • Integrates with flow engineering to define and control program flows.

      • LLMs can assist in deciding the flow direction (e.g., flow A, flow B, finishing, or restarting).

    • Implementation:

      • Elegant and easy to implement advanced solutions using LangGraph.

      • Entire logic and flow can be expressed as a graph with cycles, enhancing convenience and capability.

Conclusion: We emphasize the convenience and advanced capabilities of LangGraph in developing sophisticated agentic applications. We encourage you to explore the course to see practical implementations of LangGraph.

  1. Graphs:

    • Definition:

      • A graph is a mathematical object that represents relationships.

      • Consists of nodes (vertices) and edges that connect the nodes.

    • Applications:

      • Used in various fields, such as social networks, transportation maps, and cloud security.

      • Helps solve real-world problems through algorithms and property extraction.

    • Formal Definition:

      • A graph G is comprised of V (vertices) and E (edges), where an edge is a pair (x, y) belonging to the vertices set.

  2. State Machines:

    • Definition:

      • A model of computation consisting of states and transitions between states.

      • Defines different states and rules for transitions to manage complex conditions and sequences in software systems.

    • Graph Representation:

      • State machines can be visualized as graphs, with states as nodes and transitions as edges.

      • This helps in understanding and managing the complexity of state machines.

  3. LangGraph:

    • Overview:

      • A powerful library built on top of LangChain.

      • Allows describing flows using nodes and edges.

    • Capabilities:

      • Enables building sophisticated agentic applications.

      • Facilitates writing and running advanced agents in LangGraph.

  1. Flow Engineering Overview:

    • Systematic and strategic approach for developing AI-driven software.

    • Manages and optimizes AI systems with LLMs by defining clear flows or sequences of operations.

    • Involves complex decision-making nodes where AI may generate multiple outputs, often refined iteratively.

  2. Goals of Flow Engineering:

    • Guides AI through well-defined steps to improve output quality.

    • Incorporates systematic planning and testing phases mimicking human development processes.

    • Enhances reliability and functionality of AI-generated solutions.

  3. Challenges with Autonomous Agents:

    • Projects like auto-GPT and baby AGI struggle with long-term planning.

    • AI creating and executing tasks autonomously can lead to problems.

    • Developers need to define tasks and ensure AI stays within the task context.

  4. Developer's Role:

    • Developers define the scope and plan for LLMs.

    • LLMs can make decisions about task readiness and subsequent steps within the defined flow.

    • Developers provide a blueprint for LLMs to follow, similar to a state machine where developers define the states and steps.

  5. LangGraph and Flow Engineering:

    • LangGraph as an intermediate solution between fully autonomous agents and fully deterministic chains.

    • Allows building complex solutions by defining state machines and incorporating LLMs for specific tasks or decision-making.

  6. Graph Components in LangGraph:

    • Nodes and edges, with the ability to include cycles.

    • Advanced logic can be built for complex AI systems.

    • Example: Creating a tweet, refining it iteratively using LLMs until achieving a high-quality post.

  7. Future of AI Software Development:

    • Development time distribution:

      • 60% on flow engineering and architecture of state machines.

      • 35% on fine-tuning models for specific tasks.

      • 5% on prompt engineering.

  1. LangGraph Core Components:

    • Nodes:

      • Python functions that can contain any code, including LLM calls or agents.

    • Edges:

      • Connect nodes within the graph's execution.

    • Conditional Edges:

      • Help in making dynamic decisions within the graph's execution.

  2. Special Nodes:

    • Start Node:

      • Entry point for the graph's execution.

    • End Node:

      • Exit point for the graph's execution.

    • Both nodes act as no-operations (no-op).

  3. State or Agent State:

    • A dictionary storing important information for the graph.

    • Can store node execution results, temporary results, or chat history.

    • Available for all nodes within the graph.

    • Can be made persistent for robust and fault-tolerant software.

  4. Node Functions:

    • Always receive the current state as input.

    • Return an updated state, ensuring the state evolves over time.

  5. Advanced Concepts:

    • Cyclic Graphs:

      • Enable loops within the graph.

    • Human-in-the-Loop:

      • Allows for dynamic decision-making with human feedback.

    • Persistence:

      • Allows storing and retrieving graph states, enhancing robustness and user experience.

Reflection Agent
What are we building?
Project Setup
Ingestion
Creating the Reflector Chain and the Tweet Reviosr Chain
Defining our LangGraph Graph
LangSmith Tracing
Personal Message
Reflexion Agent
Actor Agent
Revisor Agent
Tool Executor Agent (Part A)
Tool Executor Agent (Part B)
Tool Executor Agent (Part C)
Building our LangGraph Graph
Implementing ReAct AgentExecutor with LangGraph
What are we building? ReAct AgentExecutor in LangGraph
Setup
ReAct Runnable
AgentState
Nodes
Graph
Advanced RAG Flows
What are Building In this Section- Advanced RAG Architecture

Corrective Retrieval-Augmented Generation, or CRAG is a strategy for Retrieval-Augmented Generation (RAG) that incorporates self-reflection and self-grading on retrieved documents. This innovative approach aims to enhance the relevance and accuracy of generated responses.

Flow of CRAG:

  1. Retrieve Documents: The process starts by retrieving relevant documents from a dataset.

  2. Evaluate Relevance: These documents are then evaluated for their relevance to the user question.

  3. Fallback Mechanism: If any documents are found irrelevant, a web search is used as a fallback to find more pertinent information.

  4. Dynamic Control Flow: Using LangGraph, we create a dynamic and adaptive workflow where each node in the graph modifies the state, and edges dictate the next steps based on relevance checks.

Inspiration and Refactoring:
This video series is inspired by the LangChain Mistral AI Cookbook Notebook. I took their example and made several refinements and refactoring to make it more suitable for production use. The refactoring focuses on improving readability, maintainability, and adding tests to ensure robust performance.

Reference:

  • LangChain Mistral AI Cookbook Notebook

  • https://github.com/mistralai/cookbook/blob/main/third_party/langchain/corrective_rag_mistral.ipynb

Code Structure
State
Retriever Node
Document Grader Node
Tavily Web Search Node
Augmentation Generation Node
Building & Running Graph
Self RAG Intro
Self RAG- Implementation

Adaptive-RAG
Is designed to efficiently manage computational resources while providing accurate and quick answers to user queries. This system dynamically chooses the best method for retrieval-augmented generation based on the complexity of the input question.

How Adaptive-RAG Works

Adaptive-RAG can switch between iterative, single-step, and no-retrieval methods based on how complex the question is. Unlike static methods that don't consider question complexity and may either use too much or too little computational power, Adaptive-RAG uses a smaller LLM classifier to predict the difficulty of the query and select the most efficient retrieval strategy accordingly.

Efficiency and Effectiveness

Adaptive-RAG is highly efficient and effective at balancing complex and simple queries. Its adaptability ensures each query is processed in the most suitable way, saving computational resources and improving user experience. This dynamic strategy selection allows for more accurate and up-to-date responses, which is crucial in a rapidly changing information landscape.


Persistence
Persistence in LangGraph
MemorySaver + Interrupts = Human In The Loop
MemorySaver
SqliteSaver
Run graph asynchronously

Implementing Parallel Execution

This video explains how to implement parallel execution in LangGraph, a Python library for graph-based workflows. Topics covered:

  1. Parallel node fan-out and fan-in

  2. Multi-step parallel processes

  3. Conditional branching in parallel workflows

  4. Stable sorting for consistent parallel execution results


Parallel node fan-out and fan-in with extra steps
Conditional Branching With Async Execution
Async Nodes Benefits VS Challenges
LangGraph Studio, LangGraph Cloud API, LangGraph Cloud
Intro

LangGraph Studio: Installation and Usage Guide


Summary

This guide introduces LangGraph Studio (also known as LangGraph IDE), a new beta tool from the LangChain team for debugging and visualizing LangGraph applications. It offers real-time node execution monitoring, state inspection, and supports rapid development iterations.


Key Features

  1. Real-time node execution monitoring

  2. State inspection before and after node execution

  3. Breakpoint setting

  4. Live updates reflecting code changes



Prerequisites

  • Mac computer with Apple Silicon (currently)

  • LangSmith account (free tier available)

  • Docker installed and running

Installation Steps

  1. Download the DMG file from the provided repository

  2. Drag the application to the Applications folder

  3. Run the application and log in with LangSmith credentials


Configuration

1. Create a `langraph.json` file with the following structure:

   ```json

   {

     "agent": {

       "path": "/graph/graph.py:app",

       "env": ".env",

       "dependencies": ["."]

     }

   }

   ```

2. Update `pyproject.toml` to include the graph package




Starting the Application

1. Open the project in LangGraph Studio

2. Wait for the Docker containers to load (including LangServe debugger and Postgres)


Interface Overview

- Left side: Visualization of the graph

- Top left: Display name of the graph (e.g., "agent")

- Input box: For entering the initial state (e.g., question)


Running and Debugging

1. Enter a question in the input field (e.g., "What is agent memory?")

2. Submit to run the graph

3. Observe real-time node execution

4. Inspect state at each node

5. Use the "fork" feature to modify execution (e.g., skipping web search)



How It Works

- Uses Docker containers for the debugger, Postgres database, and the LangGraph application

- Persists state after each node execution in the Postgres database


Benefits

- Shortens development lifecycle

- Enables quick iterations in LangGraph agent development

- Provides better visibility into LangGraph logic and application flow


Limitations

- Currently in beta

- Only supports Mac computers with Apple Silicon (as of the recording)


Future Prospects

- Expected support for other operating systems

- Integration with LangGraph Cloud for similar functionality in the cloud

LangGraph Local Setup and Deployment Guide


## Summary

This guide walks through the process of setting up and running a LangGraph application locally using the LangGraph CLI. It covers the necessary steps from configuring the environment to running the application in a Docker container.


## Outline


1. Accessing LangGraph Cloud Console

   - Navigate through LangSmith

   - Click on the rocket icon to access LangGraph cloud console


2. LangGraph JSON file

     - Contains environment variables

     - Specifies graph path

     - Lists dependencies


3. Local Setup Process

   - Install LangGraph CLI

   - Run `landgraph up` command


4. LangGraph CLI Commands

   - `langgraph help`: View available commands

   - `langgraph dockerfile`: Generate Dockerfile for LangGraph API server

   - `langgraph build`: Build Docker image

   - `langgraph up`: Create and run Docker container


5. Dockerfile Generation

   - Base image: Pre-built LangGraph API image

   - Includes necessary environment variables


7. Running the Application

   - Execute `landgraph up`

   - API accessible at localhost:8123

   - Documentation available at localhost:8123/docs


8. API Documentation

    - Automatically generated by LangChain

    - Accessible through provided URL


## Key Points

- LangGraph simplifies the process of setting up and running LLM-powered applications locally

- The LangGraph CLI provides easy-to-use commands for generating Dockerfiles, building images, and running containers

- The local setup includes both an API server and a Postgres database for state management

- Documentation is automatically generated, making it easier to understand and interact with the API


## Next Steps

- Explore the automatically generated API documentation

- Test the locally running LangGraph application


LangGraph Cloud API Video Summary and Outline


Summary

This video discusses the LangGraph Cloud API, created by LangChain to simplify the process of building and deploying LLM-powered applications.
The API provides endpoints for managing assistants, threads, runs, and cron jobs, automatically generated from a compiled graph.

We will explain the key components of the API, demonstrates how to use various endpoints, and highlights the benefits of using this system for developing and deploying AI applications.



Introduction to LangGraph Cloud API

  •    Created by LangChain and not open sourced

  •    Built with OpenAPI specification

  •    Automatically generated from compiled graph


Key Components of the API

  •    Assistants

  •    Threads

  •    Runs

  •    Cron jobs


Assistants

  • Definition: Abstraction of compiled graph instance

  • Creating an assistant

  • Required parameters: assistant ID, graph ID

  • Optional: configuration, metadata

  •   Retrieving assistant information


Threads

  • Definition: Container for accumulated state of multiple invocations

  • Sharing threads across assistants


Runs

  • Definition: Invocation of a graph with provided input

  • Creating a run

  • Required parameters: assistant ID, thread ID

  • Optional: checkpoint ID, configuration, metadata

  • Monitoring run status


Data Storage and Management

  • Local storage: PostgreSQL container

  • Production environment: LangGraph cloud offering


API Usage Demonstration

  • Creating an assistant

  • Retrieving assistant information

  • Creating a thread

  • Creating and monitoring a run

  • Retrieving thread information and results


Benefits of LangGraph Cloud API

  • Simplifies backend-frontend integration

  • Handles user management

  • Provides useful endpoints for LLM applications

  • Manages data storage and scalability


Advanced Features

  • Persistence and checkpoints

  • State management across executions

  • Filtering and tagging


Deployment Options

  •     Local development setup

  •     Cloud deployment (mentioned for next video)

Deploying to LangGraph Cloud
Agents in the real world, GPT Researcher
Agents In Production
LangGraph VS CrewAI main difference
GPT Researcher - Setup
GPT Researcher
GPT Researcher - Architecture
Multi Agent Architecture
Troubleshooting Section
Have a technical issue? WATCH THIS FIRST. I Promise this will help!
Bonus

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Guides learners through the concepts and techniques needed to create LLM applications using LangChain
This is not a beginner course. Proficiency in Python, Pycharm, LangChain and LLM fundamentals are expected
Leverages Pycharm IDE for debugging and running scripts
Assumes familiarity with software engineering principles and Python programming
Instructed by Eden Marco, an LLM specialist
Positions learners to develop cutting-edge LLM solutions

Save this course

Save LangGraph- Develop LLM powered agents with LangGraph 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 LangGraph- Develop LLM powered agents with LangGraph with these activities:
Review the LangChain documentation
Strengthen your understanding of the fundamental concepts underlying LangGraph by reviewing the LangChain documentation.
Show steps
  • Visit the LangChain documentation website.
  • Read through the tutorials and guides.
  • Reference the documentation as needed while working on LangGraph projects.
Seek guidance from experienced LangGraph developers
Accelerate your learning and troubleshooting efforts by connecting with mentors who have expertise in LangGraph.
Show steps
  • Identify potential mentors through online forums, social media, or professional networks.
  • Reach out to potential mentors and introduce yourself.
  • Set up a meeting or call to discuss your goals and interests.
  • Regularly connect with your mentor for guidance and support.
Attend a LangGraph community meetup or online event
Connect with other LangGraph users, learn about best practices, and stay updated on the latest developments in the community.
Show steps
  • Find a LangGraph community meetup or online event.
  • Register for the event.
  • Attend the event and actively participate in discussions.
  • Follow up with any connections made at the event.
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Attend a LangGraph Meetup
Provides an opportunity to connect with other LangGraph users.
Show steps
  • Find a LangGraph meetup in your area.
  • Attend the meetup and meet other LangGraph users.
  • Share your experiences with LangGraph.
Peer Study Group on LangGraph
Provides an opportunity to learn from and collaborate with other students.
Show steps
  • Find a few other students who are taking the same course.
  • Meet regularly to discuss the course material.
  • Work together on assignments and projects.
Follow a tutorial on LangGraph basics
Familiarize yourself with the core concepts and functionality of LangGraph by following a guided tutorial.
Show steps
  • Find a reputable tutorial or course on LangGraph.
  • Set aside dedicated time to work through the tutorial.
  • Follow the instructions and complete all exercises.
Project: Multi-Agent Reflection System
Sets up a good foundation for the course.
Show steps
  • Decide on the purpose and objective of the system.
  • Design the architecture of the system.
  • Implement the system using LangGraph.
  • Test and evaluate the system.
Practice: LangGraph Node Functions
Develops proficiency in writing LangGraph node functions.
Show steps
  • Create a new LangGraph project.
  • Write a simple LangGraph node function.
  • Test your node function using the LangGraph CLI.
Practice building simple LangGraph graphs
Reinforce your understanding of LangGraph syntax and graph construction by building and running simple graphs.
Show steps
  • Create a new LangGraph project.
  • Write a simple graph using nodes, edges, and state.
  • Run the graph and observe the results.
  • Experiment with different graph configurations.
  • Troubleshoot any errors or issues.
Tutorial: LangGraph Cloud API Overview
Provides a deeper understanding of the LangGraph Cloud API.
Show steps
  • Watch the tutorial video on the LangGraph Cloud API.
  • Read the LangGraph Cloud API documentation.
  • Try out the LangGraph Cloud API using a sample application.
Attend a LangGraph Workshop
Provides an opportunity to learn about LangGraph from experts.
Show steps
  • Find a LangGraph workshop in your area.
  • Attend the workshop and learn about LangGraph.
  • Ask questions and get feedback from the experts.
Share your knowledge by mentoring other LangGraph learners
Solidify your understanding of LangGraph while helping others learn and progress in their own journeys.
Show steps
  • Identify opportunities to mentor other LangGraph learners through online forums, social media, or local meetups.
  • Offer your assistance and guidance to those in need.
  • Create or contribute to tutorials, documentation, or other resources that can benefit the LangGraph community.
  • Provide feedback and support to other LangGraph developers.
Develop a LangGraph-based solution for a specific problem
Apply your LangGraph skills to solve a real-world problem by designing, implementing, and testing a LangGraph solution.
Show steps
  • Identify a problem or task that can be addressed with LangGraph.
  • Design a LangGraph-based solution.
  • Implement the solution in LangGraph.
  • Test and iterate on the solution.
  • Document and share your solution.
Deliverable: Presentation on LangGraph Ecosystem
Provides a comprehensive overview of the LangGraph ecosystem.
Show steps
  • Research the various components of the LangGraph ecosystem.
  • Create a presentation that explains the ecosystem.
  • Present your presentation to your classmates.

Career center

Learners who complete LangGraph- Develop LLM powered agents with LangGraph will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

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

Similar courses

Here are nine courses similar to LangGraph- Develop LLM powered agents with LangGraph.
LangChain- Develop LLM powered applications with LangChain
Most relevant
AI Agents in LangGraph
Most relevant
LlamaIndex- Develop LLM powered applications with...
Most relevant
AI-Agents: Automation & Business with LangChain & LLM Apps
Most relevant
LLM Mastery: ChatGPT, Gemini, Claude, Llama3, OpenAI &...
Most relevant
LlamaIndex: Train ChatGPT (& other LLMs) on Custom Data
Most relevant
Learn LangChain, Pinecone, OpenAI and Google's Gemini...
Open-source LLMs: Uncensored & secure AI locally with RAG
Gen AI - RAG Application Development using LlamaIndex
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 - 2024 OpenCourser