This course looks at the design of Bitcoin and other cryptocurrencies and how they function in practice, focusing on cryptography, game theory, and network architecture.
👉 https://ocw.mit.edu/courses/mas-s62-cryptocurrency-engineering-and-design-spring-2018/
The course provides a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching optimizations, parallel programming, etc.
👉 https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/
This course aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident in their ability to write small programs that allow them to accomplish useful goals.
👉 https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/
This course is an introduction to the mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems.
👉 https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/
In this class, you will learn computer science, software, algorithms, applications, and mathematics as an integrated whole. Topics include image analysis, particle dynamics and ray tracing, epidemic propagation, and climate modeling.
👉 https://ocw.mit.edu/courses/18-s191-introduction-to-computational-thinking-fall-2020/