Learning to Code, Harry Potter & Bloom’s Taxonomy
You'll be creating Patronuses (I mean code) in no time!
Learning to code is not quick and easy. Many coders, including myself, have discussed reasons why learning to code is so challenging (here, here, here, and here). To become a programmer, you need to have experiences that force you to move through a hierarchy of learning objectives (known in education as Bloom's Taxonomy of Learning). Doing so ensures that you can progress from simply recalling coding concepts to being able to develop your own original code. Bloom's Taxonomy has six levels: Remember, Understand, Apply, Analyze, Evaluate, and Create.
In this post, I address the six levels in the hierarchy, describe the types of learning outcomes in each level using action verbs, provide a clear example from the Harry Potter series (with a link to the corresponding video clip), and then relate it back to learning to code.
In this level, you are able to recall, recite, define and list.
In this level, you are able to explain, discuss, describe, and report.
In The Sorcerer's Stone, Hagrid takes Harry to get his school supplies, and Harry takes the opportunity to ask Hagrid about his dead parents. Hagrid explains the events surrounding their tragic end, but also describes the condition of the wizarding world at the time, and they discuss the scar on Harry's head. When do you need to discuss your code like this? One example is when you ask for help. If you use Slack or Stack Overflow, it is critically important that you describe the code you have written, what you expected to happen, what happened instead, and what you tried as a result. You may not have the solution to fix your code, but you demonstrate that you understand where you are in the process. Force yourself to go through those steps when you want to ask for help. It will reinforce your understanding. Often, when I go through this process, I am able to answer my own question at the end. It is the process that engages our brain. (View Scene Here)
In this level, you are able to use, implement, and demonstrate.
During Defense Against the Dark Arts class in The Prisoner of Azkaban, Professor Lupin explains how to deal with a boggart, a creature that feeds off of your fears. First, you must concentrate on something absurdly funny and then clearly enunciate the incantation: Riddikulus. In the scene, the Professor has the students use the spell against a real boggart. Doesn't this example of applying feel like practicing? That's because practicing what you have learned is extremely important regardless of the subject. With coding, though, this means you can follow the coding requirements of a user story to demonstrate what you have learned. For example, the FreeCodeCamp curriculum asks you to complete a variety of assignments such as a tribute page, a random quote generator, and a weather application. To do this, you must recall and understand the coding required. You may still need to "Google" some of your code, but that is all part of demonstrating your ability to apply what you have learned. (View Scene Here)
(Can you guess the subject of my FreeCodeCamp tribute page? Take a look here.)
In this level, you are able to draw conclusions, make connections, and compare and contrast.
At the end of The Chamber of Secrets, Harry draws conclusions and explains to Ron that the monster from the Chamber is a basilisk, a serpent. He connects the information about the basilisk provided to him by Hermione with clues from each time the monster encountered a student (they were turned to stone rather than killed). Harry also deduces that the voice he (and he alone) has been hearing is the basilisk since only Harry can understand Parseltongue (snake language). As Harry draws conclusions, he has an almost "Aha" moment. It's not unlike the moment you examine error messages from your code in Chrome Developer Tools and know what to do to fix the broken code (analyze and apply). As a developer, you will need to analyze your code on a constant basis, but analyzing only comes after you not only recall but also understand and apply code. (View Scene Here)
In this level, you are able to critique, assess, select, and justify.
In The Order of the Phoenix, Harry teaches a group of fellow students defensive spells and charms to protect them if they should encounter a Death Eater. As Harry walks around the group, he assess the use of spells and offers suggestions on how to improve — he shows Neville how to properly move his wand and suggests he focuses on a fixed point. In one scene, he even raises some students' wands higher for better execution. Of course, you won't have Harry critiquing your code. Instead, a programmer must critique their own code and look for places to make the code more efficient. Doing this without changing the outcome of the code is called refactoring. Sometimes you need to evaluate code before you write it. For example, you may have a situation where you could use more than one type of function: is using an if statement better than using a switch statement? Weigh your options and select the most appropriate option. Evaluating is a natural extension to analyzing. (View Scene Here)
In this level, you are able to develop, design, work, and assemble.
We never truly understand just how brilliant Professor Snape is when it comes to magic until The Half-Blood Prince. Harry stumbles upon Snape's old Potions schoolbook, and in the margins finds that Professor Snape (known only as the Half-Blood Prince) has created brand new spells, many of them curses, and modifies existing potion recipes for better implementation. Unfortunately, Harry tries the "Sectumsempra" curse on Draco and nearly kills him. You don't have to create evil curses to know you have achieved some mastery in coding; instead, you can take an original idea, wireframe it, build it, and troubleshoot it. Notice, though, that you must have gone through all levels of the hierarchy in order to successfully create. Snape would not have been able to develop new curses if he didn't first remember principles of magic, understand spellwork and evaluate his progress. (View Scene Here)
Learning coding, like magic, isn't easy. It requires hard work and patience. You must remember that Harry doesn't really perform much magic on his own in the first book. He hadn't learned enough yet. Regardless, he still became a great wizard and eventually defeated the evil Voldemort. Keep that in mind on your journey to becoming a programmer. It won't happen over night. Focus on experiences that will move you through the hierarchy of learning.
One thing Harry has that we all need is friends to share the burden. With Ron and Hermione by his side, the three friends persevere through many challenges. Find your "Ron" and "Hermione" in the coding community by joining a study group, attending meet up events, and participating in discussion boards either on Facebook, Slack, or Stack Overflow. But be patient with people. You don't know where they are in the levels of hierarchy.
If you are a skilled tech professional working as a Software Engineer, Product Manager, UX Researcher or Compliance Project Manager and you would like to attend this virtual event, please email your name and LinkedIn URL to email@example.com to be considered for an invite.
Join Microsoft and PowerToFly for an intimate virtual event to hear from a panel of business and technology leaders from the Microsoft Azure AI Platform organization who will discuss their career journeys, dive deeper into current projects and answer your questions.
This special virtual gathering will be hosted on Microsoft Teams on Thursday, April 23rd from 3:00 PM PT to 4:30 PM PT (6:00 PM ET to 7:30 PM ET).
Agenda (Subject to Change):
- 3:00 PM PT - Kick-Off from PowerToFly
- 3:05 PM PT - Keynote address by Microsoft's Maria Alvarez, GM - AI Platform - Cloud + AI Division
- 3:15 PM PT - Panel Discussion & Audience Q&A featuring Microsoft Leaders
- 4:30 PM PT - Event concludes
I've been thinking about women's ingenuity a lot recently; after all, crises like the one we're facing now fuel innovation. They especially fuel innovation from those who are on the frontlines, in desperate need of solutions.
She’s Paving the Way for Women in Cybersecurity: How She Went from First-Generation College Student to IT Leader
A Conversation with Freddie Mac's Stephanie Johnson
When Stephanie Johnson, currently an Information Security Manager at Freddie Mac, was just starting her career as an IT professional, she found herself sitting in her car one night after work asking herself, "Why am I not being heard? Should I adjust my tone? Posture? What I'm saying?"
For when you can't read one more bad-news story.
I would never argue that the novel coronavirus is a good thing. COVID-19 has or will cause many deaths, a long-lasting global economic slowdown, and rampant general stress and anxiety.
As schools across the nation close, and the majority of businesses mandate remote work, working parents are now faced with the ultimate challenge - how to balance their families and jobs under one roof while COVID-19 still remains a concern.
PowerToFly is bringing thought-leading professionals (and working moms!) to speak about balancing our new realities and how to best optimize your time at home. In this panel, we'll discuss maneuvering the difficulties of working from home from taking conference calls to juggle homeschooling/ childcare.
Don't feel the pressure, your children, partner and pets are welcome to join this virtual chat!
Join us for this live Q&A to learn new tips, strategies, and hear personal anecdotes from our panelists that have shaped these women into the incredible founders and mothers they are today. You will have the opportunity to ask questions during our free, virtual conversation and have the chance to snag a giveaway sponsored by PowerToFly and our panelists!
Meet the Panelists:
Christine Michel Carter, Creator of Mompreneur and Me
Featured in The New York Times and The Washington Post, Christine Michel Carter is the #1 global voice for working moms. Christine clarifies misconceptions about working mom consumers for brands and serves as an amplifier of their personal truths.
Mary Beth Ferrante, Co-Founder & CEO of WRK/360
Mary Beth Ferrante is a mom of two and advocate for creating inclusive workplaces for parents. She is the Co-Founder & CEO of WRK/360, a career development platform designed for working parents and managers to help companies support, retain and recruit working parents. In addition, she is a senior contributor for Forbes and her work has been featured in Today, Thrive Global, Working Mother, FairyGodBoss, ScaryMommy, and other leading publishers.
Amy Henderson, Founding CEO of TendLab
Amy Henderson is the founding CEO of TendLab, a consultancy addressing the challenges and opportunities parenthood brings into the workplace. TendLab's research-based approach reveals how parenthood can unlock career-critical skills--such as resiliency, courage, and the ability to collaborate--skills which are especially important during this COVID-19 pandemic.