Digital Adventures was founded in 2015 with the mission to teach kids how to build with technology so they can change the world! Since opening our first learning studio on the North Shore of Chicago, we’ve taken more than 1,000 students through our fun, engaging, hands-on coding and engineering design projects. During that time, we’re proud to have earned over 50 5 Star Reviews on Google, Yelp and Facebook. By working with a large number of students over a relatively small period of time, we’ve been fortunate to learn 10 surprising lessons from teaching these kids to code.
One of the initial obstacles to overcome when you undertake a project as ambitious as teaching kids (Pre-K through 12th grade) to code is will they be able to learn a subject that is normal taught at the collegiate and post-collegiate level. While there were one off examples of exceptional developers like Bill Gates, Mark Zuckerberg and Jack Dorsey who were introduced to coding early; there was still a question of ‘can you do this with a wide variety of age groups and ability levels?’ Over the past 3 years, the answer is an enthusiastic YES! The next generation is more than capable of learning the foundational principles of coding and engineering design.
When you haven’t been previously exposed to a new topic, there can be a hesitancy or reluctance to dive in. Especially as you get older, this is one of the main reasons why adults do not like to attend networking events. They are concerned that the conversation won’t go well or interactions will be socially awkward. However, we’ve found that students do not have the same reservations. Since no one has ever told them that they can’t build with technology, they fully believe that they can. So, then it becomes a matter of ‘what do I need to learn from my instructor and my classmates?’ This growth mindset that our students has makes the lives of our instructors much easier. The students’ fearless mindset makes it straightforward to take them through an expansive suite of hardware and software platforms without a loss of confidence or fidelity. When we consider the context of there are some platforms and languages that will go in and out of style during their careers. However, their growth mindset means that as a new language or technology is introduced, they will not have an initial reservation as they will have gained exposure to 10-20 different hardware and/or software platforms within our learning studios.
Within our studios, we start with a high level project that all kids work on during an instructional session. For example, we might use the programming language, Scratch
, to build a Spaceship Captains project
. In the project, we want to get students to understand how you utilize keyboard inputs to create movement for a character (Spaceship). We also want them to utilize logic to either destroy an asteroid with a laser or die if their spaceship crashes into the asteroid. In addition, we also integrate variables into a project like this so they can get an understanding of how to store, display and update information in the game environment. While these are complicated concepts, in the context of building a game, the students are able to gain familiarity, develop fluency and ultimately become expert in incorporating these elements into a wide variety of technology projects. What is especially impressive is how the students will bring their own creativity to the design of the spaceship, asteroid, and space environment. They get into the intricate details of making sure that their spaceship is futuristic or their space environment is mysterious. The ability to translate what is in their minds into the environment in which they are creating will be especially useful throughout their careers.Sponginess
As a mechanical engineering student several years ago, I didn’t learn many of the principles of design until my Junior or Senior year in college. We begin teaching computer-aided-design in our 3D Modeling & Printing course for students as young as 4 years old. Not only do they gain familiarity with how to build a wide variety of objects, there are times when we will let structurally challenged designs get printed. The first time a student sees their skyscraper collapse because they didn’t properly incorporate support structures is especially valuable. And, students take that learning opportunity and quickly incorporate that learning into their next series of designs. In addition, student have learned not to design stress points into the edge of an object as that will create a failure mode. Keep in mind that these are students who are in Pre-K, elementary, middle and high school. However, the commonality is that their minds are spongy enough to suck in all of the information and then apply that to future efforts.
At Digital Adventures, we intentionally design our program to encourage students to work together. Whether it is grouping students in learning pods of similar age and ability. Or, incorporating projects that encourage teamwork. There are many design elements that we utilize to create the right framework. Unlike most educational environments, we don’t have a natural anchor point for kids to naturally join forces. Many of our students don’t go to school or other extracurricular activities together. As a result, just like adults, kids only do things that they really want to do. And, we have found that students genuinely enjoy working with each other. Whether it is sharing knowledge about a block of code they understand from Minecraft Modding with their neighbor. Or, working together to build a Battle Bot for a robotics competition. For several decades, developers and engineers have gained a reputation for not being very easy to work with. While this is changing due to business need and realization that functional groups within companies need to increase collaboration to drive positive business results. Without a doubt, the next generation is building the early-stage community that values collegiality with their fellow students.
As we work through equipping the next generation with the skills necessary to build with technology, it is important that they are receptive to instruction. Since our education technology platform is a bit different than how they would normally engage with instruction, there is a risk that it could be more difficult to transfer knowledge. Without traditional assessment mechanisms (grades, test scores) which can be gamed to achieve an outcomes irregardless of actual learning, we have been amazed at just how teachable the students are. Not only are we teaching specific programming languages (Python, Ruby on Rails, etc…) but we are also more broadly teaching problem solving skills which includes: troubleshooting, debugging and deconstructing. Since we aren’t explicit with a given programming concept (conditional statement) for the lessons, students are able to take full advantage of our accidental learning approach. Using a platform that encourages creation, we find that there are many opportunities for teachable moments throughout a given class or camp.
Throughout their developmental years, students begin to learn what they are good at and leverage those talents to improve the world around them. While many students have gained experience consuming content, since learning to build with technology is something that not a lot of kids have exposure with, they are more willing to defer to those who have gained an understanding for how to either model structures in 3D or develop conditional statements for a video game they are building. While this is not to suggest that the others are standing around and watching. Instead, what this is demonstrating is that students understand comparative advantage and are much more willing to work to develop their expertise when they see others who have put the time in to honing their skills can generate better outcomes for a given project. One of the big challenges in technology in general is the persistence of the ‘bro-grammer’ culture which can be challenging for women and underrepresented minorities to feel welcome. However, within our studios, we have seen that our students look to the ability of the classmates not their gender or other secondary identifiers.
One of the biggest challenges when learning coding and engineering design is to figure out why a piece of code doesn’t work as intended. While, we have an idea that we want our robot to traverse an obstacle course using proximity sensors there are times that the best laid plans don’t work out. In those situations, students learn that just because their initial design didn’t work doesn’t mean that it won’t ultimately work. At this point, we typically have students go back and look at their code to see if they can find the issue. Did they underestimate the distance or is their sensor connected to the wrong port? There are a number of potential issues. However, the most important lesson is to learn the resiliency necessary to see the incorrect outcome as part of the process. After seeing thousands of intermediate project milestones missed, the next generation is building their resilience which will prepare them well for success throughout their life.
Given the wide variety of problems that are in need of solutions, it is important that we don’t create a one-sized-fits-all education technology platform. Instead, our goal is to maximize the individual learning potential of each and every student. This is one of the reasons why we intentionally utilize a wide variety of hardware and software platforms. We are attempting to find something that each student is genuinely excited about. Whether that is learning how to build Minecraft Mods or design robots, we have something for everyone. And, once they are working with us to build technology projects, we work hard to make sure that they are able to exercise their unique gifts. There are often times that we will be building a project and students will ask, I’d like to add this code branch because it will make the game more to my liking. Our instructors are equipped to help them through those design challenges because we believe that is how their unique design signature is developed. Even though we have a high level project theme, the implementation can be as varied as the students who are participating. In order to celebrate their uniqueness, we often have students rotate around the learning studio to see what their fellow classmates have built. The more students are able to internalize that its OK to imprint their signature, the more likely they are to develop the confidence to build something meaningful for the world versus something they think they should build because of societal conformity pressures.
Last but not least, our team has been extremely amazed by just how impressive these students are. From those who may have come to use after doing an ‘Hour of Code’ event at their school to those who have a developer or engineer parent, we have seen students who are going to eventually build some really amazing things. At times, parents will come in and tell us that their child was the only one in their class who knew how a 3D printer worked and were able to explain it to their classmates. Nothing makes us prouder than when we hear those success stories. Whether they launch a new feature as part of a larger technology or product or build their own groundbreaking project, we are very confident that these students are going to go on to do great things. And, what is even more exciting is to see their expertise develop over a period of time. While we typically only spend an hour or two with students on a weekly basis or an extended duration during our summer camps, we are always impressed by the growth in their skill sets. We witness increased confidence and development of the skills needed to build something truly amazing. To the parents who have raised these impressive human beings, keep up the great work. You’re doing an amazing job!
Based on our experience working with the next generation of builders, we could not be more excited about the impact they are going to have on the world!