Problem sets and projects of gforhieri for Harvard University's CS50 : Introduction to Computer Science course
Links to the course: CS50 on edX and CS50 on Harvard's website
CS50 is an extensive introduction to the intellectual enterprises of computer science and the art of programming. This course teaches you how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.