The goal: solidify and expand knowledge of CS fundamentals as they relate to contemporary problems that can be approached with computation, while learning new programming languages.
The rationale: most of the jobs we get out of MakerSquare will involve building user-facing software or writing scripts that solve specific problems. Extending our knowledge of computer science after MakerSquare will allow us, as graduates, not only to apply this or that recipe to solve some bounded problem, but to think creatively about how to use computation to solve unbouded problems.
The Wizard Book
Peter Norvig - Amazon Review of SICP
Master List of Computer Science Classes
Prakhar Srivastav's - Master List
EdX
Harvard: Introduction to Computer Science (C, PHP)
MIT: Introduction to Computer Science and Programming Using Python
MIT: Introudction to Computational Thinking and Data Science (Python)
Coursera