We may earn an affiliate commission when you visit our partners.
Ahmad Mohey

[Update C# 8]

The next major version of C# is officially released which is C# 8.0. We were expecting it for quite some time, we had the chance to learn all the minor features and enhancements included in C# 7.1, 7.2 and 7.3, and I can say I am quite excited about the new capabilities Microsoft keep adding to C#.

In chapter 11 we will be discussing the new features and enhancements of C# 8 with easy to follow examples to make you understand what each feature is about.

Read more

[Update C# 8]

The next major version of C# is officially released which is C# 8.0. We were expecting it for quite some time, we had the chance to learn all the minor features and enhancements included in C# 7.1, 7.2 and 7.3, and I can say I am quite excited about the new capabilities Microsoft keep adding to C#.

In chapter 11 we will be discussing the new features and enhancements of C# 8 with easy to follow examples to make you understand what each feature is about.

Hello and welcome to The Complete C# and Object-Oriented Programming Course, The one and only course you will need to learn C# and object-oriented programming. This is more like a collection of many courses brought together to help you learn C# and how to use it efficiently. This course is by far the most comprehensive and effective on the market. Here's why:

  • The course will teach you almost everything you need to know regarding the powerful C# language.

  • This course start with you from zero experience in programming and starts to level up to the object-oriented programming till you reach the advanced concepts and topics of C# (Asynchronous Programming, LINQ,Generics, Collections, Delegates and more).

  • It will help you learn any programming languages other than C# later, because the course discusses almost every programming concepts and of course how to implement it in C#.

  • You will experience more than 200 examples, 30 exercises, 24 assignments and over 150 quiz questions.

  • You will learn about the new features in C# (7.1 - 7.2 - 7.3 and 8) like Enhanced tuples, out variables, local functions, expression bodied members, pattern matching and other more features.

  • This course will cover different encryption and decryption methods, plus explaining the theory of cryptography.

  • You will be very familiar with Visual Studio and many of its features like snippets and how to use them and even create custom snippets.

  • You will learn about real world staff like naming conventions, the small little differences between data types, terminologies, programming concepts and more.

  • Understand the advanced concepts such as multithreading, the synchronous and asynchronous programming.

  • Get familiar with the .Net framework structure and understand is the .Net framework

  • Learn the history of C# language and differences between each version of C#.

  • Learn how to work like professionals.

What other students who have taken this course say:

"I enjoyed the course. It's comprehensive and covers most of everything you'd want to know about C# and .NET. There's plenty of exercises and assignments in the course to help reinforce lessons. The course could be improved with the addition of a course project, but the instructor has assured that there will be another course forthcoming that will cover this. I recommend this course for anyone who wants to learn more about C# and the .NET framework."

"I am about 1/4 throught this course, and i have to say its brilliant. I have tried to learn how to program with many different languages using may different courses on udemy and have given up either because the course moved to fast or was to technical for me to understand. However this course is fantastic the material presented is very easy to digest and very informative while still engaging. So far i have learnt about using build in metods such as DateTime methods for my programs, creating and useing classes using inheritance, encapsulation and polymorphism. The course progresses on a nice incline in difficulty to test you on what you have just learnt and it has coding exercises, assignments and also quizes to test yourself with. The instructor is also very friendly and is quick to answer your questions with a good level of detail. I would recommend this course for anyone wanting to learn c# or learn how to program in general using c# as a first language."

"This course clearly covered the topics to understanding the language from a first-steps approach. I highly recommend to anyone who wishes to learn the language and requires a video tutorial with enough exercises. Thanks Ahmad"

"I've enrolled in countless other C# courses on UDEMY but always end up either getting bored or end up getting confused. In this course so far, the course has assignments which keep it fun for me, plus it cover all topics clearly to prevent me from getting confused. Thank You."

"The course is comprehensive and well explained, undoubtedly the author knows what he is talking about and is pretty experienced with this kind of topics.Examples were short enough to make obvious what each pattern is all about. Author points out issues in different approaches and provides a solution.Never seen these kind of explanations before...Overall I find this course excellent"

"Great course. The instructor has comprehensive knowledge about the C# language and is able to present the programming concepts and paradigms in a way that is easily understandable.The presentation is very detailed and concise which is greatly appreciated.I feel ready to implement the knowledge gained"

Students also said that this course was:

  • Comprehensive Curriculum

  • Friendly

  • Direct & To-the-point

Get ready to start a journey of 20+ hours of C#, 20+ hours will make you a C# guru. 

So what are you waiting for....let's start.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Install and work with visual studio 2019 (windows and mac)
  • Learn the fundamentals of programming using c# 7.2 and c# 8
  • Understand iaas, paas, saas and serverless
  • Work with azure functions
  • Working with nulls in c# 8
  • Working the new asynchronous streams
  • Understanding and working with positional patterns
  • Work with object-oriented programming (oop) as a professional.
  • Master the classes and understand the different types of classes (static, abstract, partial, sealed and more).
  • Learn the structures and enumerations and how to use them.
  • The differences between classes and structs.
  • Learn to encrypt and decrypt your data using c#.
  • Understand inheritance, encapsulation, polymorphism and abstraction.
  • Get familiar with composition, aggregation and association.
  • Understand the loops (for, foreach, while and more).
  • Master the powerful lambda expressions.
  • Understand anonymous methods and how to create them.
  • How to manipulate strings (replace, remove, insert, substring and more).
  • Read and write files easily with c#.
  • Build caesar cipher (encryption and decryption) yourself.
  • Learn how to create different types of methods.
  • The difference between static and non-static methods.
  • How to use recursive methods.
  • How to use the extension methods.
  • Understand the difference between pass by reference and pass by value.
  • How to use optional and named arguments.
  • Work with arrays including multidimensional arrays and jagged arrays.
  • Get familiar with the advanced concepts (multithreading, recursing, generics & many more).
  • Master the non-generics collections (arraylists, hashtables, stacks, queues and more).
  • Master the generics collections (list<t>, dictionary<k,v>, sortedlist<k,v> and more).
  • How to create generic classes, methods and arguments.
  • How to debug and find errors easily in your code.
  • Understand how stacks and queues work with real examples.
  • How to handle exceptions (exception handling).
  • How to use params keyword.
  • How to use stopwatch class.
  • Understand how older tuples and new enhanced tuples work.
  • Learn how to use nuget and install packages.
  • How to work with delegates and events.
  • Delegates vs direct methods call.
  • Work with func, action and predicate delegates.
  • Learn how to use timers in c#.
  • Make your application speaks using speechsynthesizer.
  • Dynamic and var keywords and differences between them.
  • How to use linq (language-integrated query).
  • How to check c# version and how to change it.
  • Understand what is synchronous programming.
  • Understand what is asynchronous programming.
  • Differences between synchronous and asynchronous programming.
  • Learn multi-threading theory and create multi-threaded applications.
  • Understand deadlocks and how to solve them.
  • Understand lock keyword, mutex, monitor and semaphores.
  • How to use tasks, manage them and even cancel them.
  • How to work with async and await keywords.
  • Understand what is serialization and deserialization and how to use them.
  • How to use attributes and create custom attributes.
  • Understand the preprocessor directives and how to use them.
  • Understand assemblies and versions.
  • Work efficiently and smoothly with visual studio 2017.
  • Work with comparison operators.
  • Learn how to create variables and convert their datatypes in different ways.
  • Understand how compilers work
  • Conditional statements (if and switch statements).
  • How to use datetime and timespan.
  • Understand the logical operators.
  • How to use arithmetic operators.
  • Dll files (dynamic link libraries), how and why we use them.
  • How to decompile dll files.
  • How to protect your dll files.
  • Building new switch expressions
  • Using tuple like patterns on switch statements
  • Using property patterns to match on properties
  • Working with new range operator
  • Using hat operator
  • Show more
  • Show less

Syllabus

Install visual studio, Hello World App, Programs with basic datatypes variables, Difference Between Compiler and Interpreters

Introduction to The Course.

Read more

Introduction to the chapter to present what we are going to discuss next.

In this important lecture we need to set a solid understanding of the different types of programming languages.

You need to learn another important concept in the world of computer science before you start learn more about programming...which is the compiler.

In this article you will see how compilers actually work in details.

C# is a very powerful programming language and can be used to deliver different types of applications, let us see what can you do with C#.

In this lecture you will be installing the latest edition of Visual Studio which is 2019 Preview For Window.

In this lecture you will be installing the latest edition of Visual Studio which is 2019 Preview For Mac.

Visual Studio 2019 Preview is out there, in this lecture we are going to check it out and create our first .Net Core console app.

Explaining what are variables and what are the common data types (integer, decimal, double, char, string).

How to work with string variables.

How to work with boolean (true or false) variables.

How to convert one type of data to another type in different ways.

How to use comments in different ways.

See how to use var keyword instead of all the data types.

Summing up what we have been discussing in this chapter.

The Fundamentals of C# Programming - Part 1 - Quiz

Dive deeper into integer datatypes, the limits and the sizes and more.

Explaining the difference between the double, float and decimal datatypes.

How to work with DateTime and display it in different formats and even custom formats.

Exercise No 01 - Test your knowledge of DateTime.  

Discuses the different error types such as Syntax Error and Run-time Error (Exceptions).

Explaining the different worldwide naming convention and why to use it.

Learn how to take inputs from the user using ReadLine method.

How to do basic arithmetic operations (addition, subtraction, multiplication, division and remainder) .

Exercise No 02 - Test your knowledge of arithmetic operators.

Learn the order in which operations are performed when an expression is evaluated.

Explaining how if and else statements work, to ask if a condition is proven true to apply some function or not.

Explaining how switch statement works, almost acting as an if statement but with a different technique.

How to do comparisons (equal, not equal, greater than, greater than or equal, less than and less than or equal).

Understand how logical operators (and, or and not) work, they typically used with Boolean values.

Combine many logical operators together to perform a real world scenario such as Username or Email and password scenario.

Exercise No 03 - Test your logical thinking with this exercise.

The Fundamentals of C# Programming - Part 2 - Quiz

Explaining how TryParse work and why it is safer than the direct Parse and also how to use the out keyword.

By using const keyword we can create variables that does not change over the life of the program.

If you got bored of the look of command prompt let's see how can we change background color, font size and font color.

How to use the powerful functions to manipulate a strings such as Trim, toUpper, toLower and Replace.

Continuing the manipulation of strings we are going to use Substring, remove, Insert, IndexOf and LastIndexOf.

Exercise No 04 - Test your knowledge of string functions.

Consisting of a backslash (\) followed by a letter or by a combination of digits are called "escape sequences." To represent a newline character, single quotation mark and many others.

String Interpolation is the way that placeholders in a string are replaced by the value of a string variable, it was introduced in c# 6.

Learn how to work with for loops, The for loop executes a block of statements repeatedly until the specified condition returns false.

Learn how to work with different looping technique the While and Do while.

Now we are going to see how to place a for loop inside another for loop, this technique called nested loops.

Exercise No 05 - Test your knowledge of loops.

Math class provide us with the common mathematical functions such as Ceiling, floor, round and truncate.

Continue exploring the Math class functions and properties in this lecture we have Max, min, pow, sqrt and PI.

In this lecture we are going to see how to generate random numbers something like dice maybe or any other example.

Arrays can stores a collection of elements of the same type, In this lecture we are going to see how to use arrays.

The Fundamentals of C# Programming - Part 3 - Quiz

Now it is time to explore the basic concepts of object-oriented programming.

A method is a code block that contains a series of statements. In this lecture we are going to see how to create methods in C#.

Continue our discussion about methods now let's see how can we add parameters and return a value from a method.

Exercise No 06 - Test your knowledge of basic methods.

Learn the difference between pass by reference vs pass by value (ref keyword and out keyword.

Learn the rules for creating methods with the same name.

Exercise No 07 - Test your knowledge of overloaded methods.

A class is a construct that enables you to create your own custom types by grouping together variables of other types, methods and events. A class is like a blueprint.

Constructors have the same name as the class or struct, and they usually initialize the data members of the new object.

In this lecture we are going to see how can we explore the different classes and structs through visual studio.

Explaining how can we use static methods and what is the need to use static methods.

The scope of a variable determines its visibility to the rest of a program.

The first of the four pillars of OOP which enables you to create new classes that reuse, extend, and modify the behavior that is defined in other classes.

Encapsulation is used to prevent or allow access to its members from outside classes using public, private, protected, internal modifiers.

Exercise No 08 - Test your knowledge of inheritance.

Polymorphism is often referred to as the third pillar of OOP, after encapsulation and inheritance, Polymorphism is a Greek word that means "many-shaped".

Applying the concept of abstraction by making classes not associated with any specific instance.

Exercise No 09 - Test your knowledge of object-oriented programming.

#region lets you specify a block of code that you can expand or collapse when using the outlining feature of the Visual Studio.

Object-oriented Programming in C# - Part 1 - Quiz

Sealed modifier prevents other classes from inheriting from it.

Static class cannot be instantiated. You cannot use the new keyword to create instances. you access the members of a static class by using the class name itself.

A type defined within a class or struct is called a nested type.

It is possible to split the definition of a class over two or more source files. Each source file contains a section of the type or method definition, and all parts are combined when the application is compiled.

Namespaces are used to provide a "named space" in which your application resides. They're used especially to provide the C# compiler a context for all the named information in your program, such as variable names.

Struct is a value type that is typically used to encapsulate small groups of related variables, such as the coordinates of a rectangle or the characteristics of an item in an inventory.

In this lecture we are going to see the differences between classes and structs.

The enum keyword is used to declare an enumeration, a distinct type that consists of a set of named constants called the enumerator list.

Exercise No 10 

The this keyword refers to the current instance of the class.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Starts with zero experience in programming and levels up to object-oriented programming, which builds a strong foundation for those new to C#
Covers new features in C# (7.1 - 7.2 - 7.3 and 8) like enhanced tuples and pattern matching, which may be useful for developers looking to update their skills
Explores encryption and decryption methods, plus explaining the theory of cryptography, which is highly relevant for building secure applications
Requires Visual Studio 2019, which may require learners to update their current IDE if they are using older versions
Teaches Visual Studio features, which may not be relevant to learners who prefer other IDEs or text editors
Covers .NET Framework, which is still widely used but is increasingly being replaced by .NET Core and later versions

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comprehensive c# and oop for beginners

According to learners, this course offers a comprehensive and well-explained curriculum covering C# and Object-Oriented Programming from the ground up to advanced concepts. Many students found the material easy to digest and engaging, even those who struggled with programming courses previously. Reviewers consistently praise the abundance of exercises, assignments, and quizzes which effectively reinforce lessons. The instructor is frequently mentioned for his clear explanations and responsive help. While the course provides a solid foundation, some note the current version lacks a large, capstone project, though the instructor indicates plans for a future course covering this aspect. Overall, students feel well-prepared to implement the knowledge gained.
Could benefit from a larger project.
"The course could be improved with the addition of a course project, but the instructor has assured that there will be another course forthcoming that will cover this."
"I thought the course could be improved with a course project."
Reinforces learning with practice.
"There's plenty of exercises and assignments in the course to help reinforce lessons."
"it has coding exercises, assignments and also quizes to test yourself with."
"In this course so far, the course has assignments which keep it fun for me..."
Material is easy to follow for beginners.
"the material presented is very easy to digest and very informative while still engaging."
"I have tried... and have given up either because the course moved to fast or was to technical for me... However this course is fantastic..."
"This course clearly covered the topics to understanding the language from a first-steps approach."
Covers C# and OOP thoroughly.
"It's comprehensive and covers most of everything you'd want to know about C# and .NET."
"The course will teach you almost everything you need to know regarding the powerful C# language."
"This course clearly covered the topics to understanding the language from a first-steps approach."
"I enjoyed the course. It's comprehensive and covers most of everything you'd want to know about C# and .NET."
Instructor explains concepts well.
"The instructor... is able to present the programming concepts and paradigms in a way that is easily understandable."
"The presentation is very detailed and concise which is greatly appreciated."
"The course is comprehensive and well explained, undoubtedly the author knows what he is talking about..."
"The course is comprehensive and well explained, undoubtedly the author knows what he is talking about and is pretty experienced..."

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 The Complete C# and Object-Oriented Programming Course with these activities:
Review Basic C# Syntax
Reinforce your understanding of fundamental C# syntax, including variable declarations, data types, and operators, to ensure a solid foundation for the course.
Show steps
  • Review C# syntax documentation.
  • Complete online C# syntax quizzes.
  • Write small C# programs to practice syntax.
Create a C# Cheat Sheet
Improve your recall of C# syntax and concepts by compiling a cheat sheet of key language elements, such as keywords, operators, and common methods.
Show steps
  • Review course materials and documentation.
  • Identify key C# language elements.
  • Organize elements into a cheat sheet format.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Deepen your understanding of C# 8.0 and .NET Core 3.0, which are central to the course, by reading this comprehensive guide.
Show steps
  • Read the chapters relevant to the course syllabus.
  • Work through the code examples provided in the book.
  • Take notes on key concepts and techniques.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a C# Code Snippet Library
Reinforce your understanding of C# by creating a library of reusable code snippets for common tasks, such as string manipulation, file I/O, and data structure operations.
Show steps
  • Identify common C# tasks.
  • Write code snippets for each task.
  • Organize snippets into a library with documentation.
Practice Object-Oriented Programming Exercises
Solidify your understanding of object-oriented programming (OOP) principles by completing a series of coding exercises focused on classes, inheritance, polymorphism, and abstraction.
Show steps
  • Find OOP exercises on coding platforms.
  • Implement solutions to the exercises.
  • Review and refactor your code for clarity.
Review 'CLR via C#'
Gain a deeper understanding of the .NET CLR, which underlies C#, by studying this advanced text.
Show steps
  • Read chapters on memory management and garbage collection.
  • Study the sections on assembly loading and execution.
  • Take notes on key CLR concepts.
Build a Simple C# Application
Apply your C# knowledge by building a simple application, such as a console-based calculator or a text-based adventure game, to gain practical experience.
Show steps
  • Choose a simple application to build.
  • Design the application's architecture.
  • Implement the application in C#.
  • Test and debug the application.

Career center

Learners who complete The Complete C# and Object-Oriented Programming Course will develop knowledge and skills that may be useful to these careers:
Software Developer
A software developer designs, develops, and tests software applications. This course is a strong starting point for anyone interested in becoming a software developer using C#. The course begins with zero experience in programming and levels up to object oriented programming, till you reach the advanced concepts and topics of C#. The course also covers newer versions of C#, which is relevant to newer applications that a software developer must be aware of. With its explanations of Visual Studio, a popular integrated development environment, the course helps build a foundation for a career as a proficient software developer.
C# Developer
A C# developer specializes in creating applications using the C# programming language. This course directly aligns with the core responsibilities of a C# developer. It teaches almost everything regarding the powerful C# language. Object oriented programming is examined. This course even explores the new features in later versions of C# like enhanced tuples, out variables, local functions, and pattern matching. As a C# developer, this course helps to get you up to speed with the language.
Software Engineer
A software engineer applies engineering principles to the design, development, and testing of software systems. This course builds a foundation in C# and object-oriented programming. It will help software engineers understand and implement key concepts like multithreading, generics, and asynchronous programming. This course will help software engineers learn to work like professionals. The course also helps software engineers get familiar with the .Net framework structure and understand the .Net framework.
Application Developer
An application developer creates software applications for computers and other devices. This course directly contributes by focusing on the fundamentals of programming using C#. It then progresses to advanced concepts, like asynchronous programming, LINQ, and generics. Application developers need expertise in areas like file manipulation, exception handling, and debugging, all of which are covered in this course. The course will help application developers learn to work like professionals.
Game Developer
A game developer creates video games for various platforms. This course may be helpful for aspiring game developers, particularly those interested in using C# with game engines like Unity. The course provides a complete overview of the C# language, along with object oriented programming principles. It will help any game developer to learn any programming languages other than C# later, because the course discusses almost every programming concepts and of course how to implement it in C#.
Web Developer
A web developer builds and maintains websites and web applications. While this course focuses on C# and object-oriented programming, it may be useful to web developers who work with the .NET framework. A web developer will benefit from the advanced concepts covered in this course, such as asynchronous programming and LINQ. The course will teach you almost everything you need to know regarding the powerful C# language, so one with web development knowledge can easily pick up C# web development.
Automation Engineer
An automation engineer designs and implements automated systems. This course may be useful for automation engineers who use C# to develop custom automation tools or scripts. They use C# to build tools for controlling hardware, processing data, and automating tasks, and this course will teach them almost everything they need to know regarding the powerful C# language. With its coverage of topics like multithreading and file manipulation, this provides a base for automation.
Database Programmer
A database programmer designs and implements databases and database systems. This course may be useful for database programmers who work with C# to interact with databases. It will help them write stored procedures, triggers, and user-defined functions, and this course will teach them almost everything they need to know regarding the powerful C# language. With its coverage of topics like LINQ and exception handling, this course may help build confidence in database programming.
Mobile App Developer
A mobile app developer creates applications for mobile devices such as smartphones and tablets. This course may be useful for aspiring mobile app developers, particularly those interested in using C# with platforms like Xamarin. C# skills are transferrable across platforms, and it may help mobile application developers to learn any programming languages other than C# later, because the course discusses almost every programming concepts.
Data Scientist
A data scientist analyzes and interprets complex data to help organizations make better decisions. Data scientists may use C# for data processing, analysis, and visualization tasks. The course starts with zero experience in programming and levels up to the object oriented programming till you reach the advanced concepts and topics of C#. With its coverage of topics like LINQ, and generics, the course may contribute to a data scientist's skill set.
Quality Assurance Engineer
A quality assurance engineer tests software to ensure it meets quality standards and functions correctly. This course may be useful for quality assurance engineers who use C# to write automated tests or build test tools. C# is a great language for test automation, and it may help with learning other programming languages later, because the course discusses almost every programming concepts. With its coverage of topics like debugging and exception handling, this course aids in the role.
DevOps Engineer
A devops engineer combines software development and IT operations to streamline the software development lifecycle. A devops engineer may use C# to automate tasks related to software deployment, monitoring, and infrastructure management. The course covers many programming concepts and of course how to implement it in C#. With its coverage of topics like multithreading and asynchronous programming, this course may contribute to a devops engineer's skill set.
Embedded Systems Engineer
An embedded systems engineer designs and develops software for embedded systems. This course may be useful to embedded systems engineers who use C# to program microcontrollers or other embedded devices. The course will teach you almost everything you need to know regarding the powerful C# language, and it may help with learning other programming languages later, because the course discusses almost every programming concepts. The course is a good starting point for anyone interested in embedded systems.
Academic Researcher
Academic researchers conduct research in computer science and related fields, often at universities or research institutions. While a career as an academic researcher typically requires a doctoral degree, this course may be useful for researchers who use C# in their research projects to implement algorithms or analyze data. It will help you learn any programming languages other than C# later, because the course discusses almost every programming concepts and of course how to implement it in C#.
Technical Writer
A technical writer creates documentation for software, hardware, and other technical products. While this course does not directly focus on technical writing, it may be helpful for technical writers who need to understand C# to document C# code or software applications. With its coverage of C# syntax, object-oriented programming concepts, and advanced topics, this course may contribute to a technical writer's understanding of this technology.

Reading list

We've selected two 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 The Complete C# and Object-Oriented Programming Course.
Provides a comprehensive guide to C# 8.0 and .NET Core 3.0, covering the latest features and best practices for cross-platform development. It is particularly useful for understanding the new features introduced in C# 8, which are covered in the course. This book serves as both a reference and a learning tool, offering practical examples and in-depth explanations. It is commonly used by both students and professionals.
Delves into the inner workings of the Common Language Runtime (CLR), providing a deep understanding of how C# code is executed. It is highly valuable as additional reading for those seeking a more profound knowledge of the .NET framework. While not a prerequisite, it offers insights into memory management, garbage collection, and other low-level details. This book is often recommended for advanced C# developers.

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