Skip to content

Computer Science Foundations courses and tutorials

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

Loading courses

About Computer Science Foundations

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 useful starting point

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.

Build on the lessons

Describe a small problem, justify an approach, and test an awkward input. Compare an alternative solution and explain the tradeoff.

Explore related topics