CS50: Introduction to Computer Science
Harvard's introductory computer science course, free online, running from Scratch and C through arrays, algorithms, memory and data structures, then Python, SQL, web development with HTML, CSS, JavaScript and Flask, and a look at AI. It suits beginners, career changers and self-taught developers who want a genuine foundation rather than familiarity with one syntax. It is demanding, but it is among the best first computer science courses available at any price.
CS50x 2026
cs50.harvard.edu · Sept 2026
11 weeks + final project
cs50.harvard.edu · Sept 2026
10 to 20 hours
CS50x FAQ · Sept 2026
June 30, 2027
CS50x FAQ · Sept 2026
Free (paid edX certificate optional)
cs50.harvard.edu · Sept 2026
Course
Other
Harvard University
10 to 12 weeks
Beginner
Free
What the course covers
CS50x 2026 runs over weeks 0 to 10 plus a final project:
- Week 0: Scratch, to learn logic without syntax.
- Weeks 1 to 5: C, arrays, algorithms (searching, sorting, recursion), memory (pointers, the stack and heap) and data structures (linked lists, hash tables, trees).
- Week 6: Python, rewriting earlier programs to see what a higher level language does for you.
- Week 7: SQL and databases.
- Weeks 8 and 9: HTML, CSS and JavaScript, then web apps with Flask.
- Artificial intelligence, and week 10 to wrap up, followed by a final project of your choice.
Each week has a lecture, sections, shorts and a problem set, all free on the course site.
Why starting in C matters
Beginning with a language where you manage memory yourself means you learn what a pointer is, what the stack and heap are, and what a string actually is before a higher level language hides it. People who start only in Python often carry that gap for years. It is also why weeks 4 and 5 feel hard, and why finishing them is worth it.
How long it really takes
The FAQ estimates 10 to 20 hours a week for problem sets alone, plus lectures, and individual weeks vary. Many learners take three to six months. Your work must be submitted by the current deadline, June 30, 2027 for the 2026 edition; unfinished work may carry over to the next edition, but you would need to redo problem sets using that year's versions.
Certificates
Complete all problem sets and the final project with at least 70% on each to earn a free CS50 certificate. edX sells a verified certificate if you want one; the course is the same.
How to get through it
- Do the "less comfortable" version of problem sets first; do the "more comfortable" ones only if you have time.
- Use the course's own AI tutor, Discord and forums for hints. Do not look up solutions; the academic honesty policy is strict, and copying defeats the purpose.
- Expect week 4 (memory) to be the wall. Rewatch the lecture and draw memory diagrams on paper.
- Make your final project something you would show someone, and put it on GitHub.
Common questions
Is it too hard for complete beginners? It is hard, but designed for beginners. If you want a gentler start, do CS50's Python course first.
Do I need maths? Only basic arithmetic and logic.
What should I do after it? Pick a direction: CS50's web, AI or Python courses, or a structured path in backend, mobile or data.
Best for: beginners, career changers and self-taught developers who want the fundamentals they skipped.
Ready to start?
Opens on Harvard University in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.