Friday, 8 May 2015

Algorithmic Thinking and Programming

This week I engaged with the Angry Birds Maze in Code.Org's Hour of Code.
Again, I really enjoyed this activity. It was slightly addictive, and as a very logical and mathematical thinker, I found algorithmic program very easy (which only added to how much fun I had!).
Figure 1: Angry Birds (underlying code)
Figure 2: Angry Birds maze
Figure 3: Zombies programming (in Angry Birds Maze)


This programming activity also included "zombies" and "Ice Age" sections, which incorporated more 'loops', 'if' and 'else' commands. I also had fun with these. It really was such an interactive platform to learn about programming and to engage in algorithmic programming - I can really see how effective and engaging this would be for primary students (even I was hooked!). :)
Figure 4: Ice Age programming (in Angry Birds Maze)

Figure 5: Look! I even got a certificate! :)

Although I really did enjoy myself, I felt that after learning how to use this "block" way of algorithmic programming in a more contained environment like these mazes were, I needed more space to just 'have a play' (I find I really learn a lot from trial and error). To do this, I engaged with the online programming community, Scratch. Here's my little project. It's not long (or very high quality for that matter) but it is my first attempt at creative programming :)
I used three "sprites" in this short animation (the plane, the boy and the basket ball) and created the background.

Figure 6: Scratch Boy Programming
Figure 7: Scratch Plane programming
Figure 8: Scratch Basketball Programming

I was honestly so surprised at how easy this was to do and how much fun I had - I could have spent HOURS playing around with this (unfortunately I had to stop myself - simply too much to do) but I can really see how this again, would be engaging with students.
Wilson and Moffat (2012, as cited in McGann and Leavy, 2015, p. 200) state that the "programming in Scratch has made learning how to programme a positive experience". However, this program I might limit to upper primary students only because of the complexity and range of options and programming blocks available. Younger students may simply not know where to begin. However, the resources on Code.org would certainly be suitable for them.

Exposing students to computer programming in primary classrooms was something I had never considered before; I had always thought this process was too far out of reach for them. However, after having engaged with some easy to use tools that introduced this process to me using an easy "block command" system I can really see how accessible it is to these students. What I failed to remember was that students are constantly using ICTs, at home and at school, including computers, mobile phones, and gaming systems so of course they will be able to grasp the concept of programming easily (especially with the easy to use block commands). Of particular motivation and engagement for students when programming is game design. "Game design supports the development of skills that underpin design thinking - identifying creative solutions to increasingly complex challenges" and engages students in solving complex problems while drawing on their creativity (McGann & Leavy, 2015, p. 199). The open-endedness of programming stimulates students' creativity and in turn their enjoyment and enthusiasm for technologies, which can be limited in other, more academic subject areas (Lewis, 2009, p. 260). Not only does programming utilise design thinking, it also supports computational thinking processes (Wing, 2006, as cited in McGann & Leavy, 2015, p199), and by designing and producing new products based on new conceptual and procedural knowledge, students are engaging with Bloom's highest level of thinking, creating (click here for Bloom's Revised Taxonomy action verbs). 

All in all, computer programming is not only accessible to primary-aged students but is also highly beneficial for the development of their social and technological skills and their computational, design and higher-order thinking processes. It is something I am quite excited to get the opportunity to implement in my classroom. I feel it will be a challenge, but hope it is engaging, motivating and highly beneficial for my future students.

References
          Lewis, T. (2009). Creativity in technology education: providing children with glimpses of their inventive potential. International journal of technology and design education, 19(3), 255-268. Retrieved from http://dx.doi.org/10.1007/s10798-008-9051-y
          McGann, R. & Leavy, A. (2015). Computer programming in the primary school: an introduction. In S. Younie, M. Leask & K. Burden (Eds.), Teaching and learning with ICT in the primary school (2nd ed., pp. 198-209). New York, NY: Routledge. 

Thursday, 7 May 2015

Media literacy, digital literacy and visual literacy



When I think of the skills students will need to be able to participate in future society, I always think of the need to be digitally literate. Until reading the Media Smart information on digital and media literacy, I had never really given much though to the importance of media literacy. Media smart (n.d.) define digital literacy as "personal, technological, and intellectual skills for living in a digital society" and media literacy as "critical engagement with mass media". It is instantly clear how interrelated the two concepts are. 

Personally I see that digital technologies is more about collaborating and operating in a digital environment using digital technologies, whereas media literacy focuses on the use of information and visual literacy to critically analyse and evaluate media.While digital technology is vital, I can now see that media literacy is a higher-order thinking platform that requires digital literacy knowledge and skills to perform a more involved task. Media literacy more accurately reflects and addresses the requirement in the Melbourne Declaration on Educational Goals for Young Australians (2008) for all students to become confident and creative individuals and active citizens in society (MCEETYA, 2008, p. 9).

An important area of media literacy as noted by Media Smart (n.d.) is visual literacy. As the name suggests, is visual literacy is "the ability to view, understand, analyze and evaluate, design and create, and use visual representations for acquisition, consolidation and communication and transfer of knowledge" (Beaudry, 2015, p. 55). The use of visual literacy strategies, such as concept maps and graphic organisers, help students to engage in higher-order thinking such as analysis, evaluation, design and creation (Beaudry, 2015, p. 55). Beaudry (2015, p. 56) states that we live in a "visually-saturated world" and hence interact with visual texts every day. The key is to become visually fluent so that we as teachers and our learners are capable of expertly decoding, 'consuming' and creating visual texts.

This has really led me to believe that my personal use of graphic organisers such as concept maps are a helpful tool for all learners and is not just something that I prefer to use. I have previously and will endeavour to use these where appropriate in my classroom. I have already used them often when planning characters or mapping character development when exploring narratives and when note taking on information texts (to summarise or to prepare to produce). This use has proven to me that visual literacy tools are effective for the vast majority of learners. These readings have simply consolidated that understanding or belief.

References
          Beaudry, J. (2015). Visual literacy for all teachers and learners: essential knowledge and skills to create, use and assess concept maps and graphic organizers.  In S. Younie, M. Leask & K. Burden (Eds.) Teaching and learning with ICT in the primary classroom (2nd ed., pp. 54-70). New York, NY: Routledge.

          Ministerial Council on Education, Employment, Training and Youth Affairs (MCEETYA). (2008). Melbourne declaration on educational goals for young Australians. Retrieved from http://www.curriculum.edu.au/verve/_resources/national_declaration_on_the_educational_goals_for_young_australians.pdf
          Media Smart. (n.d.). The intersection of digital and media literacy. Retrieved from http://mediasmarts.ca/digital-media-literacy/general-information/digital-media-literacy-fundamentals/intersection-digital-media-literacy

Saturday, 2 May 2015

Coding


My coding journey
To begin my journey in coding (as I am a complete newbie to this) I interacted with the online Code Monster tool.
Code Monster screenshot
Code Monster screenshot

While at the start I was engaged, I quickly became a little bored by the repetitive nature of the activity (I didn't even finish it, it just moved so slow). However, that being said, I do believe this would be an excellent resource to introduce students to coding and believe that this would easily be used with younger students, especially if they work in pairs and can help each other through the process (collaboration to read instructions and progress through each phase).

 To challenge myself in an environment that was more engaging, I switched to playing Erase all Kittens. Erase all kittens is an adorable game about saving kittens in a digital world. It incorporates computer coding in a fun way; coding is used to build structures to progress through the levels and help Arno save his kitten friends.
Erase all kittens
Erase all kittens
What a brilliant way to engage students in computer coding! My only negative feedback about this game is there weren't enough levels (I was rather addicted). I would love to see this game expanded to incorporate more coding and even have the feature of using coding to create your own character!

Screenshot from Khan Academy's Hour of Code
 Because I was so addicted to coding after this point, I thought I'd go back and check out the Khan Academy's Hour of Drawing with Code. I did not do much of this activity but found it much better as a drawing activity than Code Monster. I was able to listen to their tutorials, and then fiddle around with the numbers and commands and change the image. I think I would prefer to use this with my students to introduce them to the concept of drawing with code. They can work through the activities at their own pace (as with Code Monster) however, the recorded tutorials are a real bonus! It really helped me as a visual learner as I am sure it would help many students who prefer visual and audio means of learning.

Engaging my students with coding
Vicki Davis has excellent ideas for teaching students how to code on her blog. Some of my favourite resources suggested are:
  • Tynker Hour of Code - this site has a huge range of online activities for students in many grade levels to learn how to code. The games would be quite engaging for students.
  • Kodu: game creation software - free download from Microsoft. If I have some spare time I'd really like to have a go at this. I did not know such programs existed for free use! :) It would be a brilliant activity for children to engage in and would allow them to be tool builders, not just tool users (Barr and Stephenson, 2011, p. 51).

* Proposed activity *
Year level: Grade 3-4
Content Descriptors: [Processes and production skills] - "Define simple problems, and describe and follow a sequence of steps and decisions (algorithms) needed to solve them (ACTDIP010)" (ACARA, c. 2015).
Proposed learning experience (summary):
I would like to utilise code.org's graph paper programming - unplugged activity.
See this video for a description of how the game works:
Code.org. (2013). Graph paper programming - unplugged activity. 

What I would prefer to do with this activity is:
  1. Give students a piece of grid paper approximately 15x15 grids.
  2. Get the student to use two different coloured pencils to draw their own object.
  3. Then get them to write up a set of instructions (with their name on the top) to create their drawing. These instructions should include a note at the top on which colours are needed and which colour to start with. The same symbols should be used that were in the above video.
  4. The student then keeps their drawing but gives their instructions to a peer (swaps).
  5. The students then attempt to create the drawing.
  6. Once complete they compare their drawing to the intended drawing. If there are any variance, the designer and drawer work together to find the error (in the drawing or in the instruction design).

References
          Australian Curriculum, Assessment and Reporting Authority (ACARA). (c. 2015). Australian curriculum: digital technologies. Retrieved May 2, 2015 from http://www.australiancurriculum.edu.au/technologies/digital-technologies/curriculum/f-10?layout=1
          Barr, V. & Stephenson, C. (2011). Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community? acm Roads, 2(1), pp. 48-54. Retrieved from http://csta.acm.org/Curriculum/sub/CurrFiles/BarrStephensonInroadsArticle.pdf

Friday, 1 May 2015

The Importance of Computational Thinking

Computational thinking is an essential component of engagement with the digital technologies curriculum. One of the aims of the Australian Curriculum's digital technologies rationale states that students will "use computational thinking and the key concepts of abstraction; data collection, representation and interpretation; specification, algorithms and implementation to create digital solutions" (ACARA, c. 2015). These computational thinking processes allow students to engage in more effective, inventive and creative ways to undergo problem solving, which are transferable skills which can be used across all subjects and aspects of life.


After reading Barr and Stephenson's (2011) article on computational thinking (CT), I now find that while the definition of CT is debated, overall it is agreed that it is an essential skill for today's students. Barr and Stephenson (2011) state that:

CT is an approach to solving problems in a way that can be implemented by a computer. Students become not merely tool users but tool builders. They use a set of concepts, such as abstraction, recursion, and iteration, to process and analyze data, and to create real and virtual artifacts. CT us a problem solving methodology that can be automated and transferred and applied across subjects. (p. 51)

This problem solving methodology engages students in: designing solutions; creating designs; testing and evaluating designs; reflecting on designs; communicating reflections using correct terminology; recognising abstractions; collaboratively problem solving; and engaging in a wide array of learning strategies (Barr & Stephenson, 2011, p. 51). The abstraction process is considered to be one of the most critical in computational thinking (Wing, 2008). "In working with rich abstractions, defining the ‘right’ abstraction is critical. The abstraction process—deciding what details we need to highlight and what details we can ignore—underlies computational thinking" (Wing, 2008).

Wing (2008) presents a really interesting point: She argues that students should learn the fundamentals of computing before letting the "tool" (the computer) be used as it can confuse. Merely using the tool will not be enough which is a key point also expressed by Barr and Stephenson (2011, p. 51). To emphasise this point, Wing (2008) goes on to relate this to use of a calculator before understanding basic arithmetic - this is something I had not thought of before but I can definitely agree with. I myself can relate to this; personally I believe that one must not use bookkeeping or accounting programs without a basic working knowledge of "paper-based" bookkeeping and accounting (I have seen the effects of this and it is not good!). I myself never received a working knowledge of computing before using a computer. Due to this, I find the way computers, TVs, phones, and other technologies work to be quite perplexing and overwhelming, so I simply resort to thinking "ah well, it works, I'll just make sure I know how to use it". So essentially, I am using a calculator without knowing anything about math (what a scary thought!). I'm sure it would be quite difficult for me to learn about all of this underlying computing knowledge now (although certainly not impossible) and can see the value of students learning this all throughout their schooling years. If you grow up learning something, the idea will not be so complex or perplexing as you slowly build on past knowledge over extended periods of time. As the students of today are going to be entering a world with rapid technological advances where many will be required to use, manipulate and invent tools of technology, I feel it is vital these students learn computational thinking and the underlying processes of computers and technology throughout their schooling years.

Barr and Stephenson (2011) believe that this will lead to students being more confident and persistent (build resilience), more able to engage with open-ended problems, more successful managing group interactions, and more aware of personal strengths and weaknesses (p. 51). I believe these are essential attributes for meaningful and successful participation in society.

It is clear to see how valuable the skill of CT is for students in classrooms today (especially as they are heading into a rapidly changing society and jobs they will have may well not even exist yet!) however, the issue really lies in how CT will be incorporated into classrooms and if teachers will be knowledgeable and confident enough to deliver the digital technologies curriculum in their classrooms to incorporate such thinking processes. As Barr and Stephenson (2011) suggest, teachers will need a range of resources, support and professional development implement change in classrooms to more computational based thinking methods. So... let the change begin!



References
          Australian Curriculum, Assessment and Reporting Authority (ACARA). (c. 2015). Digital technologies rationale. Retrieved April 23, 2015, from http://www.australiancurriculum.edu.au/technologies/digital-technologies/rationale

          Barr, V. & Stephenson, C. (2011). Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community? acm Inroads, 2(1), pp.48-54. Retrieved from http://csta.acm.org/Curriculum/sub/CurrFiles/BarrStephensonInroadsArticle.pdf
          Wing, J. M. (2008). Computational thinking and thinking about computing. Philos Trans A Math Phys Eng Sci, 366(1881), pp. 3717–3725. doi:  10.1098/rsta.2008.0118



 

Computational thinking - my initial ideas

 As I was reading Barr and Stephenson's (2011) article, Bringing Computational Thinking to K-12: What is Involved in the Role of the Computer Science Education Community, I came across some key questions that I thought would help me to develop an understanding about computational thinking. I put my initial ideas of computational thinking into in a table below by answering these questions.


What would computational thinking look like in the classroom?
  •  Problem solving (probably with some students working through some struggle and confusion)
  • Collaboration - peers working together to solve problems
  • Engaging in online and offline tools and activities
What are the skills that students would demonstrate?
  •  Social skills (collaboration)
  • Linking prior knowledge to new situations
  • Persisting through tough problems
  • Independence and control of their own learning
  • Utilising math skills
  • Higher order thinking processes (analysing, evaluating and creating)
What would a teacher need in order to put computational thinking into practice?
  •  A basic working knowledge of computer technologies so that they can pass on the knowledge to students
  • Resources - the technologies, support and both online and offline resources such as activities, access to blogs and computer development software, etc.
  • Skills using a range of technologies and tools - PD may be needed here.
  • Teachers need to be open to change! I also believe they must be willing to allow students to engage in some struggle while solving problems; they need to act as facilitators and guides and not "fountains of knowledge".
What are teachers already doing that could be modified and extended?
  • Gathering and representing data in maths - express in more engaging visual forms (e.g. infographics).
  • Researching information in History to create timelines of information (could create infographics, online timelines, interactive presentations, etc.).
  • Science experiments and data representation (provide less structure, allow students to problem solve and use data to link to other issues or problems - extend their knowledge past the experiment alone).
  • Math - algebra and algorithms (link this to real world information. Don't teach in isolation; show how it applies to real life and how this process of abstraction is important).


References
          Barr, V. & Stephenson, C. (2011). Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community? acm Inroads, 2(1), pp.48-54. Retrieved from http://csta.acm.org/Curriculum/sub/CurrFiles/BarrStephensonInroadsArticle.pdf