CS50x is Harvard University's online introduction to computer science and programming.
People who are not Harvard students can study the OpenCourseWare materials free; feedback and certificates may have separate requirements.
The course site provides official lecture materials, problem sets and a final project guide for independent learners.