Programming at Middle School: Block based or Syntax?

This was a question that continually vexed me for quite some time.  Knowing the speed at which computer science is progressing and the value of reading and writing text based code, I found myself perpetually dissatisfied when my middle school students reverted to block based programming for their breadboard, sensor and robotics projects.  Then in the summer of 2018, I had the opportunity to teach at Alpha Star --  a summer camp that prepared elementary and middle students to compete in the USA Computing Olympiad and was blown away by what students as young as 5th grade could do in C++ and Java. There was no turning back.  Now, I just needed to find appropriate content to teach. I was in for another surprise.

After thoroughly searching online, I came to the conclusion that no one had shared online the type of content that I was looking for and that I was going to have to produce it myself.  The curriculum would cover the fundamentals through C++:

  • Write structured commands
  • Debug through logic and error detection
  • Create information holders with variables
  • Check conditions
  • Code Repetitive tasks with Loops
  • Create Lists with Arrays
  • Package useful commands in functions
  • Build a fully functional program

If you are excited about the prospect of teaching a rigorous programming language and would like content to start you off, stay tuned.  Every week for the next few weeks, we will cover one core lesson through videos, exercises for student practice and solutions for instructors.  The reward you reap will be directly proportional to the number of challenges you take on!


-S. Baig, STEM department head, and the brains behind the CREATE program