This personal journey emphasizes the need to refresh my understanding of the foundation of programming to write efficient software, whether simple or advanced. The following courses are carefully selected to achieve this objective:
- CS61A at UC Berkeley: The Structure and Interpretation of Computer Programs. An introduction to programming and computer science focused on abstraction techniques as a means to manage program complexity.
- CSE341 at University of Washington: Programming Languages.
- Git Internals: This article is an attempt at explaining the Git version control system from the bottom up, starting at the most fundamental level and moving up from there.