CS50's Introduction to Computer Science
An introductory course that teaches the core concepts of computer science and programming, including algorithms, data structures, software engineering, and web development, with the option to audit individual modules.