Course overview
This computer science course presents the complete Harvard CS50x 2026 curriculum, a rigorous introduction to the intellectual enterprises of the field. The sequence builds from foundational computational thinking using Scratch through low-level programming in C, where learners manage memory, pointers, and data structures. It then transitions to higher-level abstraction with Python, relational databases using SQL, and web development with HTML, CSS, JavaScript, and the Flask framework. The course culminates with a dedicated lecture on modern artificial intelligence, covering large language models and machine learning, ensuring a holistic understanding of both classical and contemporary computer science principles.
Who this course is for
This course is designed for absolute beginners and those with non-technical backgrounds seeking a robust entry into computer science. It suits students who want to understand programming from first principles, professionals aiming to transition into software development, and self-taught coders looking to formalize their knowledge of algorithms and memory management. If you are curious about how computers process information, eager to solve problems methodically, and ready to engage with both C and Python, this sequence provides the structured intellectual challenge needed to build lasting computational thinking skills.
How to study this sequence
Follow the lectures sequentially, as each builds directly on the previous one. Begin with Scratch to grasp fundamental logic, then move through C to understand memory and data structures at a low level. Transition to Python to see higher-level abstractions before tackling SQL for data persistence. Complete the web development lectures on HTML, CSS, JavaScript, and Flask to see how back-end and front-end systems connect. The artificial intelligence lecture fits naturally after understanding core programming, providing a modern context. Write code alongside each lecture to solidify concepts before moving forward.
What you should be able to do
By completing this sequence, you will gain a practical understanding of computational thinking and the ability to write programs in C and Python. You will be able to design and implement algorithms, manage memory effectively, query relational databases with SQL, and build dynamic web applications using Flask. You will understand how the internet works at the protocol level and possess a foundational grasp of artificial intelligence concepts, preparing you for advanced study in specialized areas like systems programming, data science, or full-stack development.
