edX
Free to enroll, add a verified certificate for $90In this introductory course, students will learn "how to think algorithmically and solve programming problems efficiently" using concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. They will become familiar with programming languages such as C, Python, SQL, and JavaScript, plus CSS and HTML.
Students will develop and present a final programming project to their peers. Altogether, the program should take 12 weeks.