Makersquare H1 thoughts

Makersquare’s 13 week program is structured in two parts:

  • the first six weeks, which is dedicated to the study of computer science fundamentals, Javascript technologies, and front-end and back-end computing concepts along with their associated frameworks; and
  • the second six weeks, which is focused on implementation of everything learned in the first half in a series of group-oriented projects.
  • the two parts are split up by what they call “solo week”, a week-long mental break that is kicked off with an all-day exam on Saturday that tests one’s retention of H1 (and determine whether one proceeds to H2). I must say, solo week was much needed for me!

Side note: for me, the first few days were a bit of a challenge in reorienting from a professional to student mentality; this included the little things, as simple as finding the right platform to take notes (I now use Evernote).

Anyway, w.r.t. the first six weeks, they are quite intensive. In summary:

  • Week 1:
    • Computer science fundamentals: time complexity, data structures (stacks, queues, graphs, trees, sets). Briefly touch on algorithms, though this could have been expanded a bit. For the self-studier, pick up Learning JavaScript Data Structures and Algorithms by Loiane Groner
    • Object instantiation patterns, functional decorators, functional binding techniques (actually, this last point is really important to know)
  • Week 2:
    • Greater dive into functional instantiation patterns
    • asynchronous Javascript: AJAX, HTTP
    • Browser security
  • Weeks 3 – 6 become slightly less “lecture style” and more “sprint” oriented, where concepts are introduced in two day “sprints” that kick off with a brief lecture in the morning of the first day followed by pair-programming. This is where students are split into groups of two to dive head-on to implement and/or debug pre-established code with the goal of learning the presented concept. This “rapid-iteration” style is – to some degree – meant to mimic the engineering work environment, where you are given a little bit of info and are supposed to use various resouces (e.g. your pair, the Google, etc) to work through the problem
    • Topics covered across the sprints included event systems, and touched on various frontend and backend frameworks including Backbone, Angular, React (frontend) and Node, Express (backend). Databases were reviewed briefly toward the end of the six weeks
  • On top of all of the above, every morning commences with an hour-long “toy problem”, where at 9AM a codewars-style problem is introduced. Supposed to stimulate the brain at the start of the day, I guess!

So in summary, the program is quite effective at introducing a lot of concepts in a short amount of time. The idea isn’t to become an expert in everything over the course of six weeks, but rather to know enough about a broad set of things to give one confidence to be able to diagnose and be resourceful on future similar and potentially more complicated problems than what’s introduced during sprints.

One of the great things about the program is that it embraces feedback, recognizing that its iterative approach to its curriculum is constantly improving. As such, it has implemented a formalized two-way feedback mechanism, where students can share their thoughts on ideas for improvement in the currculum or their experiences in general.