Programming in RobotC – Starting in the Elementary Grades

What?! No graphical programming icons? We have syntax errors in our code? What’s the deal with all the curly braces, brackets, and semicolons? Did we hear pragma statements? You want to know our pseudo code???

While our 5th grade STEM students at Allendale Columbia School were initially perplexed by some very new terminology, concepts, and programming requirements, it didn’t take long to see that our elementary grade students were up to the challenge of learning an industry-standard, text-based programming language typically taught at the high school and college levels:  RobotC.

Just a couple of weeks before the start of school, we became inspired to teach RobotC programming after several, local area teachers and robotics coaches, shared their concerns to us about the need for students to learn high level and industry-standard programming well before their high school years.  Pondering this notion, it occurred to us that we could provide our young students the “familiar and scaffolded context” of reconstructing NXT robots with being challenged to ultimately solve for the same exact missions our students originally and proficiently programmed in NXT in their fourth grade year, with re-programming in RobotC, in the beginning of their fifth grade year.

As it turns out, our young students exceeded all expectations with easily grasping the new programing concepts, skills, and requirements for successfully completing the PBL (project-based learning) tasks and challenges they were able to solve for. With their former years of robotics and programming experiences, across a systematic continuum of engineering systems, students were already well versed in If-Then Statements, Switch Cases, While Loops, etc. Our students proved themselves ready to move on to applying their math and critical thinking skills in very new ways with problem-solving for their complex programming tasks in an authentic, Integrated Development Environment (IDE) requiring a strict set of grammatical rules. It is in this new programming environment that students learned how to access and modify motors & sensors data, declare while statements with using sensors in conditionals, debug their programs in real-time, and so on.

As a team of former engineers, this experience was invaluable with truly appreciating the high-level of programming that students are so capable of learning and applying – even as early as the elementary grades. Key to the success of teaching programming to young students, we strongly believe, is providing the tactile context of robotics & engineering, for programming/coding – with designing and debugging taking two forms:  hardware and software.

Most exciting of all, our young learners were truly motivated when realizing, for themselves, that programming in an authentic, Integrated Development Environment is easily within their grasp. This ease of transitioning from years of graphical programming to text-based, industry-standard programming, surely gives reason to ask – why wait until the high school years?