3.2 Computer Science Fundamentals
Wrap your mind around computational thinking, from everyday tasks to algorithms.
Decision Trees
Fewer Questions
Binary Search
Parallelism
Pipelining
Resource Tradeoffs
Resource Allocation
The Bridges of Königsberg
Brute Force
Thinking with Graphs
Eulerian Paths
Abstraction
Interfaces
Algorithmic Thinking
Generalizing Algorithms
Representing Games and Puzzles
Completing the Graph
Graph Search
Course description
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.
Topics covered
- Binary Search
- Brute-Force Search
- Concurrency
- Decision Trees
- Graph Abstractions
- Greedy Algorithms
- Indexing
- Interfaces
- Parallelism
- Programming
Prerequisites and next steps
You don’t need any previous computer science experience to take this course! This course is for anyone excited to actively learn more about how computer scientists think and understand our world.
Up next
4.1 Applied Python
Expand your Python skills by leveraging (or using) strings and dictionaries to analyze and generate text.
Jump ahead