Computer Science Courses & Tutorials | Codecademy (2024)

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!

Related resources

  • Docs: PythonC++Java
  • Cheatsheets
  • Articles
  • Projects

Related resources

  • Docs: PythonC++Java
  • Cheatsheets
  • Articles
  • Projects

New to Computer Science? Start here

CourseLearn Python 3Learn the basics of Python 3, one of the most powerful, versatile, and in-demand programming languages today.Checker DenseWith CertificateChecker DenseBeginner Friendly25 hours
Blog PostWhat is Computer Science?21 October 2022
CourseLearn Python 3Learn the basics of Python 3, one of the most powerful, versatile, and in-demand programming languages today.Checker DenseWith CertificateChecker DenseBeginner Friendly25 hours
Blog PostWhat is Computer Science?21 October 2022

Computer Science courses

129 results

Filters

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.

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.

Projects

Solidify the concepts you are learning with guidance.

Put your skills to work to build something on your own.

Computer Science courses

129 results

  • Career pathComputer ScienceLooking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!Checker DenseIncludes 6 CoursesChecker DenseWith Professional CertificationChecker DenseBeginner Friendly80 hours
  • Skill pathPass the Technical Interview with JavaScriptLearn about the computer science concepts of data structures and algorithms and build implementations from scratch in modern JavaScript.Checker DenseIncludes 8 CoursesChecker DenseWith CertificateChecker DenseIntermediate12 hours
  • Skill pathPass the Technical Interview with JavaLearn about the computer science concepts of data structures and algorithms and build implementations of each from scratch in modern Java.Checker DenseIncludes 8 CoursesChecker DenseWith CertificateChecker DenseIntermediate19 hours
  • Skill pathPass the Technical Interview with PythonLearn about the computer science concepts of data structures and algorithms and build implementations of each from scratch in modern Python.Checker DenseIncludes 8 CoursesChecker DenseWith CertificateChecker DenseIntermediate25 hours
  • Skill pathLearn CLearn about the C programming language in this beginner-friendly skill path.Checker DenseIncludes 6 CoursesChecker DenseWith CertificateChecker DenseBeginner Friendly10 hours
  • CourseLearn Python 3Learn the basics of Python 3, one of the most powerful, versatile, and in-demand programming languages today.Checker DenseWith CertificateChecker DenseBeginner Friendly25 hours
  • Free courseLearn JavaLearn to code in Java — a robust programming language used to create software, web and mobile apps, and more. Checker DenseBeginner Friendly16 hours
  • Free courseLearn C++Learn C++ — a versatile programming language that’s important for developing software, games, databases, and more.Checker DenseBeginner Friendly11 hours
  • Free courseLearn Python 2Learn 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.Checker DenseBeginner Friendly17 hours
  • Free courseLearn C#Learn Microsoft's popular C# programming language, used to make websites, mobile apps, video games, VR, and more.Checker DenseBeginner Friendly20 hours
  • Free courseIntroduction to Game DevelopmentExplore video game development, including game design, gameplay development, and asset creation. Checker DenseBeginner Friendly1 hour
  • Free courseLearn to Code with BlocklyWant to learn how to get started with programming in an interactive way? Try our drag and drop code lessons!Checker DenseBeginner Friendly1 hour
  • CourseLearn Intermediate Python 3Learn Intermediate Python 3 and practice leveraging Python’s unique features to build powerful, sophisticated applications.Checker DenseWith CertificateChecker DenseIntermediate19 hours
  • Free courseLearn C: IntroductionLearn about the basics of the C programming language, and write your first C program!Checker DenseBeginner Friendly< 1 hour
  • CourseLearn the Command LineLearn about the command line, starting with navigating and manipulating the file system, and ending with redirection and configuring the envChecker DenseWith CertificateChecker DenseBeginner Friendly4 hours
  • Free coursePython for ProgrammersAn introduction to the basic syntax and fundamentals of Python for experienced programmers.Checker DenseIntermediate3 hours
  • Free courseChoosing a Career in TechAre you feeling confused about where to aim for with your career goals? Take this course to learn about different career options!Checker DenseBeginner Friendly< 1 hour
  • Free courseLearn PowerShellJump into PowerShell through interactive lessons on variables, operators, control flow, objects, arrays, and functions.Checker DenseBeginner Friendly6 hours
  • Free courseIntro to Generative AIDive into the many forms of generative AI and learn how we can best use these new technologies!Checker DenseBeginner Friendly< 1 hour
  • Free courseLearn Intermediate JavaDive deeper into Java — one of the world’s most popular programming languages.Checker DenseIntermediate10 hours
  • Free courseLearn C++: IntroductionDive into C++, a flexible and well-supported language that's still widely used now, over 40 years after its conception.Checker DenseBeginner Friendly4 hours
  • Free courseLearn C#: IntroductionDive into C#, a scalable programming language that is easy to read and maintain.Checker DenseBeginner Friendly5 hours
  • Free courseLearn How to Use ChatGPTReady 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.Checker DenseBeginner Friendly1 hour
  • Free courseLearn C: Pointers and MemoryLearn how to use C pointers and proper memory management to make your programs more efficient.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Python 3: Object-Oriented ProgrammingLearn how to utilize one of the most popular programming paradigms - Object-Oriented Programming.Checker DenseIntermediate2 hours
  • Free courseLearn How to Use AI for CodingReady to learn how to use AI for coding? Learn how to use generative AI tools like ChatGPT to generate code and expedite your development.Checker DenseBeginner Friendly1 hour
  • Free courseIntroduction to ITTake your first steps into the world of IT, or Information Technology! Introduction to IT will teach you about core IT subjects.Checker DenseBeginner Friendly3 hours
  • Free courseLearn C: Variables and OperatorsLearn how to store and manipulate your data with C variables and operators.Checker DenseBeginner Friendly2 hours
  • Free courseLearn Git: IntroductionLearn how to track changes in your code and switch between different versions with Git, an open-source version control system.Checker DenseBeginner Friendly1 hour
  • Free courseLearn MongoDBLearn how to work with NoSQL databases and run basic CRUD operations in this introduction to MongoDB.Checker DenseBeginner Friendly5 hours
  • Free courseChoosing a Programming LanguageThis course will introduce learners to factors to consider when picking a first language as well as describe some popular options.Checker DenseBeginner Friendly< 1 hour
  • Free courseIntro to the Command LineDiscover the power of this simple yet essential text-based tool and increase your productivity as a developer.Checker DenseBeginner Friendly1 hour
  • CourseIntroduction to LinuxIn this introductory course, we'll be getting familiar with Linux and how to navigate within a Linux environment!Checker DenseWith CertificateChecker DenseIntermediate4 hours
  • Free courseComputer Architecture: Assembly LanguageLearn about Assembly languages and the role they play in computer architectures.Checker DenseBeginner Friendly1 hour
  • Free courseLearn C++: Classes and ObjectsSharpen your C++ skills by learning how to use C++ classes and objects to build more scalable, modular programs.Checker DenseBeginner Friendly1 hour
  • Free courseLearn C: Conditionals and LoopsLevel up your programming skills by learning how to use C loops and conditionals like `if` and `else`.Checker DenseBeginner Friendly2 hours
  • Free courseLearn C: Functions and StructuresLearn how to define scope, create reusable functions, and contain data types with structures in C.Checker DenseBeginner Friendly3 hours
  • Free courseLearn C: Arrays and StringsSharpen your programming skills by learning how to create, assess, and modify arrays and strings in C.Checker DenseBeginner Friendly2 hours
  • Free courseIntroduction to Linux: Bash ScriptingLearn about Bash scripting, a powerful way to combine Bash commands, and write Bash scripts to navigate through your operating system.Checker DenseIntermediate3 hours
  • Free courseFundamentals of Operating SystemsLearn about operating systems by taking a deep dive into each of its main functionalities.Checker DenseBeginner Friendly2 hours
  • Free courseJava for ProgrammersTake this course meant for experienced programmers and learn Java, one of the world's most popular languages.Checker DenseIntermediate2 hours
  • Free courseLearn Intermediate Java: ThreadingLearn about threading and how it’s used in concurrent programs to improve the performance and efficiency of an application.Checker DenseIntermediate1 hour
  • Free courseDiscrete MathExplore set operations, proofs, recursion, and more in this introduction to discrete math — the math of computer science!Checker DenseIntermediate5 hours
  • Free courseLearn C#: Classes, Objects, Interfaces, and InheritanceExplore C# subclasses, classes, superclasses, and more in this introduction to object-oriented programming with C#.Checker DenseBeginner Friendly5 hours
  • Free courseIntroduction to Personal Digital SecurityHackers and cyber threats are a fact of today's modern, digital world. Everyone needs to be able to protect themselves from these threats.Checker DenseBeginner Friendly1 hour
  • Free courseLearn the Basics of Regular ExpressionsGet a taste of regular expressions (regex), a powerful search pattern language to quickly find the text you're looking for.Checker DenseBeginner Friendly1 hour
  • CourseLearn Advanced Python 3Learn the basics of functional programming, concurrent programming, deployment, and more in this advanced Python course.Checker DenseWith CertificateChecker DenseAdvanced6 hours
  • Free courseLearn C++: References and PointersReferences and pointers are some of the most powerful features in C++; they allow programmers to directly manipulate memory.Checker DenseBeginner Friendly1 hour
  • Free courseLearn the Command Line: Viewing and Changing the File SystemLearn how to manage filesystems and manipulate directories from the command line.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Java: SerializationIn this course, we’ll learn about Java’s Serializable interface and how serialization and deserialization work in Java. Checker DenseIntermediate2 hours
  • Free courseLearn C++: LoopsLearn how to make your C++ programs more efficient by automating repetitive tasks with loops.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Python 3: Exceptions and Unit TestingLearn to maintain a healthy codebase by creating unit tests using Python's built-in `unittest` framework.Checker DenseIntermediate3 hours
  • Free courseLearn C++: VectorsLearn how to use C++ vectors, a great way to keep your data organized.Checker DenseBeginner Friendly1 hour
  • Free courseIntro to OpenAI APIExplore OpenAI’s API and learn how to write more effective generative AI prompts that help improve your results.Checker DenseBeginner Friendly< 1 hour
  • Free courseRust for ProgrammersA quick primer on the fundamentals of the Rust programming language for experienced programmers.Checker DenseIntermediate1 hour
  • Free courseLearn the Command Line: Redirecting Input and OutputLearn to redirect input and output to and from files and programs.Checker DenseBeginner Friendly1 hour
  • Free courseLearn C++: FunctionsTake your C++ skills to the next level by learning how to use using C++ functions to write more flexible, modular, reusable code.Checker DenseBeginner Friendly3 hours
  • Free courseLearn C#: Lists and LINQLevel up your C# skills by learning how to work with data using lists and LINQ queries.Checker DenseBeginner Friendly2 hours
  • Free courseLearn the Basics of Programming with CodecademyThis course is for new programmers who aren't sure what they want to learn about. Take this course to jumpstart your learning journey!Checker DenseBeginner Friendly1 hour
  • Free courseLearn the Command Line: Configuring the EnvironmentLearn how to configure your environment and set up your settings and preferences from the command line.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Emojicode🍇 Learn about Emojicode, a programming language that consists of emojis! 🍉Checker DenseBeginner Friendly1 hour
  • Free courseIntroduction to Blockchain and CryptoDive into the technology behind web3 and learn about the concepts behind Blockchain and Crypto!Checker DenseBeginner Friendly1 hour
  • Free courseLearn Git: Branching and CollaborationLearn how to create, merge, clone, and fetch Git branches to collaborate with other developers.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Python 3: Functions, Namespaces, and ScopeDive deeper into the unique ways to utilize functions to create cleaner and more efficient software.Checker DenseIntermediate4 hours
  • CourseDefending Against AI-Generated AttacksDive into the dangerous world of AI phishing and learn how to protect yourself from attacks and misinformation.Checker DenseWith CertificateChecker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Java: JUnit TestingLearn about JUnit testing, Java's open-source testing framework. Checker DenseIntermediate1 hour
  • Free courseLearn Raspberry PiLearn the basics of Raspberry Pi, the world-famous credit card sized computer, and the Linux operating system.Checker DenseBeginner Friendly2 hours
  • Free courseLearn Intermediate Java: Generics and CollectionsDive into generics and Collections in Java and see how they can help you write more advanced code. Checker DenseIntermediate3 hours
  • Free courseMachine Learning: Artificial Intelligence Decision Making with MinimaxTeach computers how to make decisions and play games with the Minimax Algorithm!Checker DenseAdvanced2 hours
  • Free courseLearn Advanced Python 3: Functional ProgrammingLearn how to use functional programming to create clean, efficient programs.Checker DenseAdvanced2 hours
  • Free courseLearn C#: Arrays and LoopsLearn how to organize data and automate repetitive tasks with arrays and loops.Checker DenseBeginner Friendly3 hours
  • Free courseLearn Java: DebuggingLearn about different types of errors in Java and practice finding them.Checker DenseBeginner Friendly< 1 hour
  • CourseTechnical Interview Practice with PythonHone your coding skills by practicing with industry standard technical interview problems!Checker DenseWith CertificateChecker DenseIntermediate6 hours
  • Free courseLearn C#: MethodsLearn to call and create methods: a fundamental building block in C# development.Checker DenseBeginner Friendly3 hours
  • Free courseComputer Architecture: IntroductionLearn about the basics of computer architecture and work with binary numbers and logic gates.Checker DenseBeginner Friendly2 hours
  • CourseLearn the Basics of Blockchain with PythonLearn beginner blockchain concepts and create your own mini blockchain using Python 3 code.Checker DenseWith CertificateChecker DenseBeginner Friendly2 hours
  • Free courseLearn Raspberry Pi: Command LineUse the command line to discover more about the Linux operating system and the Raspberry Pi.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Advanced Python 3: ConcurrencyLearn how to use concurrent programming to implement code more efficiently.Checker DenseAdvanced1 hour
  • CourseLearn Advanced JavaLearn the basics of parallel and concurrent programming, servlets, and sockets in this advanced Java course.Checker DenseWith CertificateChecker DenseAdvanced2 hours
  • Free courseLearn GitHub: IntroductionLearn how to use GitHub, a service that allows you to host and share your code.Checker DenseBeginner Friendly1 hour
  • CourseComputer ArchitectureLearn about the rules, organization of components, and processes that allow computers to process instructions.Checker DenseWith CertificateChecker DenseIntermediate5 hours
  • Free courseLearn Intermediate Python 3: Iterators and GeneratorsLearn how to create and implement your own iterators and generators in Python.Checker DenseIntermediate4 hours
  • Free courseLearn Intermediate Java: Input and OutputThis course shows how programmers can code a Java program that considers, interprets, and responds to input and output.Checker DenseIntermediate1 hour
  • Free courseIntroduction to Linux: Users and PermissionsLearn how to define users, manage user groups and privileges, and set permissions for files in Linux.Checker DenseIntermediate1 hour
  • Free courseLearn GitHub: Best PracticesLearn how to maintain clean code, write better pull requests, and collaborate with the GitHub community.Checker DenseBeginner Friendly< 1 hour
  • CourseLearn Advanced Algorithms and Data Structures with PythonLearn advanced algorithms and data structures to improve your developer skills!Checker DenseWith CertificateChecker DenseAdvanced6 hours
  • Free courseIntro to MidjourneyDive into the world of generative image-based-artificial intelligence (or AI) and learn how to use Midjourney!Checker DenseBeginner Friendly< 1 hour
  • Free courseLearn Advanced Python 3: Database OperationsLearn how to perform database operations in Python using the sqlite3 module.Checker DenseAdvanced1 hour
  • CourseLearn Recursion with PythonRecursion gives you a new perspective on problem-solving by defining a problem in terms of itself.Checker DenseWith CertificateChecker DenseIntermediate3 hours
  • Free courseLearn C#: ReferencesUnlock the power of references, an essential aspect of object-oriented programming in C#.Checker DenseBeginner Friendly2 hours
  • Free courseLearn Raspberry Pi: Electronics Blend hardware and software with digital electronics and Raspberry Pi. Checker DenseBeginner Friendly1 hour
  • Free courseComputer Architecture: Instruction Set ArchitectureLearn about how your computer's hardware and software communicate using Instruction Set Architecture.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Python 3: Sets and Specialized CollectionsLearn how to create more dynamic and efficient programs with specialized Python collections and set operations.Checker DenseIntermediate4 hours
  • Free courseLearn Advanced Python 3: LoggingLearn how to use logs in Python to help debug and track your software.Checker DenseAdvanced1 hour
  • Free courseLearn Intermediate Python 3: Resource ManagementLearn how to harness the power of Python context managers to make your programs more efficient and secure.Checker DenseIntermediate1 hour
  • Free courseDiscrete Math: Binary and BasesLearn about binary, octal, decimal, and hexadecimal bases and how to conduct conversions to and from each one.Checker DenseBeginner Friendly1 hour
  • Free courseLearn the Role and Impact of Generative AI and ChatGPTStart your journey into the world of generative AI and ChatGPT and see the role they will have in shaping our future.Checker DenseBeginner Friendly< 1 hour
  • Free courseLearn Advanced Data Structures with Python: TreesLearn how to use tries and binary indexed trees for efficient search implementations.Checker DenseAdvanced1 hour
  • Free courseComputer Architecture: Cache MemoryLearn about cache memory, and work with a simulation cache to understand how it functions.Checker DenseBeginner Friendly1 hour
  • Free courseDiscrete Math: ProofsLearn how to verify theorems and dive into induction, strong induction, and other types of proofs.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Intermediate Java: Regular ExpressionsLearn about regex, or regular expressions, and how to work with them in Java.Checker DenseIntermediate1 hour
  • Free courseLearn Intermediate Java: Nested ClassesLearn about nested classes, encapsulation, and shadowing in Java.Checker DenseIntermediate1 hour
  • Free courseIntro to GitHub CopilotLearn how to use GitHub Copilot to streamline your workflow and development. This course provides an in-depth understanding of the AI-driven coding assistant.Checker DenseIntermediate< 1 hour
  • Free courseIntroduction to Open SourceLearn how to contribute to, create, and maintain open source projects!Checker DenseBeginner Friendly< 1 hour
  • Free courseDiscrete Math: Counting TheoryLearn about counting theory and its relevance to computer science, and dive into the pigeonhole principle.Checker DenseBeginner Friendly< 1 hour
  • Free courseLearn Raspberry Pi: IntroductionDive into Raspberry Pi and get to know the power of this credit card-sized computer.Checker DenseBeginner Friendly< 1 hour
  • CourseLearn Sorting Algorithms with PythonLearn about the usefulness and efficiency of computational sorting by implementing different sorting algorithms yourself.Checker DenseWith CertificateChecker DenseIntermediate3 hours
  • CourseLearn Hardware Programming with CircuitPythonLearn how to code for various electronic devices in this introduction to hardware programming with CircuitPython.Checker DenseWith CertificateChecker DenseBeginner Friendly2 hours
  • Free courseDiscrete Math: Sets and Set OperationsLearn about sets and set operations and their relevance to computer science.Checker DenseBeginner Friendly1 hour
  • Free courseOperating Systems: FilesystemsLearn how operating systems use filesystems to structure, store, and manage data.Checker DenseBeginner Friendly< 1 hour
  • Free courseDiscrete Math: CongruencesLearn about congruences, the procedures for solving them, and their relevance to cryptography.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Advanced Algorithms with Python: Hamiltonian AlgorithmsLearn about Hamiltonian paths and cycles and how to find both in Python.Checker DenseAdvanced< 1 hour
  • Free courseDiscrete Math: Permutations and CombinationsLearn about permutations and combinations and their relevance to computer science.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Advanced Data Structures with Python: DequesLearn how to leverage the power of double-ended queues (deques) in Python.Checker DenseAdvanced< 1 hour
  • CourseLearn Complex Data StructuresDiscover and design new data structures that follow abstract rule-based systems by building out graphs, hash-maps, and heaps.Checker DenseWith CertificateChecker DenseIntermediate7 hours
  • Free courseDiscrete Math: Sequences and SummationsLearn about sequences and summations and their relevance in computer science.Checker DenseBeginner Friendly< 1 hour
  • Free courseDiscrete Math: Recurrence RelationsLearn about recurrence relations and dive deeper into recursion and dynamic programming.Checker DenseBeginner Friendly1 hour
  • Free courseIntroduction to Linux: InstallationDive into Linux, a useful and lightweight operating system with a large impact on open-source technology.Checker DenseIntermediate1 hour
  • Free courseLearn LOLCODELearn about LOLCODE, an esoteric programming language based on internet memes and cats!Checker DenseIntermediate1 hour
  • Free courseOperating Systems: ProcessesLearn more about operating system processes, threading and multithreading, and process scheduling.Checker DenseBeginner Friendly1 hour
  • CourseHow to Implement Search Algorithms with PythonFinding the data you are looking for in a data set is an important skill: get started with two common approaches.Checker DenseWith CertificateChecker DenseIntermediate2 hours
  • Free courseComputer Architecture: Parallel ComputingLearn how to process instructions efficiently and explore how to achieve higher data throughput with data-level parallelism.Checker DenseBeginner Friendly1 hour
  • Free courseLearn Advanced Algorithms with Python: String Searching AlgorithmsLearn about two powerful string searching methodologies: the Rabin-Karp algorithm and the Knuth-Morris-Pratt algorithm.Checker DenseAdvanced3 hours
  • Free courseDeploying Websites using Git and GitHubLearn how to use GitHub Pages to easily set up and publish your own websites.Checker DenseBeginner Friendly< 1 hour
  • Free courseOperating Systems: Process Synchronization and Memory ManagementLearn about Operating Systems and how to synchronize processes and handle memory management.Checker DenseBeginner Friendly1 hour
  • Free courseOperating Systems: IO SystemsLearn about IO Hardware and Software and how they interact with your Operating System.Checker DenseBeginner Friendly< 1 hour
  • Free courseOperating Systems: IntroductionLearn about the basics of Operating Systems and how they manage a computer’s hardware.Checker DenseBeginner Friendly< 1 hour

More resources

GlossaryBack-End Web Architectureopens in a new windowBlogWhy Learn C#?opens in a new windowArticleWhy Data Structures?opens in a new windowBlogWomen in Techopens in a new window
GlossaryCommand Line Commandsopens in a new window
BlogFacebook Messenger Analysisopens in a new window
ResourceOur best resources for studentsopens in a new window
ProjectBuild a Text Adventureopens in a new window
ProjectSpacemanopens in a new windowProjectConsole Gameopens in a new window
ProjectTic-Tac-Toeopens in a new window
Computer Science Courses & Tutorials | Codecademy (2024)
Top Articles
Latest Posts
Article information

Author: Melvina Ondricka

Last Updated:

Views: 5844

Rating: 4.8 / 5 (68 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Melvina Ondricka

Birthday: 2000-12-23

Address: Suite 382 139 Shaniqua Locks, Paulaborough, UT 90498

Phone: +636383657021

Job: Dynamic Government Specialist

Hobby: Kite flying, Watching movies, Knitting, Model building, Reading, Wood carving, Paintball

Introduction: My name is Melvina Ondricka, I am a helpful, fancy, friendly, innocent, outstanding, courageous, thoughtful person who loves writing and wants to share my knowledge and understanding with you.