Harvard CS50 · David J. Malan and CS50 team
CS50x: Introduction to Computer Science
Harvard’s CS50x introduction to computer science, with challenging problem sets and a final project beyond the lectures.
Explore computer-science learning for programming, data, and mathematical reasoning, with guidance on explaining solutions and checking their assumptions.
1 learning resource in this collection
Computer-science foundations connect representations, algorithms, systems, and reasoning about correctness. Programming gives you a way to test ideas, while mathematics helps explain why a solution works. Both are useful beyond a particular language.
Choose a route matching your programming and mathematical preparation. Work through independent problems and examine boundary cases. Knowing a technical term is different from being able to use the idea to solve a new task.
Describe a small problem, justify an approach, and test an awkward input. Compare an alternative solution and explain the tradeoff.
Harvard CS50 · David J. Malan and CS50 team
Harvard’s CS50x introduction to computer science, with challenging problem sets and a final project beyond the lectures.