This is CS50

Welcome to CS50, Harvard University’s introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web programming. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by the arts, humanities, social sciences, and sciences. Course culminates in a final project.

This is an open multilingual version of the course. The original course is at cs50.harvard.edu/x.