The world of computer programming has always been somewhat of a mystery to me. Don’t get me wrong, I am a whiz when it comes to using my phone to schedule meetings, send emails, play music, capture rogue Pokemon, sling disgruntled feathered creatures, or spell absurd words with my peers. But my phone has always just known what I wanted to do based on the ‘button’ that I pushed. Yet, I knew there was more to it than that. The thing could read my mind right? Or could it?
So when the opportunity arose to participate in the iOS mobile app development teacher training bootcamp for the MobileMakersedu (MME) program, I knew it was something I had to do.
Stepping into the world of computer science and coding
Walking into training, I had some base understanding of how software development worked, but there were so many different types of people who seemed to be a part of this “computer science” world. I was a bit confused. Coder, Programmer, Developer, Software Engineer—these roles all sound the same, and they have many similarities in what they do, but each one is unique in their skills sets. Here’s what I learned:
- A Coder is really the first step along the way to a career in computer science, they can use a computer language to write lines of code that will run and do a defined task. Generally that task is clearly defined and prescriptive.
- A Programmer on the other hand can take a concept or idea needed to run on a computer, synthesize the idea into program written in code in order to execute the task. They are able to write clean, efficient code and when problems arise with their code can debug and fix any issues
- A Developer uses all of the skills of a Programmer only on a larger scale and can more directly define and instruct programmers on they code that needs to be written to fit into the large project puzzle.
- Finally a Software Engineer is the person who determines the architecture of the software to be built, determines what languages to use for each specific part and how they will integrate with one another. This is a large and important job in the world of software development.
In many ways this seems to be a continuum, a pathway in the world of software development. It could be compared to how a kid who loves to bake cupcakes continues to build their skills toward becoming a master chef in a five star restaurant.
Where does MobileMakersEdu fit?
MobileMakersEdu is a course for high school students that starts at the beginning - students learn to code and build mobile apps. But, what’s different about this program is that MME offers bootcamp training to teachers of any discipline - so they can lead this class at their school - Wow!
Both students (and teachers) learn how to think like app developers. In the process, students must work through challenges, thinking critically about their apps and in the process begin to develop the foundational skills that are the cornerstones of the entrepreneurial mindset--build, test, iterate and continual growth and improvement.
Here’s the basic structure of the class: Students are put into an apprentice role, where they observe their teacher implement changes to a set of code, and the work to replicate the functionality of the code in their own way. The teachers facilitate investigations of key concepts of the Swift coding language through 'Hackwiches' where they model the writing of code, comments, and user Interface features of bite-sized sections of a real iOS app. In the process of learning these key concepts, students often fail, writing code that does not quite work, but must then test and retest to find a solution that works best with their code.
Once the basic app, or Minimum Viable Product (MVP), has been built, students are encouraged to recreate or customize their apps with “Stretch” activities that enhance their MVPs with additional features to improve the User Experience. Ultimately, students learn how to build apps to solve real problems.
So how does this fit into my training at the MobileMakersEdu Startup Teacher Training Bootcamp?
Diving In, Skilling Up... Startup Teacher Training Bootcamp
For one week, teachers with a variety of backgrounds and certifications came together to dig into mobile app development and the developer mindset. Our goal (and the promise!) is that we’d leave with the skills needed to lead this class at high school.
We were exposed to the classroom experience of MME Master teachers and learned how they prepare and foster student coders. The hard skills of coding mixed with a classroom environment, management, and assessment fill the teacher toolkit as they prepare for implementing the course with their students.
The Brain Drain...and Refill
Was the time in the bootcamp easy? Not at all. There were many headaches, quite a few frustrations, a few times when I almost gave up, one moment when I almost threw my computer through a window, a whole lot of A-ha moments, a ton of laughs with my fellow learners, and an amazing realization that I could really do this and teach an MME class!
While the MME bootcamp is filled with nights of in-depth, brain-draining, exhausting work, deep in the depths of the Xcode software writing, there was no better feeling than getting an app to run in time for the morning code review. The desire to push myself didn’t just come from knowing that If my name got pulled out of that hat, then I had to be ready to put my code up on the screen for all to see, dissect, and learn from. There was also some kind of force driving me to figure out the puzzle that was in front of me. All the answers were there, I just needed to push through and figure it out and when I finally got there, what felt like 10 minutes had been more than an hour and a half!
The facilitators of the MobileMakersEdu bootcamp are professionals in the truest sense of the word. They are seasoned MME teachers from schools across the country-having achieved ‘Master Teacher’ status years before. Not only were they able to put us into the shoes of our students, they were also there to share their teaching experiences with the MME program, complete with the challenges, bumps, tips and tricks that serve to round out a level of support that puts the minds of us newbs at ease.
We, empowered to be MME teachers, are not only learning to code, but in a few short months, could have a classroom of students looking at us for leadership and knowledge. It’s a bit unnerving at first, but the first year is a year of learning for both teachers and students.
Teachers may only be a day or two ahead of their students, but they can model learning and curiosity. The next year they’ll have more fluency with Swift and experience with Xcode, empowering them to eventually evolve into a full-on classroom software Developer.
A key component of the MME support provided by Uncharted Learning is a series of dedicated Slack channels that serve to directly connect MME teachers across the miles and hours, and support one another as the inevitable challenges arise throughout the school year. The Slack channels are moderated by software developers who are working with Xcode, the Swift language and build apps as their core careers. These experts are on hand to help and troubleshoot any problems that come in. This virtual sharing and collaboration amongst the teachers is where the community really lives throughout the school year.
A community that codes together stays together
MobileMakersEdu bootcamp is like other bootcamps where a beginner must accomplish a set of challenges and feats before truly joining the ranks of the community. You are not alone and sharing the experience with others in the same shoes builds a camaraderie and ultimately community unlike any other.
There were more than 20 teachers attending the bootcamp from all over the world—two from Hong Kong, two from Hawaii, and 16 others coming from Colorado, Indiana, Wisconsin, Illinois to reshape or enhance their learning with an understanding of iOS app building. Over the course of the week, I got to know each of my peers and began to build friendships that will continue virtually and at future MobileMakersEdu National Summits.
But the real beauty of the MME experience is what happened on the third day, when the newbs were joined by master MME teachers. The smiles and laughter that filled the room were reminiscent of when old friends come together after many years apart. The MME community is a tight-knit group of teachers who share, learn and enhance each other’s classrooms as a team. They also challenge each other to grow as leaders, supporting sessions and sharing their learning with new teachers. When joining the MME community, you are able to create a classroom run by one teacher but bolstered by the energy and thought of a community of learners.
I am a Coder
By the end of the bootcamp week, I had built about 8.5 apps. The half app is one that I’m still working on--Wordplay. It includes a ViewController that Seques to a new Stackview that displays the string of labels depending on what the user decides. I’m still working out the function to send the Textview but I’ll get there.
One of the app, Intergalactic Travel, I loaded onto my phone and was able to show my son who puzzled with it for a minute or two, then asked “How did you get the images to come up randomly, Dad?”
Perhaps I’ll be starting up my own MME class in my basement this summer. So long as I’m a day or two ahead of him, I know I’ll be okay. It would be my first year teaching MME after all. My next son will have a much better teacher.