I received an email from a teacher colleague last week and it contained a single sentence–a question: “I wonder if you might give me your definition of modern literacies?”
I was intrigued, not only by the question but also by the reason behind asking it (which she explained in a later email). In any case, I did have some ideas about this but I never really worked it all out and wrote it all down. After writing back to her, I started to look up other people’s ideas and definitions and found a wide range of explanations. I find the topic of literacy and media, old and new, fascinating.
So here is what I wrote back. (Please comment at the end of this post to discuss. I would love to hear your ideas and thoughts on this.)
When I think of a child who is developing literacy, I think of him/her as developing competencies in both consuming and creating information in different media. By competency, I mean that students are making meaningful connections to their current knowledge and thinking critically about information they are consuming. Likewise, by competency, I also mean that students are communicating clearly when relating their ideas (expression) and effectively considering the needs (and characteristics of) the target audience(s) for the information they are creating.
I think the word literacy could be used to describe competency at different levels. For example, one could say any of these three things:
- How well do you use social media to share and learn? (How literate are you with digital media?)
- How well do you use Twitter to communicate? (How literate are you with Twitter?)
- How well do you use hashtags on Twitter? (How literate in hashtags are you?)
Regarding the idea of modern literacies, I think literacies involving media that are newer (e.g., YouTube, Twitter, Instagram, wikis, blogs, texting, email, etc.) one could discuss the development of literacy in each of these media and each could be considered a modern media, each with a corresponding literacy. There is certainly a fair amount of overlap of competency in each of these but I think there are also medium-specific competencies that are unique.
Additionally, I think the term modern literacies should be considered a relative term–what exactly it means would depend on the period of time or generation you are talking about. TV media would have been a modern literacy in the 1950s and 60s. When I reflect on the importance of media-specific literacies, I often think about a very well known (and well studied) debate that took place between Nixon and Kennedy in 1960. It was the first televised debate in the US. You can watch it below.
When watching the video, you can see how relaxed and healthy Kennedy looked, but Nixon looked thin and often very uncomfortable. There’s a good article from TIME called “How the Nixon-Kennedy Debate Changed the World.” This debate is an excellent illustration about how a medium conveys far more information than the raw information contained in the spoken words. People who heard the debate on the radio felt Nixon won. Those who watched it on TV thought Kennedy won. By 1960, 88% of households had TVs. Kennedy ended up winning the US election as we all know.
Where is the math in coding? As much as I think that the connections between coding and mathematics are obvious, I think that there is a process involved in noticing and noting when mathematical concepts are demonstrated–some are clearly in use in students’ code and are easy to notice; other concepts are also in use but are more difficult to identify. I have always liked to think that code is thought made concrete. One of the greatest benefits of students learning through coding is that their thoughts become concrete, visual, manipulatable, discussable, viewable, and so on. This single affordance of code written by students makes seeing the math and the thinking possible!
Assessment for / as learning
Being in a teacher role and finding the mathematical and computational thinking in a student’s code in the midst of a group of busy students is not a simple process. I think it’s a skill, but one that can be learned and practiced.
Moreover, being in a learner (student) role in the classroom and finding the mathematical and computational thinking in one’s own code is also a skill and one that is worth practicing, as well.
When the teacher identifies mathematical concepts at work in a student’s code, and takes the time to notice it and have a conversation about those concepts, that’s assessment for learning. When the student identifies mathematical concepts at work in their own code, and takes the time to notice them and have a conversation about them, that’s assessment as learning. Each of these strategies should drive further learning, exploration, tinkering, and reflection. Both of these kinds of assessment need to be active all the time and structures need to be put in place to support them. Quality assessment for/as learning do not happen by accident.
Finding the mathematics at work in student programs
Even to a beginning Scratch user (student or teacher), I think the following example from a project created by a grade 5 student called Marie (not her real name) is clear and compelling.
After a few sessions of playing with Scratch and learning how it works on a basic level, there was a student sharing session where she learned that Scratch can draw things with a pen. The class was challenged to draw two-dimensional figures using Scratch. She wanted Scratch to draw a triangle (that week, the class was also in the midst of constructing various triangles on paper with protractor, pencil and ruler). This is the first attempt by the student:
There is a good amount of mathematical thinking to notice and note here. Even though no triangle was drawn, the code clearly demonstrates that Marie:
- knows that the sum of the three angles of any triangle is 180°
- knows that an equilateral triangle has three sides of equal length and three equal angles, each 60°
- is trying to transfer the steps in her paper and pencil drawing strategy to the Scratch environment
Why didn’t it work? This did not need to be asked; Marie said this aloud to herself. But then, her mouse started to click the green flag over and over, faster and faster. Her screen looked something like this when that happened:
“Oh look! A hexagon!” Some students around her looked over to see what was going on. Marie then proceeded to change her code. Very quickly, it looked like this:
She had meant to draw an equilateral triangle but she managed to draw a regular hexagon instead. After a fair amount of excitement and sharing, I reminded her about what a student had shared during the one of the previous sessions about the repeat block.
Whatever the repeat block has in its mouth will repeat the number of times indicated. The result:
Repeat blocks and looping logic in code can be applied to various concepts. This example shows a geometry and spatial sense idea where specific regularity and repetition of line lengths and angles result in different figures. Let’s get back to the triangle. Marie was simply asked by her teacher after the discovery of the hexagon: Now, what’s going on with the triangle? Marie changed the 6 to a 3 in the repeat block:
So Marie and I had a conversation about her work. I asked: “Where are the three 60 degree turns. They have to be there because I see them in the code. What is going on?”** (see note below) This was enough of a prompt and an encouragement. Nothing was wrong with her thinking. But she realized pretty quickly that there was a difference between her drawing an equilateral triangle on paper and getting Scratch to draw one. Through some more conversation, she narrowed it down to something like: I am doing something extra when I draw it on paper that I left out in my code. Something was missing.
I came back to her about ten minutes later and saw that she made some revisions to her code and she had a protractor in her hand. She showed me something interesting. “I found the three 60 degree turns” she said. And there they were:
She explained that Scratch turns 60 degrees clockwise starting from whatever direction he was facing. Looking at the protractor, she could clearly see now that he needed to turn 120 degrees after drawing the lines each time. She changed the 60 to 120 in her blue turn block:
The great part of using Scratch as a tool through which students can learn concepts is that there is both a meaningful, logical experience in which a product was created as well as a safe, social component where other students or a teacher can have a conversation about the thinking and figuring out as it is happening.
“I’m going to write my blog post now,” Marie said. She knew that was always part of the process and a reflective blog post was a requirement not only for consolidation but also for later reflection during a future time when this experience could be used, transferred, incorporated, remixed, and so forth.
At the end of all this, I think I said something like: “Great! Can’t wait to read it. And I can’t wait to see what you do with the hexagon you made before!” Looking back at observations from the week before, not a single student in the class had accidentally created a hexagon when drawing a triangle using paper, pencil and a protractor. And I would be surprised if Marie did not know now, simply through hard play, that each interior angle of a regular hexagon is 120°.
This post was about Marie’s geometry project on Scratch as well as a few observations I made and conversations we had. But there was a whole class of other students exploring geometry through Scratch. Check out what Karanvir was doing with a right triangle:
** “Where are the three 60 degree turns. They have to be there because I see them in the code. What is going on?” — I am always learning how to best converse and talk to students during their thinking and figuring out. My biggest goal is to not do the thinking for them, and more: how to spark, encourage and pose good questions that provoke or prompt thinking in different directions. There would be a long list of ways to respond to Marie at this point. In my opinion, one of the worst would have been something like: “Oh look – I think you need to put 120 instead of 60 in for your turns. Try that and see if you get a triangle.” This could easily be seen as helping the student be successful. I get that. But the point of the whole exercise is that the student learns that a tool like Scratch can help them to think, experiment, play, share and discuss.
Thanks to Jonathan So for the provocation:
In my own mind, I prefer to think of my list as realizations that defined me as a teacher.
Teaching grade one made me (professionally speaking)
I have spent a total of six years of my career teaching grade one or a one/two combined class. My very first year of teaching was a one/two combination. I knew nothing. I learned many things in my BEd degree (for example, I had an exceptional P/J mathematics instructor!) but my training did not address how to teach children to read. And I certainly did not learn how to do it in my very first year of teaching. I had no choice but to allow the wide range of my students’ competencies and confidences drive my own professional learning with respect to what I had to do to support each one of them in their journey towards literacy. It also clearly demonstrated that I had to learn with and from other teachers and make a commitment to continuous professional learning. These values and commitments continue to shape my learning.
My children changed my teaching for the better
I can honestly say that I did not have a real understanding of the impact of school and teachers in a child’s day-to-day life until I had children of my own (two daughters). I am guessing that most teachers with children would say the same thing. My knowledge before children of my own was completely one-sided, teacher sided. This is not to say that a teacher without children will/can never know; there are ways to learn. But, having children, and living the parent role and being a witness to children attending school, informed my approach to teaching at a very basic level. Among other things, I think it underscored strongly the importance of empathy, listening, relationships, and student passions/voice.
Who is in control of the learning?
I admit it. In my early career, I feared losing control of my class. Not only in the behaviour sense but also in the learning sense (and, of course, now I know they are both completely connected). I planned all the learning my students would do in advance of the day making pretty much all the decisions about how concepts are best taught (and learned by students). Of course, that worked for a small group of my students but many had “problems” that needed more time, remediation, reteaching. Those students were having difficulty learning. Actually, no… they were having difficulty with my assumptions about how to best learn it! This was a hard realization to let take hold of me. But it did. I was creating problems that should never have existed. Now my mindset is a clear one of learning reconnaissance, iteration, feedback, and true informative assessment—what do students know, how does each child learn, what is exciting to each one, where are they coming from, how does each child proceed, how do I do things that respects how children learn, how do I interact and support learning in a culturally responsive way, how can I model growth and co-learn, how can we make things and talk about things with each other, how do I put them in the driver’s seat of their learning and their lives? It’s a long list of questions instead of a long list of assumptions. That’s the key. The reason my blog is called makelearn.org is a result of this realization. And Seymour Papert puts it nicely (see the quote at the very top). Then, when I read Bo Adams’s post a few years ago, I instantly loved his notion of one “C” to rule them all.
Project-based learning & constructionism
If the previous realization was the “what/who” than this realization is the “how” or the verb that causes the action of learning. How do we get there? Projects! Passions! Play! Peers! Making things. Reflection and discussion. Iteration. Growth mindset. Design. And so on. I still remember the very first PBL-based activity session with my students. It was unnerving and exciting but I knew it was the right way to go. Voice and choice were honoured. It was very inconvenient initially as I did the heavy lifting of connecting the curriculum to the student’s learning (so that I could write report cards). In time, we did that together – we looked at the curriculum together and figured out a learning direction together. We made the map together. We learned about how we would know if we knew. The responsibility was shared and expectations were high. But the students were in the driver’s seat. Sometimes I was a bit like a driving instructor, sometimes I was a curious (and very interested) passenger.
Curriculum – segregated vs. integrated
This realization is a result of the PBL and constructionist activities of my students. The current curriculum is designed and communicated specifically for the convenience of teachers (and reporting), not students. It is segregated. Everything to be learned is clearly pulled apart, domained, listed, ranked, organized, and so on. In the process, though, a lot of the meaning and purpose is pulled out, too. In my early career, I felt responsible for reintegrated the curriculum and trying to find ways to inject meaning and authenticity into my students’ activities. However, again, those were my decisions and my plans that were set in advance and it pretty much ignored student interests. No student voice. No real choice. The curriculum still IS segregated into different domains. But everyone knows that the real world and real interests don’t work that way. Real learning is authentic, meaningful, significant and, I think, should be project-based and connected at the centre to student interests and social justice. This is not new. Cross-curricular and multidisciplinary approaches are common. But official curriculum documents usually silo domains of knowledge. Wouldn’t it be interesting if a curriculum was written to be convenient for students and learning rather than for teachers and instruction?
“I wanted to make it play the theme from Star Wars.”
So began a Grade 5 student’s response this week when I asked her what she was working on with her micro:bit program. It was her very first session with it but she, and the rest of class, did have several other experiences in recent months making things with Scratch.
I recorded a video in which she runs her program for me; you can hear the theme.
She then went on to explain that she had recently learned how to play the theme from Star Wars on the recorder. She knew the fingering, the notes, and the length of the notes. Now, she decided to make the micro:bit play it. She showed me how she used the ‘play tone’ blocks to make the notes and set the length.
Here is the bit of code she made that plays the notes:
Three things made a strong impression on me as she told me more about her project:
- She came up with her own exciting idea to do something on the micro:bit and was given the encouragement and support to try it. She was passionate about the idea.
- She transferred her knowledge of playing the recorder to coding the micro:bit to do the same thing. This reminded me of Papert’s notion of syntonic learning in Mindstorms (although not exactly the same).
- She transferred her knowledge of making & coding in the Scratch environment to the process of making & coding in the makecode environment she was using.
And, there was a fourth thing that made an impression—the variety of projects by the other students in the class. By genuinely inviting students to pursue their own exciting ideas and passions for an initial project on the micro:bit, they were highly driven to see it come to life. In the span of about 45 minutes, and in the very first session, students made digital dice, a magic 8-ball, and music or message events tied to buttons. They were already talking about things they were going to work on at home.
If you have not yet read it, I highly recommend reading this article called A Different Approach to Coding written by Mitch Resnick and David Siegel. The 4P approach outlined in the article (and summarized below) is a tried and tested set of guiding principles that results in a higher level of engagement, motivation, exploration, and far more meaningful knowledge & skills being developed over time (I recently wrote about the kinds of knowledge and skills I would expect of effective coding to learn experiences).
[Updated July 2017]
I want to share my set of “coding to learn” outcomes. These are the things that I am looking for in children who are coding in educational contexts. These are the targets in my mind. To me, these represent the powerful learning potential in coding to learn.
“Coding to Learn” Outcomes
- learning to express their creativity using coding and technology
- learning to solve a variety of problems encountered in their projects
- demonstrating a growth mindset (rather than a fixed mindset)
- speaking mathematically to the computer/device through their coding
- making exciting, personal ideas come to life through coding (this serves as the prime motivator for students to learn, play and push their coding skills further every day)
- creating meaningful software applications rather than isolated chunks of code
- actively learning from, and sharing with, others (face to face & online)
- learning to visualize a process that accomplishes a task in their project
- learning, practicing and refining the design process
- reflecting on their thinking and learning in order to transfer to new challenges
- excited about learning and exploring coding and technologies on their ‘own time’
But where is the curriculum in all this? That’s probably a great topic for a different post but I do strongly believe that, for example, the ‘math curriculum’ could be completely integrated within a year long series of programming projects by students. I firmly believe that, within a constructionist philosophy, all crucial mathematical concepts could be built via effective coding experiences.
Over time, my approach to introducing coding, and the way my student use coding to learn, has changed. I hope it has improved. The way I measure my success is how strongly I observe the above “Coding to Learn Outcomes” in my students.
Below I have tried to describe, in a concise way, the progression in the way my past students have learned to code and learned through coding. At the beginning of my teaching career in the early 90s, I admit that I saw computer programming as a skill and as a separate subject. When we explored programming in my grade 5 classroom, that is how I approached it and how students saw it. Over time, I’ve made many changes to my philosophy and my practice in order to get to the potential outlined in my “coding to learn” outcomes.
Most outcomes are NOT evident or VERY WEAK
- Coding is approached like a separate curricular subject
- Coding is not understood as a literacy
- Taught as discrete lessons, teacher driven, skills based
- Focus is “learning to code”
- No integration with other learning, school activities, or students’ interests
- Coding tools chosen by teacher are designed for programming, not learning through code
- Teacher role is instructor and coordinates learning through series of lessons
- Students learn to code within a linear instructional design
- Assessment is based on coding quizzes and tests
- Sharing or remixing code is seen as cheating
Outcomes that are in evidence are WEAK
- Focus is still “learning to code”
- Mostly skills-based approach, series of lessons or assignments
- Coding not understood as a literacy or creative tool
- Lesson-based but some time for exploration, some choice
- Coding is a short unit, not integrated into other learning
- Some effort to make learning to code more meaningful beyond just a skill
- Use of coding tools with some effort to connect code to more meaningful things
- Teacher role is instructor but encourages some student-chosen explorations
- Some deliberate attempts to connect learning from coding
- Assessment based on quizzes, test, and projects
Most outcomes are in evidence and STRONG
- Focus is “coding to learn” rather than “learning to code” but both occur
- Coding is understood as a literacy through which ideas can be expressed
- Attempts are made to integrate coding activities into other learning and school endeavors but not to high degree (full potential is not realized)
- Student-centered approach, student voice and interests are valued
- Regular sharing of ideas and code is encouraged between students
- Choices for students, coding challenges, longer term projects
- Students are encouraged to solve problems together
- Teacher role is coach, modelling growth mindset
- Teacher reflects on expected outcomes vs. observed outcomes
- Assessment based on teacher observation and student projects
- Regular, deliberate attempts to connect learning and coding; learning through coding has authenticity to students
- Regular, deliberate attempts for student to reflect on coding, thinking, etc.
Most outcomes are STRONGLY in evidence and ROBUST
- Focus is “coding to learn” rather than “learning to code” but both occur
- Coding is integrated into other learning and school endeavors
- Coding is understood as a literacy through which ideas can be expressed
- Students engage in long term projects / inquiries of learning through coding
- Projects and programs arise from student interests and passions, teacher’s role is to help connect to curriculum expectations; student interest came first
- Regular sharing of ideas with peers and online discussion
- exploration and playing with ideas and code is actively encouraged and shared with peers
- Teacher role is coach, modeling growth mindset
- Teacher is co-thinker, co-coder, co-learner
- Teacher reflects on expected outcomes vs. observed outcomes
- Assessment based on teacher observations, conversations, interviews, student products, student surveys, and student reflections
- Regular structures in place to connect learning and coding (using coding literacy in other aspects of school activities, meaningful, authentic use is primary goal)
- Regular structures in place for student to reflect on what they are learning through coding experiences
Coding in education is once again gaining more and more popularity in education. There are now too many coding tools, online and device-based, to keep up with. There are so many choices now for students, teachers, or for anyone looking at using coding in education. Choice is great but it creates a new challenge for teachers – which tool(s) is best for my students?
But coding in education is special. It’s not just learning about loops, variables, objects and if…then statements. Coding to learn in education has a long history. But computer science and computer programming also has a long history. Often, they are getting mixed up and, I think, there is time and effort being wasted as a result.
Here are the terms again with an explanation as I see it:
- Coding to learn (constructionism)- the focus is on being creative, designing things, and learning concepts through the act of computer programming. Projects are coded in a social environment, ideas, problems, solutions are shared and discussed. The nitty gritty of the programming code itself is important, too, but not the primary focus.
- Learning to code (computer programming) – is a discipline and skill in which a human is creative and designing things, and puts together codes and symbols, in a logical, organized way, to instruct an electronic device what to do with input or data. The efficiency and structure of the code is paramount as is the program’s capability to complete the computing task(s).
Neither is better or worse than the other. And both overlap and are interrelated. The question I want to raise is: which one is the primary focus when students are coding?
Students are learning things through the act of programming when they code to learn. Students who are learning to code are learning to be adept at programming (e.g., good efficiency, algorithms, structure, design, readability, annotations, etc). I think BOTH will happen despite the focus, but I think educators need to think about focus all the time and understand why their students are spending time coding. I wrote about this a bit before in this post.
If the focus is coding to learn, then I think there are other considerations that must be made besides the focus. For example, is the tool students are using in sync with the focus? This is where I am seeing some time wasted. There are lots of educational coding tools available but there are few coding to learn environments. Lots of blockly or Scratch-like block code tools are great for providing options but often they are missing essential components that make the tool better as a learning and thinking tool. (Likewise, there are software development environments that are specifically designed to facilitate rapid application development and provide the essential tools a programmer needs.)
I freely admit that I am a Scratch chauvinist. I think that the Scratch environment, which continues to be free and has been online for many years, is the best place for students to be coding to learn. Why? Because it has built-in features that support tinkering, creativity, sharing, discussion, remixing, experimentation, exploration. It was designed from the beginning to allow for:
|tinkering and playing – the coloured code bricks are inviting to children, like LEGO they snap them together and try them out and see what happens. Bricks are groups according to their purpose, for example, blue bricks are for sprite movement or location, orange bricks for variable functions.|
|personalization – children can make their projects more interesting and meaningful by using their own images and sounds if they wish. Image files and sound files can be uploaded. Audio can also be recorded within Scratch if a microphone is available. Images can be edited within Scratch.|
|collaboration – Scratchers are not alone; they form a community of makers, tinkerers, artists, game designers, and so on. Projects can be shared and remixed by anyone in the community. Discussion boards are connected to each project and to every studio.|
In addition to these design principles, Scratch was developed to have a low floor, high ceiling and wide walls. This excerpt from Scratch: Programming for All explains these ideas:
Finally, one of simplest, but most important, features of Scratch is that it is a cloud-based tool. Users can create and save their work in within Scratch environment. And, because it is a cloud tool, students can access and work on their projects from any computer simply by logging into their account. This facilitates quick and easy access; that means that long-term, project-based learning is supported. Research I have read, and my own work with students over the years, has shown that “one-off” or isolated experiences with coding has almost no impact on student thinking and problem-solving and it is not meaningful to students. I have witnessed students working on long-term projects in Scratch—they care deeply about what they are doing, they think about it between sessions, and they are continuously engaged in this balanced interplay between creativity (getting exciting ideas about what they want to do) and problem-solving (making the ideas come to life in Scratch).
Dear Apple, Google & Microsoft:
I am a teacher and I like it when technology empowers my students, gives them voice, and helps them to create, design, share, and discuss. Your tools are great and they are used in education to do all of these things. Thank you. Sometimes the tools are free and sometimes they have to be paid for. Fair enough. It’s business. And the competition between you will keep the tools sharp, useful and relatively cheap. I hope.
I’ve even checked out and tried out many of your certification programs that you offer for your tools. I have certifications from all of you but I decided early on not list them; I didn’t want to be, or appear to be, aligned or biased towards any specific tool or company. Students and learning are my focus. Nevertheless, I am tempted to list them, sometimes, when I look at other educators’ social media profiles with strings of certification letters. It shows that they have met a certain standard and now, other people know it, too.
Don’t get me wrong. I am extremely pleased with the availability of your various high quality tools, both hardware and software, for my students to use. And I don’t for one minute think less of any teacher who achieves and/or lists certifications from Apple, Google and Microsoft in their profile. As I just said, I have a bunch of certifications, too. My concerns don’t rest with my colleagues at all. My concerns rest with three specific issues I have:
- a feeling of ‘being used’ as part of advertising
- losing sight of what really matters
- that one company’s technology has everything you need
I know ‘being used’ might sound a little harsh… and it is probably hypocritical, as well, since I have certifications from all of you. But I am getting more and more suspicious of these certifications. Are they really helping teachers to learn more about how technology can be used to empower students and transfer agency to them? I read the rationales in your ads about your certification programs and I wonder. The ads say things like: “You’ve spent the time growing your skills, now get certified to be recognized for the work you’ve done” (1) or “As an Educator you can build skills on iPad and Mac that directly apply to activities with your students, earn recognition for the new things you learn, and be rewarded for the great work you do every day” (2) or “The Microsoft Certified Educator (MCE) certification validates that educators have the global educator technology literacy competencies needed to provide a rich, custom learning experience for students” (3).
But in every certification process I have participated in, I’ve never been asked to critically compare similar tools from different companies in terms of their efficacy with students. I’ve never been asked how I could combine tools from different companies to best meet the needs of students. I’ve never been asked to explore in-depth how a tool, combination of tools, could help students think, learn, and share. (Interestingly, there was one certification process where I did do all of these things quite regularly—but that was in university.) So, I cannot help but feel that these certifications (and the constant encouragement to share them) are more about business competition and advertising and less about empowering modern learners.
What is most important in education is learning. What helps kids to learn better? What barriers are in the way of learning? What empowers kids? To me, these are the essential questions and these are the things I find that I have to constantly keep reminding myself of. As cool as Google Expeditions are, for example, one must ask how specifically it will help kids learn better? I’m not saying that it will or it won’t… My point is that one must take care not to lose sight of what really matters. I admit it; I am guilty of it all the time… and, all the time, I have to work hard to center my thinking on learning, and then surround myself with these essential questions: What helps kids to learn better? What barriers are in the way of learning? What empowers kids?
I am always asking and thinking about three questions regarding the use of computer programming as a tool for (co)learning, (co)thinking, (co)designing, and self-expression in schools. Within educational contexts, my questions are:
- What is the promise of coding to learn?
- What is the promise of learning to code?
- How can the promise of each be be realized?
This post is in no way an in-depth look at each of these questions; in fact, exploring these questions amounts to a significant chunk of my on-going professional learning in a career-long journey that started with this thesis.
But, recently, I’ve been thinking far more intently about the role of reflection applied to the development of coding projects by students and how reflection might enhance learning and transfer of learning. I have made observations of students coding; I have interviewed students in the midst of designing and realizing their projects; and I’ve reflected on my own experiences with computer programming over the years.
I’ve noticed that after solving problems that arise in coding projects, children often forget, or don’t attend to, the details of their thinking process when looking back at the program. While it is true that the result of their thinking process is captured in the product they created, how can we (and they) gain insights into the process?
What I have also observed, and felt as a programmer, is that the kind of reflection I am talking about is not helpful at the time of solving the problem. Keeping notes about how and what I am thinking when I am solving a problem would interfere with thinking itself! Any extra descriptive information I might want to capture in the middle of coding is usually highly practical (for example, I might want to make some notes about how a list of variables is being used in a function or I might want to write a note to myself in the future when I start to work another part of the program).
But one of the promises of learning through coding is the development of creative problem solving competency that can be transferred and applied to new contexts. That is, it is not enough that new knowledge and skills are learned… one needs also to learn how to apply the new knowledge and skills in the future. This is a paraphrasing of Papert’s Principle: Some of the most crucial steps in mental growth are based not simply on acquiring new skills, but on acquiring new administrative ways to use what one already knows.
So, this is the focus of my question. How do we as educators help, support, encourage, facilitate, ensure that learners are acquiring new administrative ways to use what they already know? I am thinking reflection could be a powerful strategy–placing value and taking the time to really think about what was learned or figured out… thinking about how problems were solved, what mistakes were made and what success were had?
In my role as an educator and facilitator, I’d been reading these reflections and having conversations with students and looking to highlight any of the following:
- creative process
- design process
- problem solving, testing, debugging
- generalizing strategies & concepts
- programming repertoire
- code portfolios & remixing
- learning transfer
What if an appropriate reflection is attached to the product, either in contextual notes within the code itself and/or by creating a parallel product such as a blog post in which reflective thoughts are captured? The criteria behind “appropriate” I think is the most important part of this and this would vary depending on quite a number of factors. I am currently facilitating a lot of 9-10 year olds working on long-term coding projects in Scratch. So, perhaps some reflective questions might be:
- Tell the story of your project. Why did do it? How did the ideas for parts of your project change after you started?
- How would describe the design process you used in your project? Imagine you are telling a friend about it who is interested in working on a similar project.
- Tell the story of how you solved problems that came up in your project? Try to name the problem and describe why it was a problem. What was the process you went through to go about solving it?
- What new ideas, questions or goals have come about as a result?
- Create a timeline, description, process steps, of the creation of your project from start to finish?
I continue to think about the role of reflection and how to incorporate reflection with these students in way that is actually useful to them. I’ve been rereading a number of resources about reflection in learning within this new context. Here are some I have been looking at; if you have some great resources or you have ideas, comments or responses to what I am thinking about in this post, please comment below.
Some learning transfer and learning reflection resources I’m looking at:
- Learning through reflection from Learning and Leading through Habits of Mind (2008)
- Learning By Thinking: How Reflection Improves Performance (2014)
- How Planning and Reflection Develop Young Children’s Thinking Skills (2003)
- Scaffolding Student Reflections + Sample Questions (2015)
- New frameworks for studying and assessing the development of computational thinking (2012)
- Skill may not be enough: The role of mindfulness in learning and transfer (1987)
- Learning about Learning enhances performance (2001)
- Transfer of Learning (1992)
I did a little research because I didn’t want to assume… But, as far as I can tell, many school districts in Canada and in the United States call a group of educators writing together a “writing team.” They assemble writing teams to write curriculum resources for teachers, documents that promote best practices in assessment, instructional design, effective teaching, summaries of new research about educational practices, and so on. I’ve written on a few writing teams.
My question is this: When is a writing team appropriate and when is a curation team appropriate? By the way, I’m not sure any district has ever formally organized a curation team… I just made that term up. But, in any case, it would seem to me that, there will be contexts in which the best resources are the most current resources or newest resources. If innovation is the goal, then a static resource might not cut it.
Some might argue that curation is often one component of what writing teams do. They review research and summarize what is most applicable to the educational practice being addressed. That might be but my idea is different. My idea is the idea that the team is committed to an ongoing project of specific knowledge curation, and not a big one time creation.
My point is that I think there should be careful thought put into the nature of the knowledge that is to be created. When is it more appropriate, or necessary, to have static knowledge created and when it is more appropriate for the creation of resources that are dynamic, that is, updated, edited, and improved on a regular basis? I would love to see three kinds of knowledge creation teams in action: writing teams, curation teams, and hybrid teams.
For example, the thoughtful review and presentation of careful, painstaking, peer-reviewed research into certain educational practices might be more suitable for writing teams. I think the Ontario Ministry of Education’s collection of monographs called the Capacity Building Series is an excellent example of a very useful (yet static) set of resources for educators.
Much of my own professional work in education involves technology and new innovations and new ideas are shared daily. Let’s say a school district wanted to assemble a writing team about using coding in the classroom to support learning and thinking. This might be a job for a curation team. Instead of meeting for several days or weeks to write a single resource, the team would meet regularly through the year for short periods of time and curate (review, select, annotate, organize, share) resources on an ongoing basis.
I think it’s harder to find dynamically created/curated resources because they don’t look like traditional knowledge. I think a wiki is the killer app for ongoing knowledge creation but I’m not sure about curation. There are lots of curation tools (for example, storify) but perhaps the choice of curation tool is bound to the context and purpose of the content.
I think there is great potential for a hybrid team to write/collect a solid core set of resources and then to be bound by an ongoing mandate to curate resources… to keep improving, adding to, culling, and annotating so that they are as useful, practical and as fresh as possible.
This the third update about our year-long game design project in grade 4/5. The game designers have one goal:
Design and code a game in Scratch that makes learning about fractions fun and easy for younger students.
The target game-playing audience for this project are grade 2 students. You can check out the progress of the games at any time by visiting our Fraction Games Scratch studio:
One of the books I have been reading this year is called Launch: Using Design Thinking to Boost Creativity and Bring Out the Maker in Every Student and I am attempting to see how that design thinking approach (lower left) can inform what I am doing with these students this year. So far, I continue to see many similarities to other design cycle and learning frameworks I have found useful, the simplest of which is Mitch Resnick’s Kindergarten approach to learning (lower right):
I’m planning to devote a future post to reflecting on the learning design thinking aspects of this project.
On March 2, it was the grade 2 students’ turn to visit the grade 4/5 students (see Update 2 to read about when the grade 4/5 students visited the grade 2s). This time, the game designers sought feedback from their target game-playing audience. Even though the games were unfinished, the grade 2s provided their feedback about what they saw and other (as yet unimplemented) game ideas explained to them by the grade 4/5 designers.
There were three basic questions the designers had (but there were many follow up questions during the actual meetings):
- What do you think of the game so far?
- What makes a computer game fun?
- What would you like to see in the game I am making?
Grade 2 students met with two different game designers and provided their thoughts, impressions, ideas, and suggestions. Immediately following the session, game designers wrote a concise blog post to capture the feedback they received. This information will be reviewed before they begin their next coding session.
Grade 2 students are providing feedback again on their next visit in early April. Stay tuned!
Resources & Links
- Initial post about this project
- Learning Design by Making Games (Update 2)
- About our Project (from project blog)
- Student blogs
- Fraction Games Scratch Studio
- Learning Design by Making Games article by Yasmin Kafai is contained in Constructionism in Practice: Designing, Thinking, and Learning in a Digital World