This is a planning document on the formation of a website/wiki on developing Coding in the New Zealand Curriculum Levels 4-8
This is starting off due to an article that was posted on mashable.com
What most schools don’t teach - youtube
code.org - code.org
This started a twitter conversation that has developed an idea of Coding the Curriculum: Level 4-8 of the NZC. For an idea on what New Zealand Curriculum Levels are see https://www.dropbox.com/s/jdxkaldytwf3o8l/Charts1.pdf
Twitter conversation hashtag #codingNZC
What is our Aim?
To help develop resources and ideas on how to implement the government's 21st century Inquiry into 21st century learning environments and digital literacy (I.2A) (19 December 2012)
To help assist meet the government's recommendations
19. We recommend that the Government review the definitions of digital literacy to consider a common definition that can be used across the sector.
20. We recommend that the Government review 21st century skills in the context of digital literacy in our education system.
21. We recommend that the Government consider research and the potential for a greater role of educational games as part of digital learning environments for 21st century learning and skill development.
22. We recommend that the Government consider enhancing the role of information science in the education sector.
23. We recommend that the Government better position ICT skills, knowledge, and understanding as educational options that lead to high-value careers.
All work needs to meet Creative Commons 3.0 License http://creativecommons.org.nz/
Development of the Key Competencies of the New Zealand Curriculum
Using language, symbols, and texts is about working with and making meaning of the codes in which knowledge is expressed. Languages and symbols are systems for representing and communicating information, experiences, and ideas. People use languages and symbols to produce texts of all kinds: written, oral/aural, and visual; informative and imaginative; informal and formal; mathematical, scientific, and technological.
Students who are competent users of language, symbols, and texts can interpret and use words, number, images, movement, metaphor, and technologies in a range of contexts. They recognise how choices of language, symbol, or text affect people’s understanding and the ways iin which they respond to communications. They confidently use ICT (including, where appropriate, assistive technologies) to access and provide information and to communicate with others.
Copied from: http://nzcurriculum.tki.org.nz/Curriculum-documents/The-New-Zealand-Curriculum/Key-competencies#U
Thinking is about using creative, critical, and metacognitive processes to make sense of information, experiences, and ideas. These processes can be applied to purposes such as developing understanding, making decisions, shaping actions, or constructing knowledge. Intellectual curiosity is at the heart of this competency.
Students who are competent thinkers and problem-solvers actively seek, use, and create knowledge. They reflect on their own learning, draw on personal knowledge and intuitions, ask questions, and challenge the basis of assumptions and perceptions.
Copied from: http://nzcurriculum.tki.org.nz/Curriculum-documents/The-New-Zealand-Curriculum/Key-competencies#U
To engage students with 21st Century problem solving skills, computational thinking
Computational Thinking - youtube video
Computational Thinking, http://csta.acm.org/Curriculum/sub/CompThinking.html
Computational Thinking is a problem-solving process that includes (but is not limited to) the following characteristics:
▪ Formulating problems in a way that enables us to use a computer and other tools to help solve them
▪ Logically organizing and analyzing data
▪ Representing data through abstractions, such as models and simulations
▪ Automating solutions through algorithmic thinking (a series of ordered steps)
▪ Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
▪ Generalizing and transferring this problem-solving process to a wide variety of problems
Is there something in the New Zealand Curriculum now? Possibly under technology that could support this?
Though the conversation on twitter #codingNZC talks about coding being across all curriculum areas.
Could possible activities be to create stories that are programmed in Scratch or Alice?
Maths activities that could be created in scratch? or Powerpoint?
Should this be a Google site or wikieducator entry at the end? Really think that doing a Wiki a la the Digital Citizenship site would be a great outcome
What content and Resources are their out there at present to support this idea?
Hi all, my name is Paula (@diana_prince_ww). I am the chairperson on the BoT at Taupaki school. I have been wanting to see coding in school for some years now and think what you are doing here is fantastic!
I have been following a couple of people on twitter who have been doing some work in getting coding into schools overseas.
Here are the links to what they have done and I hope it helps with the framework you are putting together.
I am happy to help/support in any way I can as is my husband (@NzHoggy) who can help with the technical side if needed ( he programs in PHP and Python)
Computer science planning resources for scratch & Python..
It even has a digital citizenship module...
And some fun R PI stuff: http://teachcomputing.wordpress.com/2013/07/07/using-raspberry-pi-in-class/
I love Tim's approach to teaching programing in his (yet to be finished) book: https://leanpub.com/a-new-route-to-programming/read
This lends itself to a more integrated holistic approach which I think would make programing more relatable for kids (not taught in isolation, rather as part of the fabric of their lives)
Could we expand into Level 1 - 3?
This could be an interesting concept, as computer science concepts can be taught at lower levels. Binary? Programming? If/Then/Else Concepts. May need some research to assist with what content could be taught? Experience from current teachers.
Taupaki School are already doing some coding so maybe we need to talk to Stephen and JJ?
Yep I am using it with my year 7/8 class and:
Hi we are also keen to use scratch and RasberryPi with our under Year 7 students at Newmarket School Sonya @vanschaijik so will talk to you JJ
Scratch have a wealth of resources and support in place with kids coding at a beginning level using their blocks. Then there are iPad apps such as Daisy the Dinosaur and Hopscotch that have the same concepts of teaching kids about simple scripts to complete tasks.
ScratchED - http://scratched.media.mit.edu/
What if our year 1-8 can we get children to gain credit
Digital Technologies: Learning Objectives Level 6-8
Computer science and software engineering refers to a group of concepts associated with the discipline of computer science and how they are applied in user interfaces.
Design a software program focuses on designing the structure of a software programs. Initially students learn to specify variables and their data types, construct flexible and robust plans, and determine structures that combine well-chosen actions, conditions and control structures that provide well-structured logical solution to tasks.
Construct a software program focuses on constructing a computer program for a specified task including testing and debugging the program to ensure the program works correctly.
Learn to program games, app, websites.
Mash up and change any website using HTML code.
Processing Programming Language using drawing
Metadata: visual, programming language, tutorials, khan academy, not useful for NCEA
CS Unplugged is a collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.
CS Unplugged is suitable for people of all ages, from elementary school to seniors, and from many countries and backgrounds. Unplugged has been used around the world for over fifteen years, in classrooms, science centers, homes, and even for holiday events in a park!
Metadata: Activities, unplugged, interactive, Levels 4-8, Concepts
Computer Science Club: http://computerscienceclub.org/
The Computer Science Club is a new club for New Zealand students in Years 7 to 10 who enjoy working with computers, and wish to learn to program, or extend their programming skills and explore the field of computer science! The club is organised by the Department of Computer Science at the University of Canterbury in Christchurch, New Zealand.
Metadata: Computer Science Club, badges, Levels 4-6, computer science, concepts, programming
Computer Science Field Guide: http://www.csfieldguide.org.nz
This Field Guide is to support Teachers and Students undertaking study in Computer Science NCEA Levels 1-3. Currently being developed by the University of Canterbury.
Metadata: csfieldguide, UoC, NCEA, Digital Technologies, Computer Science
Scratch is a Graphical User Interface programming language suitable for all levels. It now has an online development, rather than being a application that you had to download. Great for creating story programs, using with sensors...
Metadata: Scratch, Programming Language, Level 1-7, NCEA Level 1, Concepts, story, sensors,
Makey Makey: http://www.makeymakey.com/
Makey Makey is an invention kit, which allow you to make a controller out of anything.
Metadata: board, Human Machine Interaction, development, technology,
Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.
Metadata: coding, processing language, interactive, DLE
Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code
Metadata: python, programming language, NCEA Level 2-3, GUI, Modules, Development, text, IDLE
Programming Challenge for Girls: http://www.pc4g.org.nz/
Programming Challenge 4 Girls is a programming competition for year 10 girls designed to introduce them to computer programming.
Metadata: Alice, year 10, girls
Using an innovative programming environment to support the creation of 3D animations, the Alice Project provides tools and materials for teaching and learning computational thinking, problem solving, and computer programming across a spectrum of ages and grade levels.
Metadata: Alice, activities, tutorials, programming language, installation, tutorial videos
Hour of Code - code.org Hourofcode.org 9-15 December
It's a one-hour introduction to computer science, designed to demystify "code" and show that anyone can learn the basics to be a maker, a creator, an innovator.
We'll provide a variety of self-guided tutorials that anybody can complete, with just a web-browser, tablet, or smartphone. We'll even have unplugged tutorials for classrooms without computers. No experience is needed.
Metadata: hourofcode, tutorial, scratch, code.org, csunplugged, event, all levels
Zombiebot HQ http://zombiebothq.com/
Zombiebots are a fun way for kids to learn electronics, robotics and programming, one challenge at a time. Materials are shipped from Zombiebot HQ complete with encrypted messages to decipher and all the components required to build a programmable robot with an electronic brain.
Metadata: NZ Based, Electronics, NZC level 1-3
A bristlebot is most simply a robot that moves by vibrating the angled bristles of a toothbrush.
Here at bristlebotics we were captivated from the first time we saw them. We see endless potential in the simplicity of a bristlebot and have devised our own variations from basic bristlebot principles.
Metadata: NZ Based, Dunedin, Robotics, Build your own, toothbrush, technology, NZC Level 1-3,
Tynker is a new computing platform designed specifically to teach children programming skills and computational thinking in a fun and imaginative way. Built by Silicon Valley technology veterans to inspire their own children, and children everywhere, to understand and enjoy programming through building games, mobile apps, creating music, animating drawings and more.
Metadata: basic programming, early programming, NZC Level 1-5. online, tutorials, parents
Decode is a New Zealand based project aimed at promoting programming in youth. Our concerns lie in what we call the rising consumerism in technology, where people are just consuming the world's most powerful development and not actually making good use of it. We believe that programming should be accessible to everyone, and this is our way of contributing to that dream. They have put the message out that they need schools.
Metadata: Learn to code, group, blog, programming language, beginner, Auckland
The Mind Lab - Auckland http://www.themindlab.com/
The Mind Lab is a specialist digital technologies lab teaching hands-on, practical classes and courses in animation, programming, game development, robotics, science technology and film for students aged 4 - 14 years. Located in Auckland, New Zealand.
Metadata: LEOTC?, hands on, Auckland,
Inform is a design system for interactive fiction based on natural language. It is a radical reinvention of the way interactive fiction is designed, guided by contemporary work in semantics and by the practical experience of some of the world's best-known writers of IF.
Metadata: english, fiction,
Metadata: Not free, blocky
Gamefroot is an ideal platform to develop, test and publish educational games. Gamefroot is designed to be efficient, comprehensive and straight forward enough to be used by schools to teach basic skills in programming and code: the most important second-language a child can learn.
When: Saturday 2 - Sunday 3 November,
11am - 3pm
Want to build a robot? Make an app or game? Print something in 3D? Join us to help open the Central City Library Makerspace.
Meet expert makers, try your hand at making, and sign up for cool workshops!
Maker culture is spreading around the world as people play, invent, and learn with 3D printing, robotics and all sorts of technology. Come and see what innovators are doing with new technologies at Makesplosion, and find out about how you can do it yourself at the library makerspace.
Follow the action or contribute to the discussion via Twitter using hashtag #ALMakers.
Are there any other LEOTC providers who specialise in Digital Technologies?
There needs to be an events section within the final work, but how do we find whats happening before it happens...
Tablet Based Programming environments? iOS/Android/Microsoft
Light Bot: http://light-bot.com/
Light-bot lets players gain a practical understanding of basic control-flow concepts like procedures, loops, and conditionals, just by guiding a robot with commands to light up tiles and solve levels.
Metadata: android, iOS, Flash
A free iPad app that teaches the first steps of coding using basic blocks to make Daisy the Dinosaur move. Suitable for young students (year 1+), it is a basic version of scratch and hotscotch.
Kodable is a free educational iPad game offering a kid-friendly introduction to programming concepts and problem solving. For kids ages 5 and up, and tools for grownups too!
Codea for iPad lets you create games and simulations — or just about any visual idea you have. Turn your thoughts into interactive creations that make use of iPad features like Multi-Touch and the accelerometer.
We think Codea is the most beautiful code editor you'll use, and it's easy. Codea is designed to let you touch your code. Want to change a number? Just tap and drag it. How about a color, or an image? Tapping will bring up visual editors that let you choose exactly what you want.
Metadata: $9.99, iOS, programming, features, tutorial, NZC level(?)
Can I see some examples nz teachers have done?
Hopscotch: Coding for kids, a visual programming language by Hopscotch Technologies
Level Based Ideas
Is there a clear increase of complexity between different programs or languages so we could start building a possible suggested hierarchy between the levels e.g. start with Kodable, then Scratch, Java Script, HTML, CSS, Python…
He is from the UK and done a large amount of work on planning for CS with a primary school environment.
Getting up Simple algorithm design 3-4 wks (C F)
Branching adventure stories using PowerPoint 3-4 wks (B C F) (planning coming soon)
General ICT Skills 1wk and throughout year (F)
Word Processing part 1 6 wks (F)
Presentation media 6 wks (F)
Desktop publishing 6 wks (F)
Web research 6 wks (F)
Logo designing a font 6-8 wks (A B C)
Sandwich making algorithm 1 wk (C)
Word Processing part 2 4-6 wks (F)
Presentation media 6 wks (F)
Desktop Publishing 6 wks (F)
Web research 6 wks (F)
Intro to Gmail 2-3wks (F)
Ipad-Ipod Skills 2-3 wks (F)
Class Comic 3wks (F)
Scratch Plan part 1 6-8 wks (A B C)
How the Internet Works 3-9 wks (D)
Web research 6 wks (F)
Introduction to spreadsheets 6wks (F)
Databases 6wks (F)
3D modelling 3-6wks (F)
Scratch Plan part 2 6-8 wks (A B C)
Web research 6 wks (F)
Animation 6wks (F)
Using spreadsheets 6wks (F)
Prezi v PowerPoint 3-4wks (F)
Class web site using Google Sites 6-8wks (F)
E-Safety modules throughout whole KS in circle times (E)
http://www.surfscore.com/infographic.html - Infographic on why students should learn to code.
Nat here. My experience: there are a number of skills that interact that we’re talking about here.
What do we build with Scratch?
Robots and hardware are another powerful motivator: the simplest program on an Arduino is to turn an LED on and off. For many kids (and this adult!) there’s an amazing sense of accomplishment to control the real world like this. Mark Osborne is working on a cunning plan around simple challenges built on a theme, to get kids interested—but it’ll be extracurricular, not integrated. Arduinos let you measure things (temperature, light, pressure, switches), make calculations and decisions, and then control things (lights, motors, sounds, Internet services) based on those calculations and decisions. Make a robot that follows a line on the floor, or comes when you call it, or follows you as move from it, or plays with a cat with a laser pointer, or …. I can imagine this being useful in wai care (“how much light gets through this water” as a proxy for how polluted the water is) and other real world projects.
There are a lot of programming languages, each with their own specialty. Want to write an iOS app? You’ll be learning Objective C. (Which can be done, but you have to really want that iOS app!) You want to write an Android app? You’ll be learning Java.
One system that’s a nice next step up from Scratch and Arduino-level C is called Processing. It’s Java, but with a lot of “syntactic sugar” to make it really easy to do interactive and graphics stuff without having to learn all of Java first. It’s good because the skills kids learn are transferrable to other programming languages (objects and classes, in particular), and yet it builds on what they learned doing C for the Arduino. It’s lower-level than Scratch (you don’t drag and drop to program or lay out things on the screen). I pair-programmed with my son after we did Scratch, and we built a game together (ball shoots across the screen and you move a bat to knock it back, pong style) and then he played around changing things (“cheats” were addictive: how to make the bat bigger? how to give yourself more points when you hit the ball? how to make the ball bigger? etc.)
There is a MASSIVE gulf between “able to make something in Scratch” or “able to write a line-following robot on the Arduino in C” and being able to make web sites. The gap is huge because there are a lot of separate technologies involved in websites (for layout, for text formatting, for programming) and to do anything that isn’t FUGLY you end up needing to learn them all. This isn’t to say it’s impossible, just that the initial learning curve is quite steep because there are three bits to learn at once.
Web design classes should be about building an app that’s useful to the kids in the class, imho, not rather arbitrary projects that you often see. When it’s something they’ll use, they take it way more seriously. That’s how many of the longer workshops run outside schools work: the students figure out what they want to build, then the instructor’s job is to show them the path of learning that’ll get them the skeletal form of the thing they want so that they can go fill out the gaps and make it Super Purty after the course ends.
Nat braindump ends. Hope something’s useful in there!
Comments from Karen Ms @virtuallykaren >> loving this initiative. I see coding working well with kids from yr 4 - ditto to previous comments on appropriate software that suits different ages. the challenge as I see it is to position coding within problems that have meaning and relevance - I will add more when I am on a better device for longform notes :!
Agree with Nat that Scratch is a great starting point. One of the problems with filling in those big gaps is going to be the variation in teacher's knowledge and 'readiness' to give
coding a go. One option is to start with Scratch (say years 1-4), then move to Code Avengers as it is heavily scaffolded. Then move to Processing or the like - again depends on the school and skill set of teacher as some might skip Code Avengers or run simultaneously with something like P. From there iPython notebooks http://ipython.org/notebook.html could a good stepping stone to independent programing in language of choice.
iPython notebooks would give more flexibility and independence than Code Avenger type initiatives, but still providing a nice framework to work with. One advantage of the notebooks is that you can integrate any curriculum subject with code in a web browser. Will add in a screenshot example soon.
List of teachers working on #codingNZC
This Sunday morning on #codingNZC Asked the question: How do we get non coding teachers involved, we are all into coding in some form, how do we capture others into coding and inform them of its merits?
1. We have to be clear about purposes/benefits/possibilities
2. Framework and trial
3. Communicate purpose/benefits/possibilities to Teachers and admin
4. Provide many opportunities for teachers to try coding
5. Co-construct with staff how it will look in school
6. Implement - slowly, alongside PD
Numbers 2,3 and 4 can run simultaneously. Use Gather workshops. Present at conferences. Start a wiki. Invite teachers to school.
Maybe start a code club where Teachers (and parents/kids?) could meet & share skills. New people can just come watch/check out?
We could start a twitter chat on coding: EDcodechatNZ?
Interesting aspects being covered in the media
The UK is revolutionizing their education curriculum to prioritize coding and other tech-related skills. http://thenextweb.com/uk/2013/10/18/coding-everyone-codecademy-helping-save-computer-programming-classroom/
Schools Aren't Teaching Kids To Code; Here's Who Is Filling The Gap
Seems to be a few different things happening here now, the joy of exponential growth! Obviously lots of interest and lots that could be done. For me the next step is getting a common agreement on the purpose we are trying to achieve: We want more kids coding because… This vision will then allow us to focus the next steps. It may also help reduce the large amount of programmes, apps, languages that we consider part of this.
It will also help us bring onboard the teachers that may be a bit scared of coding. Pitches always work better when they are based on a core why than a what. Harder for others to argue with helping students develop creativity etc. than a specific practice.
Can we teach 4 year olds to program? This kickstarter could be a possible solution, and it requires no computer. Board games http://www.kickstarter.com/projects/danshapiro/robot-turtles-the-board-game-for-little-programmer
Why teach kids to code?
1. Programing will be a useful skill to have in their future workplaces
2. Programing encourages creation of digital content, not just consumption of it.
3. Programing increases agency.
4. Programing helps develop critical thinking and problem solving skills.
5. For many kids programing will be immensely enjoyable and satisfying.
And this from Tim McNamara @timclicks
4. creates employers, not just employees.
1. builds resilience and understanding to interface changes and performance issues
2. develops an acute sense of trade offs when general problem solving (algorithms are all about trade offs)
3. fewer ICT procurement swindles as customers have confidence in what they are buying
4. Learn how to work in a distributed team effectively
Hour of code Resources being made available, for students and teachers to try
This is what the “everyone should learn to code” movement is really saying – not that everyone should be a coder, but that everyone could benefit from understanding the environment, pressures, and disciplines that drive a huge part of our economy. It’s not just business either – artists can benefit from more creative displays and better performing websites, not-for-profits could benefit from volunteers who know how to help out in technical areas, and it’s just nice sometimes to be the guy who can get the projector working in a foreign country!
My responses to this tweet around issues raised when teaching kids to code:
RT @MindShiftKQED: Does learning to code really empower kids? @dmlcentral http://ow.ly/qSohQ > Useful critique. @gmacmanus @stephen_tpk
1. Constructing code: This commits the Straw man fallacy: No one is suggesting that the thinking skills and dispositions gained as a result of programming will assume dominance over other forms of thinking. Moreover, the types of thinking developed complement and overlap with most of the other dispositions and thinking skills we are trying to cultivate.
2. Ignorant expertise: This commits the Red herring fallacy: This is an argument against coding as an industry in itself and the premise assumes that we (people in education who advocate coding for kids) want to churn out programmers to go and work in IT. This is not true. As aforementioned in this document there are many many reasons for teaching kids to code. Some may go on to be coders, many won't - it's about the thinking skills and dispositions gained along the way.
Lets just assume this statement is true: "programmers overlook the human and social consequences"
Even if this statement were true, teaching coding and IT in schools is an opportunity to remedy this problem! We can teach programming in a way that shapes what industry looks like (it works both ways)!
3. Algorithmic Culture: Would we abandon teaching kids how to read because doing so makes them easier prey to the commercial companies like Amazon and Fishpond etc?
4. There is no argument here that programming doesn't empower kids, rather we need to be aware of the political and economic power that can influence programming (but since when has any other aspect of education been immune to political, cultural and economic power)!!
5. Programming power: "Learning to code cannot be understood outside of its historical, political-economic, and cultural entanglements"
Agree wholeheartedly with this, we cannot and should not ignore these things, but hey, neither should we ignore these things with regard to reading, writing and arithmetic - yet we largely do. Read anything written by Gramsci, Bowles & Gintis, Roberts, Marx, Bordeaux (list goes on) and they will tell you that your three R's are deeply impacted by historical, political-economic, affects and cultural entanglements.
So coding then is no different than reading, writing and arithmetic in this regard. If you subscribe to this argument that one should not teach coding for these reasons then suggest you also ditch reading, writing and arithmetic too.