CS50 is Harvard's flagship intro to computer science, taught by David Malan and free to audit on edX. The flagship course, CS50x, runs roughly 10 to 20 weeks at 10 to 20 hours per week. It starts with Scratch, then moves into C, then Python, SQL, HTML, CSS, JavaScript, and Flask. The point is not any one language. The point is that you learn how memory works, what algorithms do, and why data structures matter.
Here is the honest part. CS50 is hard, and it is hard on purpose. The C weeks early on are where many people stall. Week 4 deals with memory, pointers, and manual memory management, and that section has a reputation for stopping beginners cold. There is no in-browser hand-holding the way freeCodeCamp offers; you write real C, you get cryptic errors, and you learn to debug. Completion rates for open online courses are low across the board, and CS50 is no exception; a large share of people who start CS50x never finish. The friction is deliberate. CS50 wants you to sit with a problem you cannot immediately solve, because that is where the actual learning happens. That is also why so many people quit in the first month: the payoff is real but it is delayed, and the early C sections feel a long way from the websites and apps most beginners picture when they decide to learn to code.
What you can do after finishing: you understand how computers work under the hood, not just how to call a framework. That foundation makes every language you learn later easier. CS50x also offers a free certificate from cs50.harvard.edu when you complete all problem sets and the final project. If you want the full breakdown of every CS50 course and which to take, see
our Harvard CS50 guide.