My Time Teaching Engineering and Computer Science

Greg Thompson
5 min readNov 5, 2020

Before my days of software development, I was a high school engineering and computer science teacher. In many ways, that job helped prepare me as a developer; I had to quickly pick up many different technologies that were included in the curricula I was using in my different courses. I always had a million and one things going on, and juggling everything then sometimes makes the projects I’m working now feel relaxing. Variables! I always thought that one of the hardest things about teaching was that every student in your classroom is bringing in their own personal variables to how they’ll be learning and interacting with others in class, and figuring out how to understand what’s going on in everyone’s local storage of variables was super important as a teacher.

I’ll share some experiences teaching in different corners of the STEM world, and what cool technologies students are using and the cool projects they’re tackling.

Lego Robotics

Back in college, I was on track to become an elementary school teacher. I ended up taking a one credit hour class that matched me up with a local middle school’s robotics team, and that’s when I initially got pulled into the upper grades’ STEM teaching world.

Helping coach and mentor a Lego robotics team was **super cool**! The competition the team I was working with was participating in was FIRST Lego League (affectionately known as FLL). Students build their own robots from scratch, entirely using lego pieces and parts, compete to complete missions in the robot game, and research a solution to a pressing world problem. It was awesome seeing the team in action each year and the creativity they showed in solving problems. Here’s a video that does a pretty good job of capturing the craziness and excitement of competition day: https://youtu.be/dNy9wPa_2KQ

The programming that students do in FLL is block-based, using the Lego Mindstorms software and hardware for all coding. General coding includes motor control, responding to sensor input, and control flow. Lego Mindstorms software also allows students the opportunity to create and reuse functions in their code.

Example of a Lego Mindstorms program that uses motor control as well as sensor input.

FIRST also has programs that scale up from FLL, with their FIRST Tech Challenge that is geared towards middle and high-school students, and their FIRST Robotics Competition which is aimed exclusively at high school students.

PLTW: Engineering

I was extremely lucky to land an engineering teaching job at the school I was at. Project Lead the Way (PLTW) was partnered with my school and provides teacher training and curriculum development for engineering courses all across the country. Like many STEM companies that offer curriculum and school resources, they offer courses all the way down to the elementary level, as supplements to student’s science classes, before growing into various exploratory class offerings for middle school students. At the high school level, PLTW offers a couple different pathways — Engineering, Biomedical Sciences, and Computer Science.

I taught two different PLTW engineering classes — the first, Intro to Engineering Design, taught basic principles of engineering and the design process, and was pretty heavy on 3D modeling. My students used Autodesk Inventor software to model a ton of different things, and that was the big hit of the class.

Chess pieces that one of my students modeled. Helpful when your chess team has a knack for breaking pieces…

The second year engineering class that I taught, Principles of Engineering, got hands on with lots of different concepts, and students built simple machines and circuits and measured and tested them and saw how they matched up with given theoretical formulae. The big draw of this class though, was working with robotics and automation. Students started by using debugging tools to discover how different sensors worked and values they provided.

Students explore robotic sensors on the test bed before they move on to making elevators and cookie toppers.

Programming was done with VEX RobotC, which is a C based programming language. Students completed projects where they built robots and then coded programs for those robots, which included logic and control flow based on the robot’s sensors.

Computer Science

I definitely got the most joy from teaching computer science. I taught AP Computer Science Principles the last two years I taught, and used code.org’s curriculum, which was super engaging for my students. Students learn about binary and number systems, learn how the internet works by building rules for and using an internet simulator, and jump into programming, algorithms, and abstraction by learning some basic Javascript. Students are introduced to programming commands with some good ol’ turtle programming, and quickly progress from there and learn event-basic programming and build simple apps.

A student coded this *awesome* digital scene.

Code.org was super cool because all of their offerings require basically no prior knowledge for students, so they are all able to jump in and learn some basic CS and programming. They also offer different courses all the way from elementary up through high school.

Conclusion

Teaching was super fun for me in large part because of all of these awesome things that I got to teach students and cool projects that my students were constantly working on. If you’ve got some free time, there are plenty of teachers out there that I’m sure wouldn’t mind a helping hand with their robotics team, or a guest visitor to their classrooms to talk about the work that software developers do. I hope you enjoyed seeing some of the things that the future engineers and software developers are doing today to help start them off on a journey into the world of STEM.

--

--