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
Price
View plansType
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
Related resources
Related projects
- Practice projectC++ • Computer science
Task Manager
Test your knowledge of lambda functions by improving a task manager!More guidance, - Practice projectC++ • Computer science
Restaurant Database
Build a Restaurant Database System using C++ streams. In this project, you’ll create a menu-driven app that lets users add, view, save, and load restaurant data with dynamic menus, all while practicing file handling, input validation, and stream formatting.More guidance, - Practice projectC++ • Computer science
Master the Palette
Make an intuitive color mixing program using operator overloading!More guidance, - Practice projectC++ • Computer science
Digital Art Gallery
Build a Digital Art Gallery in C++ to learn constructors, dynamic memory management, and object-oriented design through managing artworks, exhibitions, and sales.More guidance,
Related articles
- Article
Depth-First Search (DFS) Algorithm Explained
Learn Depth-First Search (DFS) algorithm with step-by-step explanations, pseudocode, and Python examples in this complete, beginner-friendly guide. - Article
Installing Linux Using a Virtual Machine
Learn how to install Ubuntu, a Linux distribution, onto a virtual machine using VirtualBox. - Article
What is Transport Layer Security (TLS)? A Complete Guide
Learn what TLS (Transport Layer Security) is, how it works, and why it’s essential for internet security. Explore the TLS handshake, comparison with SSL, and best practices. - Article
Heapsort Explained: Algorithm, Implementation, and Complexity Analysis
Understand the fundamentals of Heapsort with this comprehensive guide. Explore its working mechanism, implementation, time complexity, advantages, and disadvantages.