CS50: Introduction to Computer Science
A broad and robust understanding of computer science and programming How to think algorithmically and solve programming problems efficiently Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development Familiarity with a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0