Thursday, December 19, 2013

Quest Based Learning: A Model for the Flipped Classroom



Forty minutes of class time per day can be very limiting. It certainly does not provide an opportunity to teach everything and support students while working on their projects.  Furthermore, it limits the possibilities for students to extend their learning based on their interest in the content.  The ideal of differentiating instruction within this framework poses another challenge for sure. Over the past few years I have heard more and more about the 'flipped classroom'.  I think it's common to think of the flipped class model as having students watch a video or read the course content prior to a lesson so that class time can be devoted to discussion or work with the guidance of the teacher.  This is certainly one approach, but I am becoming increasingly aware that my classroom is flipped in a different way.


My course is conducted through 3dgamelab, a quest based 'learning management system'.  Essentially, students are presented with available quests that they can complete for experience points (XP).  The XP approach coupled with the achievements, badges, and awards provides a gamified layer which is appealing to many students.   More importantly, however, the quests provide what Jane McGonigal refers to as 'blissful productivity'.  Students are excited to complete a task, receive credit and feedback for it.  Often this leads to the next quest in the quest line which provides a nice approach to scaffolding the learning. 

I teach video game design and development.  I like to provide opportunities for my students to extend their learning as there are so many wonderful tools and learning materials available online.  This works beautifully in a quest-based classroom as students tend to work on these 'side quests' outside of class and they earn points which ultimately contribute to their grade.  It provides students with choice in the learning process.  This is great for differentiating instruction as well as allowing for extension activities for students who would like to continue the learning beyond the course requirements.  

Many of my quests include video tutorials that I have created (or curated) either during lessons in class or specifically for the purpose of demonstrating specific skills.  This allows students to work at their pace and review the content as many times as they need to rather than being expected to comprehend everything the one time it is presented.  This also solves the age old issue of re-teaching topics for a student that misses class for any reason.  

Generally speaking, my students have 3 large projects throughout the semester.  These are the main quest lines and during class this is what students typically work on.  However, to the observer, the learning environment looks more like a studio than a classroom.  I devote most of the class time supporting students as they work on their projects.  When I think of the goal behind the flipped classroom model, I believe this approach exemplifies the philosophy.  Students could complete the three main projects and succeed in the course, but most embrace the opportunities to complete side quests that are either related to the main quests or not.  Typically, I allow students to work on any quests they like on Fridays, adopting something similar to the google 20% time approach as it allows for student driven learning and often sparks interest for students to continue the extension activities outside of class.

One of the things I like best about the Quest Based learning environment is that there is a growing library of available quests through 3dgamelab that can be cloned and edited to suit your needs.  There have been many occasions where I have adapted some of the quests graciously created by others to offer additional learning opportunities for my students.  Likewise, I like to think that I have contributed a great many quests that can be used by others. On a similar note, once you put the energy into developing a quest or quest line it opens up new learning opportunities for students moving forward.  Last week was Computer Science Education Week featuring the Hour of Code challenge.  My students all participated, but the spirit of the hour of code should not only be celebrated during that one week.  My students can continue to complete the quests for XP and these quests are now already in place for my future classes adding to the value of my course moving forward.  

Scaling the course becomes intuitive due to the quest setup which enables the use of prerequisites to open up new quests.  You can set a quest to open after another quest is complete, based on a certain number of XP earned, etc.  One of my long term goals is to scale the game design and development curriculum down to the elementary level and up to the high school level.  Quest based learning lends so well to this as you can develop quests and break them up into different courses or have one course that is scaled based on working through the quest line.  If an elementary school student were to engage in the course and work through quests in order to reach higher level quests, why hold them back?  Likewise, from the standpoint of differentiation, it works well to allow students to start with quests at a level that they can handle.  

I hope that more educators start to see the value in this approach to teaching and learning.  Aside from teaching all of the skills and concepts in my curriculum, I believe that the opportunity for extending the learning will help cultivate a love of learning and demonstrate to students that they can continue learning out of interest rather than obligation.  After all, isn't the development of lifelong learning an esteemable goal in teaching?

What experiences do you have with a flipped class model?  Have you experienced quest based learning as a student or teacher?  I'd love to hear your feedback.  

Are you interested in learning more?  I got my start in one of the 3dgamelab teacher camps where I was able to be both a student (following the tracks that interested me) and an instructional designer as one of the tracks guides participants through the process of understanding quest based learning and creating quests for class use.  


Thursday, December 12, 2013

Hour of Code: Student Reflections

As the hour of code continues, I am continually blown away by the accomplishments and enthusiasm of my students (and my 10 year old daughter!).  I teach video game design and development and provide a quest based learning environment using 3dgamelab.  When students complete their quests, they submit the quest, often with a reflection on the activity.  Following are a number of reflections that I pulled out to share.  I will say that the overwhelming thing I am hearing is something to the tune of, "I thought programming would be hard, but...".  If that doesn't sum up the value of the Computer Science Education Week hour of code initiative, I don't know what does.  I am beyond thrilled that so many students across the world are engaging in activities this week to demystify computer programming.  I truly believe this is a game changer in terms of people's attitudes and perspective on computer science.  I'm sure the interest will sustain in many, but regardless, it is raising awareness and understanding in such a HUGE number of students (and teachers).

Before I share the reflections, I want to note that my 10 year old was practically begging us to purchase the full version of the lightbot app after participating in the lightbot hour of code activities which were free.  At $2.99 I think we'll invest :)





Reflections from students:

"I learned a lot about computer programming in this quest.  I thought that computer programming was difficult and complicated all the time, but it can be easy if you really try to comprehend it."

"I learned that the 4 steps of computational thinking are decomposition, pattern location, abstraction, and algorithms.  I had some challenges when a new block was put in like the "repeat until" and "if path" boxes." ~female, grade 8

"I learned how to use the repeat block which I had trouble with at first.  I think it's really cool but challenging to program." ~ male, grade 8


"I am getting to learn more complex programming that actually makes you think through all the steps, compared to before where you just guessed and checked.  I did have trouble choosing some of the blocks and figuring out the number of degrees to use in a couple of places."

"I liked this challenge because it taught me how to make functions and use them." ~male, grade 8



"I felt it was really cool that you could repeat actions.  It is really cool how computer programming works because it's not like how regular life works." ~male, grade 8


"I felt that this quest was easier than the others.  I like this one because the new blocks, the "while" block and the "if" block were really helpful.  I did not have any particular challenges completing this quest." ~female, grade 8


"This was where it got a bit challenging, but eventually through trial and error I figured out the problem and completed the quest." ~male, grade 8


"I really enjoyed this quest.  It was a fun new experience for me creating drawings compared to what I normally do, programming robots.  It was straight forward and showed one of the essential lessons of programming - no matter what you do with programming trial and error is key."

"In the second part of code, the Artist level was a little harder than the first.  I learned more though about algorithms and how computers work and make tasks easier.  A few particular challenges I had were drawing a circle and drawing a snowflake shape on level 18. Overall, it was enjoyable." ~ female, grade 8

"I learned about repeating.  Computer programming seems to work by taking the problem, coming up with a solution, breaking the solution into simpler parts, and finding the best, fastest, and easiest way to accomplish all of these." ~male, grade 8


I could go on and on, but I think you get the idea.  I think it's an incredible initiative and am so pleased to see so many kids exposed to coding.  Hopefully, the day will be sooner, rather than later, that coding is taught throughout the grades.

Please share your experiences.  I find it inspiring to hear what others are doing and how students are responding!



Wednesday, December 11, 2013

Code-a-rific! Embracing the Hour of Code Challenge.



Hanukkah has passed.  Now we are anxiously awaiting Christmas and Kwanzaa, but hold the presses!  It's Computer Science Education Week!!!  Feels a little like Christmas to me.  The highlight of the December 9 - 15 festivities is the Hour of Code Challenge.  Students across the world are committing to code for an hour this week.  From my experience, it seems like the hour of code is turning into the many hours of coding.  Regardless, everyone who participates is getting an opportunity to be exposed to coding and essentially demystifying Computer Programming.  This is a wonderful opportunity as hearing the words coding or programming can be very intimidating.  The activities offered this week are surely proving otherwise.

There are a number of heavy hitters involved in helping promote the event including, Mark Zuckerberg (Facebook), Elena Silenok (Clothia.com), Bill Gates (Microsoft), Gabe Newell (Valve), Will.I.Am (The Black Eyed Pees),  Chris Bosh (Miami Heat), Sheryl Sandberg (Facebook), Barack Obama, and many others.  These influential folks have been kind enough to help create instructional videos, public service announcements, etc. to help promote the event.



The point of entry to participate is quite simple.  Organizations like Code.org have set up turn-key opportunities to guide students through hours of coding including online and offline activities.  You can sign up as an individual student or as a teacher.  Teachers can provide students with the course code so that it is easy to manage their progress through the activities.  Students earn a certificate from many organizations based on completing an hours worth of coding activities.  The code.org activities use activities created in blockly, a programming environment developed by google that is based on Scratch.

Tynker, also based on Scratch is offering a variety of activities for students in grades 1 through 8.  Tynker also allows teachers to set up a class with a class code for students to join.  Again, this helps greatly with managing student progress.

Lightbot is a puzzle game that teaches programming and procedural thinking.  They are offering activities for the week that come with a certificate of completion as well.  My 10 year old was up pretty late last night 'playing' lightbot and learning coding without knowing it!  Lightbot has an app available at the iOS app store as well as the google play store.  This is definitely a great option for students in elementary school.

One of my favorites is Codecademy, which really does focus on true coding (opposed to the drag and drop block approach) but in a very systematic fashion that makes following and learning to program easy.  Codecademy offers tracks in JavaScript, PHP, Python, Ruby, and other programming languages.  You could create a full semester course (or more) using the Codecademy environment.

There are certainly other companies and organizations offering their approach.  Please visit the Computer Science Education Week site for more ideas and lesson plans.

While I'm at it, here's a pearltree I put together a while back to highlight coding resources for grades K - 12.

Code.org and the associated sponsors are even offering prizes for students who earn the 27 available trophies.  So far, two of my students at William Annin Middle School have reached this goal.  Prizes include a choice of software titles (Sim City 4, Portal 2, Fifa 13), $10 gift cards (iTunes, Skype), 10gb dropbox storage, etc.  One school in each of the 50 states will receive a classroom set of computers for having every student participate.  All teachers who have a class participate will receive 10gb additional drop box storage and several lucky schools will receive a guest skype session from one of the industry 'titans'.

Well, what are you waiting for?  Join in the celebration.  and Happy Computer Science Education Week!

Code on!!!





Wednesday, September 18, 2013

Iterative grading with Quest Based Learning

Those of you who know me, may know that Iteration is my favorite word (Right, Lisa?).  I teach Video Game Design and Development and the iterative design process is crucial to the learning.  Students design their games, begin to develop them, recruit feedback from their peers, incorporate that feedback, and so the cycle goes until a game is ready for prime time.  I believe so strongly in the iterative process as it truly teaches students that they should continue to work on something until they are happy with the results.  Likewise, recruiting feedback allows students to understand how others perceive their game.  It is very easy for the designer to think something is intuitive while the player may have no idea what they are supposed to do.

So, in the spirit of iteration and quest based learning, I have become very fond of the notion of grading as an iterative process.  In education, we are too quick to collect an assignment or administer a test and then move on regardless of what learning took place.  A student might fail the test or assignment and expected to move on regardless of the acquisition of skills or an opportunity to truly learn the content.  When this occurs, we are not valuing the learning, but rather the pace of instruction.  Failure is not seen as a learning opportunity, but rather a reflection of self worth. My new mantra 'iterative grading' aims to encourage growth, determination, persistence, and pride in student work.

I have been using 3dgamelab with my 8th grade Game Design and Development students.  The entire course takes place in 3dgamelab. Students complete quests and based on successful completion, they receive experience points and move on to other quests.  The 'main questline' follows the primary activities in my course and 'side quests' provide students with opportunities to extend their learning by exploring other tools and topics related to the course.  When a student submits a quest I receive notification that the quest is awaiting approval.  I evaluate the quest and either accept it, resulting in awarding the student with the designated experience points or return the quest in order for the student to incorporate feedback in the next iteration.  This is not meant to imply failure, but rather to help me provide guidance to the student so they can continue to engage in the activity until it is worthy of receiving full credit.  I explain this process to the students and they are showing that they understand by resubmitting their quests until they are successful.  I am even beginning to receive quests where a student indicates that they know the game is not finished, but they would like feedback so they could make the game better.  This level of awareness and appreciation of guidance is really wonderful. Whether a quest is accepted or returned, students receive ongoing feedback through the process.  



I am excited by the authentic evaluation opportunity this provides.  In the real world, we expect people to complete something worthy of submission. The same should apply in school.  I hope you adopt a similar approach.  I believe many teachers do.  When I think of this approach, I often think of the writing process, which is by nature iterative.  Students brainstorm, write, peer edit, edit their work, receive intermittent feedback from the instructor, etc.  It is rare that a student is asked to submit a research paper without some degree of iteration.  Clearly, this idea exists in other areas as well.  Perhaps it should be prevalent in all areas.
In summary, my goal is to embrace the learning and the process and not perpetuate the 'hand in your work...game over' approach to grading.

Your feedback is welcome.

Thanks for reading!


Friday, August 2, 2013

From Logo to Scratch: Daisy the Dinosaur and Hopscotch

Daisy the Dinosaur and Hopscotch certainly finds their roots in Logo and Scratch.  The programming environment provides a scratch-like approach to connecting blocks to teach coding.  Currently, they are both available exclusively on the iPad.  I imagine they will reach more devices in time, but I especially like the fact that they provide an opportunity to teach coding on the iPad.

Daisy the Dinosaur is especially great for younger students.  In my opinion, his app could be used to introduce students in grades K-2 to programming concepts.  The interface is beautiful and very easy to understand.  In fact, I give the developers a lot of credit for keeping it simple as to not overwhelm young students with too many choices.  Check out the video as the gentleman with the lovely British accent does a wonderful job walking you through using the app.



Hopscotch is created by the same people that created Daisy the Dinosaur and brings the concepts to the next level.  Hopscotch seems to be appropriate for students in grades 3 - 8.  Once again, there's no question that the developers drew from Logo and Scratch.  I was very excited to relive my Logo days of drawing fun designs by programming my iPad by connecting scratch-like blocks.  The graphic interface is fun and generally speaking, Hopscotch is very easy to use.  It is quite robust compared to Daisy the Dino (as it should be) and provides greater opportunities for students to learn coding on a deeper level.  



Who better to demonstrate a tool than a 9 year old? Nice work, Thomas!
http://youtu.be/MY-iplINut4

Hopscotch and Daisy the Dinosaur are FREE!  Download them and please share your impressions with us here!


From Logo to Scratch: Where it all began...Logo

Oh, how I love Seymour Papert and constructionist learning.  There's no doubt (at least in my mind) that we learn by doing and creating.  This idea is at the heart of Papert's work and dates back to his work with Piaget in the late 1950's and early 1960's.  I'm a fan of Piaget's constructivist theory as well and think that the two theories coexist when it comes to learning in the 21st century.

In the mid 1960s Seymour Papert, a mathematician who had been working with Piaget in Geneva, came to the United States where he co-founded the MIT Artificial Intelligence Laboratory with Marvin Minsky. Papert worked with the team from Bolt, Beranek and Newman, led by Wallace Feurzeig, that created the first version of Logo in 1967. (from the Logo Foundation website)
You can read more about the history of logo on the website as it is quite fascinating and is largely responsible for the push toward teaching coding in school.  Have you ever used Logo?  I have very fond memories of teaching our 6th graders to code with MSW Logo. For those of you who are unfamiliar, Logo is famous for the 'turtle' that you program to essentially draw on the screen.  It gets more complicated as you can incorporate programming constructs like user loops, input, variables, conditional statements, etc. Essentially, you are coding the turtle with commands like fd 100 (to move forward 100 units), right or rt 30 (to turn 30 degrees to the right), etc.  You can create subroutines in order to call upon code snippets within your program. as well.  Great language if you haven't tried it!

In the example above (from 14sia - Robotics), you can see a loop was created to tell the turtle to move forward 100 units and turn right 60 degrees, resulting in this lovely hexagon.
The culminating project that we had our students complete was to build a house using Logo.  They were required to create subroutines for certain parts of the house and ultimately write a program that ran all of the subroutines resulting in their house (oftentimes complete with landscaping, a car in the driveway, a playset out back, etc.).  I highly recommend the use of Logo to introduce young students (grades 2 - 7) to coding.  

Logo was the start and there were many spinoffs of turtle logo, but the concept continued to evolve further as you will see as I explore a variety of tools rooted in Logo.

For now, however, here are a number of versions of Logo for your exploration.