Harvard University's CS50 is one of the most popular beginner computer science courses in the world.

We just released the entire CS50 course–all 25 hours–on the freeCodeCamp.org YouTube channel.

David J. Malan is widely considered to be one of the best computer science instructors. He teaches this course.

This course provides an 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, and SQL plus HTML, CSS, and JavaScript.

Among the overarching goals of this course are to inspire students to explore unfamiliar waters, without fear of failure, create an intensive, shared experience, accessible to all students, and build community among students.

David J. Malan teaching CS50.

Here are the lectures included in this course:

  • Lecture 0 - Scratch
  • Lecture 1 - C
  • Lecture 2 - Arrays
  • Lecture 3 - Algorithms
  • Lecture 4 - Memory
  • Lecture 5 - Data Structures
  • Lecture 6 - Python
  • Lecture 7 - SQL
  • Lecture 8 - HTML, CSS, JavaScript
  • Lecture 9 - Flask
  • Lecture 10 - Emoji
  • Cybersecurity

Watch the full course on the freeCodeCamp.org YouTube channel (25-hour watch).