Computer science courses

About Computer science

Computer science, often referred to as "CS," is a broad term that covers many sub-disciplines, including the worlds of software *and* hardware. It can be found in every piece of technology you use, from a smartphone or gaming console to a car or ATM. With so many applications for Computer Science, there's a space for everyone!

Computer science courses

Filters140 results

Level

Type

Learn all the skills you need to land a new career in tech.
 
Learn all the concepts you need to gain a new technical skill.
 
Prepare and practice for top industry certifications.
 
Learn concepts used for specific languages or technologies.
 

Average time to complete

Average based on combined completion rates — individual pacing in lessons, projects, and quizzes may vary.
 
Most relevant
140 results
Most relevant
  • Learn the basics of Python 3.12, one of the most powerful, versatile, and in-demand programming languages today.
    • With Certificate
    • Beginner Friendly.
      23 hours
  • Dive into C++, a flexible and well-supported language that's still widely used now, over 40 years after its conception.
    • Beginner Friendly.
      4 hours
  • Learn about the command line, starting with navigating and manipulating the file system, and ending with redirection and configuring the environment.
    • With Certificate
    • Beginner Friendly.
      4 hours
  • Discover the power of this simple yet essential text-based tool and increase your productivity as a developer.
    • Beginner Friendly.
      1 hour
  • Learn about the basics of the C programming language, and write your first C program!
    • Beginner Friendly.
      < 1 hour
  • Learn C++ — a versatile programming language that’s important for developing software, games, databases, and more.
    • Beginner Friendly.
      11 hours
  • Learn to code in Java — a robust programming language used to create software, web and mobile apps, and more.
    • Beginner Friendly.
      17 hours
  • An introduction to the basic syntax and fundamentals of Python for experienced programmers.
    • Intermediate.
      3 hours
  • Learn how to store and manipulate your data with C variables and operators.
    • Beginner Friendly.
      2 hours
  • Take your first steps into the world of IT, or Information Technology! Introduction to IT will teach you about core IT subjects.
    • Beginner Friendly.
      3 hours
  • Dive into C#, a scalable programming language that is easy to read and maintain.
    • Beginner Friendly.
      4 hours
  • Hackers and cyber threats are a fact of today's modern, digital world. Everyone needs to be able to protect themselves from these threats.
    • Beginner Friendly.
      1 hour
  • References and pointers are some of the most powerful features in C++; they allow programmers to directly manipulate memory.
    • Beginner Friendly.
      1 hour
  • Learn how to make your C++ programs more efficient by automating repetitive tasks with loops.
    • Beginner Friendly.
      1 hour
  • Explore video game development, including game design, gameplay development, and asset creation.
    • Beginner Friendly.
      1 hour
  • Learn how to utilize one of the most popular programming paradigms - Object-Oriented Programming.
    • Intermediate.
      2 hours
  • Jump into PowerShell through interactive lessons on variables, operators, control flow, objects, arrays, and functions.
    • Beginner Friendly.
      6 hours
  • Learn about the C programming language in this beginner-friendly skill path.
    • Includes 6 Courses
    • With Certificate
    • Beginner Friendly.
      11 hours
  • Learn Microsoft's popular C# programming language, used to make websites, mobile apps, video games, VR, and more.
    • Beginner Friendly.
      17 hours
  • In this course, we will discuss the four basic principles of object-oriented programming and see how we can implement and use them in C++.
    • With Certificate
    • Intermediate.
      10 hours
  • Are you feeling confused about where to aim for with your career goals? Take this course to learn about different career options!
    • Beginner Friendly.
      < 1 hour
  • Learn the basics of the world's fastest growing and most popular programming language used by software engineers, analysts, data scientists, and machine learning engineers alike.
    • Beginner Friendly.
      17 hours
  • Ready to dive into the world of Generative AI? Learn how ChatGPT works, how to use ChatGPT in your everyday life, and how to write effective ChatGPT prompts.
    • Beginner Friendly.
      1 hour
  • Learn the basics of functional programming, concurrent programming, deployment, and more in this advanced Python course.
    • With Certificate
    • Advanced.
      6 hours
  • Use our beginner friendly Git course to integrate Git and GitHub and manage versions of your projects using Git branches.
    • With Certificate
    • Beginner Friendly.
      4 hours
  • Looking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!
    • Includes 6 Courses
    • With Professional Certification
    • Beginner Friendly.
      75 hours
  • Explore C# subclasses, classes, superclasses, and more in this introduction to object-oriented programming with C#.
    • Beginner Friendly.
      8 hours
  • Learn Intermediate Python 3 and practice leveraging Python’s unique features to build powerful, sophisticated applications.
    • With Certificate
    • Intermediate.
      20 hours
  • This course is for new programmers who aren't sure what they want to learn about. Take this course to jumpstart your learning journey!
    • Beginner Friendly.
      1 hour
  • Learn how to define scope, create reusable functions, and contain data types with structures in C.
    • Beginner Friendly.
      4 hours
  • Dive into the many forms of generative AI and learn how we can best use these new technologies!
    • Beginner Friendly.
      < 1 hour
  • Ready to learn how to use AI for coding? Learn how to use generative AI tools like ChatGPT to generate code and expedite your development.
    • Beginner Friendly.
      1 hour
  • Dive deeper into Java — one of the world’s most popular programming languages.
    • Intermediate.
      10 hours
  • Learn intermediate C++ concepts like variable scope, storage classes, OOP, namespaces, templates, enumerations, and more to build efficient applications.
    • With Certificate
    • Intermediate.
      20 hours
  • In this introductory course, we'll be getting familiar with Linux and how to navigate within a Linux environment!
    • With Certificate
    • Intermediate.
      4 hours
  • Learn to call and create methods: a fundamental building block in C# development.
    • Beginner Friendly.
      2 hours
  • Want to learn how to get started with programming in an interactive way? Try our drag and drop code lessons!
    • Beginner Friendly.
      2 hours
  • Learn intermediate C# concepts like inheritance, asynchronous programming, events, iterators, and more to build efficient applications.
    • With Certificate
    • Intermediate.
      24 hours
  • Learn how to use C pointers and proper memory management to make your programs more efficient.
    • Beginner Friendly.
      1 hour
  • Level up your C# skills by learning how to work with data using lists and LINQ queries.
    • Beginner Friendly.
      3 hours
  • Learn about operating systems by taking a deep dive into each of its main functionalities.
    • Beginner Friendly.
      2 hours
  • Learn about sets and set operations and their relevance to computer science.
    • Beginner Friendly.
      < 1 hour
  • Hone your coding skills by practicing with industry standard technical interview problems!
    • With Certificate
    • Intermediate.
      6 hours
  • Learn how to use C++ vectors, a great way to keep your data organized.
    • Beginner Friendly.
      1 hour
  • Learn about the rules, organization of components, and processes that allow computers to process instructions.
    • With Certificate
    • Intermediate.
      5 hours
  • Learn how to track changes in your code and switch between different versions with Git, an open-source version control system.
    • Beginner Friendly.
      1 hour
  • Explore set operations, proofs, recursion, and more in this introduction to discrete math — the math of computer science!
    • Intermediate.
      4 hours
  • Learn about the basics of Operating Systems and how they manage a computer’s hardware.
    • Beginner Friendly.
      < 1 hour
  • This course utilizes Project-Based Learning (PBL) to teach learners how to create Classes and Objects in Python.
    • Beginner Friendly.
      1 hour
  • Take your C++ skills to the next level by learning how to use using C++ functions to write more flexible, modular, reusable code.
    • Beginner Friendly.
      3 hours
  • Learn the basics of secure coding and how to have a secure coder mindset.
    • Beginner Friendly.
      < 1 hour
  • Level up your programming skills by learning how to use C loops and conditionals like `if` and `else`.
    • Beginner Friendly.
      2 hours
  • Learn how to use functional programming to create clean, efficient programs.
    • Advanced.
      2 hours
  • This course will introduce learners to factors to consider when picking a first language as well as describe some popular options.
    • Beginner Friendly.
      < 1 hour
  • Learn about Assembly languages and the role they play in computer architectures.
    • Beginner Friendly.
      1 hour
  • Learn about IO Hardware and Software and how they interact with your Operating System.
    • Beginner Friendly.
      < 1 hour
  • Learn how to use GitHub, a service that allows you to host and share your code.
    • Beginner Friendly.
      1 hour
  • Get a taste of regular expressions (regex), a powerful search pattern language to quickly find the text you're looking for.
    • Beginner Friendly.
      1 hour
  • Learn how to manage filesystems and manipulate directories from the command line.
    • Beginner Friendly.
      1 hour
  • Learn the basics of Raspberry Pi, the world-famous credit card sized computer, and the Linux operating system.
    • Beginner Friendly.
      2 hours
  • Learn advanced C++ programming with preprocessor directives, operator overloading, streams, and lambda expressions.
    • With Certificate
    • Advanced.
      6 hours
  • Sharpen your C++ skills by learning how to use C++ classes and objects to build more scalable, modular programs.
    • Beginner Friendly.
      1 hour
  • Dive into Raspberry Pi and get to know the power of this credit card-sized computer.
    • Beginner Friendly.
      < 1 hour
  • Learn how to configure your environment and set up your settings and preferences from the command line.
    • Beginner Friendly.
      1 hour
  • Learn about the computer science concepts of data structures and algorithms and build implementations of each from scratch in modern Python.
    • Includes 8 Courses
    • With Certificate
    • Intermediate.
      25 hours
  • Learn how to organize data and automate repetitive tasks with arrays and loops.
    • Beginner Friendly.
      3 hours
  • Explore OpenAI’s API and learn how to write more effective generative AI prompts that help improve your results.
    • Beginner Friendly.
      < 1 hour
  • Learn the basics of parallel and concurrent programming, servlets, and sockets in this advanced Java course.
    • With Certificate
    • Advanced.
      2 hours
  • Learn how to work with NoSQL databases and run basic CRUD operations in this introduction to MongoDB.
    • Beginner Friendly.
      5 hours
  • Learn how to use tries and binary indexed trees for efficient search implementations.
    • Advanced.
      1 hour
  • Learn how to control the flow of your program using logic and conditionals.
    • Beginner Friendly.
      2 hours
  • Take this course meant for experienced programmers and learn Java, one of the world's most popular languages.
    • Intermediate.
      1 hour
  • Learn about counting theory and its relevance to computer science, and dive into the pigeonhole principle.
    • Beginner Friendly.
      < 1 hour
  • Learn about permutations and combinations and their relevance to computer science.
    • Beginner Friendly.
      1 hour
  • Learn how to perform database operations in Python using the sqlite3 module.
    • Advanced.
      1 hour
  • Sharpen your programming skills by learning how to create, assess, and modify arrays and strings in C.
    • Beginner Friendly.
      2 hours
  • Learn about binary, octal, decimal, and hexadecimal bases and how to conduct conversions to and from each one.
    • Beginner Friendly.
      1 hour
  • Learn how to use logs in Python to help debug and track your software.
    • Advanced.
      1 hour
  • Learn about Bash scripting, a powerful way to combine Bash commands, and write Bash scripts to navigate through your operating system.
    • Intermediate.
      3 hours
  • Recursion gives you a new perspective on problem-solving by defining a problem in terms of itself.
    • With Certificate
    • Intermediate.
      3 hours
  • Learn how to create, merge, clone, and fetch Git branches to collaborate with other developers.
    • Beginner Friendly.
      1 hour
  • Dive into the world of developer tools with Python and VS Code! Learn how to set up, debug, and unit test your code in your own environment.
    • With Certificate
    • Advanced.
      2 hours
  • Learn about different types of errors in Java and practice finding them.
    • Beginner Friendly.
      < 1 hour
  • Learn to redirect input and output to and from files and programs.
    • Beginner Friendly.
      1 hour
  • Dive into Linux, a useful and lightweight operating system with a large impact on open-source technology.
    • Intermediate.
      1 hour
  • Learn about cache memory, and work with a simulation cache to understand how it functions.
    • Beginner Friendly.
      1 hour
  • A quick primer on the fundamentals of the Rust programming language for experienced programmers.
    • Intermediate.
      1 hour
  • Learn how to create more dynamic and efficient programs with specialized Python collections and set operations.
    • Intermediate.
      5 hours
  • Use the command line to discover more about the Linux operating system and the Raspberry Pi.
    • Beginner Friendly.
      1 hour
  • Learn about the computer science concepts of data structures and algorithms and build implementations from scratch in modern JavaScript.
    • Includes 8 Courses
    • With Certificate
    • Intermediate.
      13 hours
  • Dive deeper into the unique ways to utilize functions to create cleaner and more efficient software.
    • Intermediate.
      4 hours
  • Learn about the computer science concepts of data structures and algorithms and build implementations of each from scratch in modern Java.
    • Includes 8 Courses
    • With Certificate
    • Intermediate.
      19 hours
  • Learn about two powerful string searching methodologies: the Rabin-Karp algorithm and the Knuth-Morris-Pratt algorithm.
    • Advanced.
      3 hours
  • Learn about the basics of computer architecture and work with binary numbers and logic gates.
    • Beginner Friendly.
      2 hours
  • Learn advanced algorithms and data structures to improve your developer skills!
    • With Certificate
    • Advanced.
      6 hours
  • Dive into the dangerous world of AI phishing and learn how to protect yourself from attacks and misinformation.
    • With Certificate
    • Beginner Friendly.
      1 hour
  • Learn how to harness the power of Python context managers to make your programs more efficient and secure.
    • Intermediate.
      2 hours
  • Dive into generics and Collections in Java and see how they can help you write more advanced code.
    • Intermediate.
      3 hours
  • Learn about JUnit testing, Java's open-source testing framework.
    • Intermediate.
      1 hour
  • Learn how to use GitHub Pages to easily set up and publish your own websites.
    • Beginner Friendly.
      < 1 hour
  • Learn about sequences and summations and their relevance in computer science.
    • Beginner Friendly.
      < 1 hour
  • Learn how to create and implement your own iterators and generators in Python.
    • Intermediate.
      4 hours
  • Learn how to contribute to, create, and maintain open source projects!
    • Beginner Friendly.
      < 1 hour
  • Dive into the technology behind web3 and learn about the concepts behind Blockchain and Crypto!
    • Beginner Friendly.
      1 hour
  • Learn about LOLCODE, an esoteric programming language based on internet memes and cats!
    • Intermediate.
      1 hour
  • Learn to maintain a healthy codebase by creating unit tests using Python's built-in `unittest` framework.
    • Intermediate.
      4 hours
  • Learn the fundamentals of quantum computing and how it differs from classical computing in this introductory course.
    • Beginner Friendly.
      3 hours
  • Dive into the world of generative image-based-artificial intelligence (or AI) and learn how to use Midjourney!
    • Beginner Friendly.
      < 1 hour
  • Teach computers how to make decisions and play games with the Minimax Algorithm!
    • Advanced.
      2 hours
  • Dive deeper into the world of GitHub and learn about its more advanced features like Actions, Codespaces, and github.dev.
    • With Certificate
    • Intermediate.
      < 1 hour
  • Learn to optimize conversational AI with our OpenAI API Playground course. Discover system prompts, message history management, and AI customization.
    • Beginner Friendly.
      < 1 hour
  • Learn about regex, or regular expressions, and how to work with them in Java.
    • Intermediate.
      1 hour
  • Learn how to code for various electronic devices in this introduction to hardware programming with CircuitPython.
    • With Certificate
    • Beginner Friendly.
      2 hours
  • Discover and design new data structures that follow abstract rule-based systems by building out graphs, hash-maps, and heaps.
    • With Certificate
    • Intermediate.
      7 hours
  • Learn about Operating Systems and how to synchronize processes and handle memory management.
    • Beginner Friendly.
      1 hour
  • Learn how to use GitHub Copilot to streamline your workflow and development. This course provides an in-depth understanding of the AI-driven coding assistant.
    • Intermediate.
      < 1 hour
  • Unlock the power of references, an essential aspect of object-oriented programming in C#.
    • Beginner Friendly.
      3 hours
  • Learn how to maintain clean code, write better pull requests, and collaborate with the GitHub community.
    • Beginner Friendly.
      < 1 hour
  • Blend hardware and software with digital electronics and Raspberry Pi.
    • Beginner Friendly.
      1 hour
  • Learn beginner blockchain concepts and create your own mini blockchain using Python 3 code.
    • With Certificate
    • Beginner Friendly.
      2 hours
  • Learn how to verify theorems and dive into induction, strong induction, and other types of proofs.
    • Beginner Friendly.
      1 hour
  • Learn how to define users, manage user groups and privileges, and set permissions for files in Linux.
    • Intermediate.
      1 hour
  • Learn about the usefulness and efficiency of computational sorting by implementing different sorting algorithms yourself.
    • With Certificate
    • Intermediate.
      3 hours
  • Learn about threading and how it’s used in concurrent programs to improve the performance and efficiency of an application.
    • Intermediate.
      1 hour
  • Learn how to use concurrent programming to implement code more efficiently.
    • Advanced.
      2 hours
  • Learn about congruences, the procedures for solving them, and their relevance to cryptography.
    • Beginner Friendly.
      < 1 hour
  • 🍇 Learn about Emojicode, a programming language that consists of emojis! 🍉
    • Beginner Friendly.
      1 hour
  • Learn more about operating system processes, threading and multithreading, and process scheduling.
    • Beginner Friendly.
      1 hour
  • Learn about how your computer's hardware and software communicate using Instruction Set Architecture.
    • Beginner Friendly.
      1 hour
  • Dive into the world of developer tools with Java and VS Code! Learn how to set it up and then debug and unit test your code in your own environment.
    • With Certificate
    • Advanced.
      3 hours
  • Learn about Hamiltonian paths and cycles and how to find both in Python.
    • Advanced.
      < 1 hour
  • In this course, we’ll learn about Java’s Serializable interface and how serialization and deserialization work in Java.
    • Intermediate.
      2 hours
  • Learn how to process instructions efficiently and explore how to achieve higher data throughput with data-level parallelism.
    • Beginner Friendly.
      1 hour
  • This course shows how programmers can code a Java program that considers, interprets, and responds to input and output.
    • Intermediate.
      1 hour
  • Learn how to leverage the power of double-ended queues (deques) in Python.
    • Advanced.
      < 1 hour
  • Learn about nested classes, encapsulation, and shadowing in Java.
    • Intermediate.
      1 hour
  • Finding the data you are looking for in a data set is an important skill: get started with two common approaches.
    • With Certificate
    • Intermediate.
      2 hours
  • Learn about recurrence relations and dive deeper into recursion and dynamic programming.
    • Beginner Friendly.
      < 1 hour
  • Learn how operating systems use filesystems to structure, store, and manage data.
    • Beginner Friendly.
      < 1 hour
  • Learn about GitHub’s more advanced features, like personal access tokens, two-factor authentication, and enterprise managed users.
    • With Certificate
    • Intermediate.
      < 1 hour