Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Computer Science Fundamentals

via Brilliant


Learn the key ideas of computer science with this interactive course – no coding required!

This course is ideal for a high school or college student who wants to learn the fundamentals, or an early professional who wants to strengthen their knowledge of core computer science concepts.
Whether you're exploring computer science for the first time or looking to deepen your understanding, this course will allow you to develop the problem-solving techniques you need to think like a computer scientist.

Follow librarians, cooks, and mayors to see how computer science problem solving techniques affect their daily lives. Get hands-on with a few specific algorithms, and learn the general principles demonstrated by these algorithms.


  • Tools of Computer Science: Computer Science helps you understand the world around you!
    • Making Decisions: Computers use decision trees to turn many simple decisions into one big decision.
    • Writing Programs: If you want a computer to interact with the world, you’re going to need to write a program.
    • Searching for Solutions: Sometimes, the right way to solve a computational problem is by “brute force.”
    • Thinking with Graphs: Graphs are a powerful tool for understanding problems and solving them in clever ways.
  • Computational Problem Solving: Explore computational ideas in bakeries, libraries, and City Hall.
    • Parallelism: When Pierre the baker wants to get lots of things done, it helps to do many things at once.
    • Resource Tradeoffs: Computer scientists deal with tradeoffs all the time. So does Farhad when he does his chores.
    • Order and Search: Information needs to be organized for use by humans or computers, as Tiye the librarian knows well.
    • Naming: Computer systems and people need to be able to reliably find and access people and resources.
    • Abstraction: Mayor Jing uses abstraction—a critical tool in computer science—to help her run City Hall.
    • Interfaces: Abstractions have interfaces that explain what they can and cannot do.
  • Algorithmic Thinking: Dive into algorithms in order to solve puzzles and problems!
    • Algorithms and Implementations: Algorithms are step-by-step processes for achieving an outcome. They can be very specific or quite general.
    • Divide and Conquer: Problems often get easier when you split them in half, as the 20 Questions guessing game shows.
    • Binary Search: Binary search is a more algorithm-friendly version of the 20 Questions game.
    • Representing Games and Puzzles: Graphs can help us plan solutions to complex problems, like this classic river-crossing puzzle.
    • Graph Search: Some of the most fundamental algorithms on graphs are designed to get you from point A to point B.


Start your review of Computer Science Fundamentals

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.