Programming with Scratch – An educator guide.

An underrated programming language.

03

The ‘Hello World’ program written in Scratch – Hello World is often used as a simple program to illustrate the basic syntax of a programming language for a working program.

Scratch is a graphical programming language and online community where users can program and share interactive media such as stories, games and animations. Whilst it is targeted at 8 to 16 year olds, anyone of any age can write a program in Scratch.

At first glance Scratch looks pretty basic, which for a large part it is. As a visual programming interface, blocks are dragged from a palette and assembled to create programs without the need for the user to type written commands or syntax for the computer to process.

However, when I work with some teachers who have wider experience in computer programming languages, they are often critical of Scratch for reasons such as:

“It isn’t a real programming language!”

“Real coders don’t use blockly…”

“It’s far too basic and not challenging enough!”

“Would a paid computer programmer use Scratch in their workplace?”

Beliefs such as these miss the point that a programming language is a language that allows people to communicate instructions to a computer. This is exactly what Scratch does, without the worry of having to manually type and assemble the commands through text. For example, a user can give instructions like “make that character move forward on the screen”, or “wait 5 seconds, then play this sound”. The friendly and easy to use approach with blocks means that the gap towards understanding computer programming is minimised, as it is far easier to use and evaluate intended code. Hence, children as young as 8 years can be immersed in the world of computer programming with much delight.

However, beyond moving and meowing cats (which is what users typically create the first time they use Scratch), projects can be far more complex because of important features such as ‘loops’ (repeat blocks) and ‘conditionals’ (if-then blocks). With these commands, users can create algorithms, or instructions to complete specific tasks upon specific events. This ties in beautifully with the scope of Digital Technologies found in the Australian Curriculum, where students from even as early as Foundation begin to conceptualise algorithms.

 

The Papert legacy heralded by Resnick.

Long time advocate and founder of Scratch, Mitch Resnick, believes that as children create with Scratch, they learn to think creatively, work collaboratively and reason systematically (Resnick, 2014).

Today, Resnick leads a research group at Massachusetts Institute of Technology’s Media Lab, where amongst many other initiatives, the team continues their work on the Scratch programming language and social platform. There are more than 20 million users worldwide, known as ‘Scratchers’.

Scratch is based on the seminal work of Seymour Papert, who died in 2016. Papert developed the Logo programming language, which was essentially the first programming language for kids. He was a pioneer of educational technology and among the first to advocate laptop programs in schools. Papert pushed the envelope for young children to explore, experiment and express themselves through the use of computers (Papert 1980).

Resnick has written about the profession’s default assumption that computers are a way to pour knowledge into our kids. He argues that we should be focusing instead on creating open sandboxes with “low floors” (easy ways to get started), “high ceilings” (ways to chain together tools to make sophisticated projects), and “wide walls” (lots of paths to accommodate many learning styles). (Resnick, 2017)

In my experience, Scratch really is a perfect experimental and development playground when it comes to developing notions of computer science with young children. The interface and language is intuitive and logical to express simple ideas, yet expansive enough to make even sophisticated games, animations and stories.

01

The Scratch Cat is the mascot of Scratch and the default sprite when opening a new Scratch project. He / She becomes the protagonist for many projects.

 

The 4 P’s of Creative Learning.

Resnick and the Lifelong Kindergarten team attribute the success of Scratch upon 4 ideas or elements: Projects, Passion, Peers and Plays (Resnick, 2014). The so-called Four P’s of Creative Learning are strongly aligned with (and inspired by) the Constructionist approach to education, which emphasizes the value of learners playfully creating personally-meaningful projects in collaboration with peers:

ProjectsWe learn best when we are actively working on projects – generating new ideas, designing prototypes, making improvements, and creating final products.

Peers – Learning flourishes as a social activity, with people sharing ideas, collaborating on projects, and building on one another’s work.

Passion – When we focus on things we care about, we are likely to work longer and harder, to persist in the face of challenges, and to learn more in the process.

Play – Learning involves playful experimentation — trying new things, tinkering with materials, testing boundaries, taking risks, iterating again and again.

In Scratch, students can create projects which interest them through play. They are able to share their projects through an online community which has the potential to be viewed by others. Providing an audience to students can be incredibly motivating and purposeful. One only has to look at the gallery of published projects on the Scratch home page (see scratch.mit.edu/explore) to find that audience members indicate their enjoyment for a project through comments, and perhaps even more flattering, can also remix and make variations on the original project. It’s not uncommon to find suggestions or questions to the author about why they made certain choices. The author can choose to become engaged with these comments and make changes based upon them, illustrating how something becomes better when people think through it together.

Whilst these four P’s are not radical new ideas, they do provide a valuable framework in supporting creative learning and thinking – an essential 21st century skill to equip our students with.

 

Using Scratch in a classroom setting.

The Scratch team has put in a lot of effort into moderating the community to maintain the type of positive and safe environment where people can play – not just to have fun, but to take risks, test boundaries and try new things.

Scratch originally started as a tool for kids, but it wasn’t necessarily built for classrooms. In the past, managing projects has been challenging for some teachers trying to use Scratch in schools. However, teachers have the option of creating a teacher account to create classes. From within the class, the teacher can send a signup link so that students can sign up for the class and create an account within that class. This process does not require individual email sign-ons for each student, which might be challenging for some schools and age groups.

Within class accounts, teachers can change student passwords, assign projects, send updates and moderate student behaviour. If a student does something against the policies of the Scratch community (see scratch.mit.edu/community_guidelines), MIT will send an email to the teacher. Teachers can also create studios, which is like an assignment, where all students in the class will automatically be followers of the studio and be able to receive updates about it and add projects to it.

 

Scratch platforms

Scratch has seen many versions and iterations since it’s conception in May 2007. For a while, the only way to use Scratch was to use an offline installer on the Linux, Mac or Windows platforms. In May 2013, the arrival of Scratch 2.0 meant that users could now create programs using an online editor at the Scratch website. It also made it possible to instantly see the code inside other’s users projects and remix those.

Scratch 2.0 is fantastic for students who can read, but users younger than 7 or 8 years old often struggle to understand the concepts in Scratch.

In 2014, the Scratch Junior (or Scratch Jr) platform was introduced, specifically designed for younger children. It runs on tablets as well as Chromebooks, and is much more touch friendly and suitable for early year learners with it’s bright and appealing interface. Many of the programming concepts of Scratch 2.0 are also found in Scratch Jr, however the difference is that the commands are made much more simple by representing them as images or symbols, rather than words.  This means that children aged 5 to 8 who are still learning to read can create their own interactive stories and games. Similarly, children snap together the graphical programming blocks to make characters move, jump, dance and sing. Users can modify characters in the paint editor and add their own voices and sounds, even insert photos of themselves – then use the programming blocks to make their characters come to life.

You can get started with Scratch 2.0 at the website scratch.mit.edu/create using most modern browsers (flash enabled) with an internet connection.

Offline versions of Scratch for Windows, Mac and Linux can be found at scratch.mit.edu/scratch2download/

The Scratch Jr app can be located on iTunes for iPads, on Google Play for Android, or the Chrome Web Store for Chromebooks.

Due to be released later this year, Scratch 3.0 will land on public release and will not be reliant on flash, which means it will basically work on anything AND be able to program USB / Bluetooth connected devices / peripheral / robotics. You can check out the pre-release now by going to preview.scratch.mit.edu

 

How to get ‘scratching’

Upon launching the editor you will notice the interface divided into several panes:

  • > The Stage – is where the action happens when the program is run. The stage can also contain several backdrops that can be used for titles or interfaces.
  • > The Sprites – which contains a library of objects or graphics to use in the program. Sprites can also be created from a blank canvas or imported as images from an external source.
  • > The Scripts – which contains the available set of programming blocks.
06

The Scratch interface as viewed by default when the program is launched.

Blocks can be dragged out into the work area to program the various sprites in the project. Snapping together like lego, it’s very easy to see how the relationship and order of the blocks affect each other.

There are 10 types of block categories:

  • Motion — Make the given sprite move, whether by steps, toward another object, or via direct coordinates.
  • Looks — Lets the sprite hide or show itself, switch costumes, change size, or move between layers.
  • Sound — Play sounds, change volume, or adjust the tempo.
  • Pen — Draw with a marker and change its color and shape.
  • Data — Lets you create your own variables. This comes in extremely handy for elements that Scratch doesn’t have built-in.
  • Events — Criteria for kicking off other actions, like when you click the green flag or press the spacebar. These blocks connect with the other blocks to make the action happen.
  • Control — Loops to repeat an action, perform an if-else statement, or stop something.
  • Sensing — Place these blocks into others to perform actions when a sprite is touching another element or the user is holding down a key.
  • Operators — Math elements that let you perform arithmetic or basic boolean operations on variables.
  • More Blocks — Make your own blocks if these aren’t enough!
02

Users can select from various categories of commands. Blocks are colour coded to make it easy to distinguish.

 

Resources

Educators wishing to explore the possibilities of Scratch with their students may find the following resources useful:

Scratch for Educators (scratch.mit.edu/educators) – Contains advice for all educators for using Scratch. See also scratch.mit.edu/parents.

Tutorials and activity cards (scratch.mit.edu/tips) – Easy to follow and navigate, these step-by-step tutorials are a great way to explore application uses within the Scratch platform, for example making objects fly, animating a name, making music, or making a paddle game. Many of these tutorials can also be found in the help tab inside the Scratch editor.

ScratchED (scratched.gse.harvard.edu) – An online community for educators by educators, ScratchED contains resources and ideas for using Scratch with students.

Computer Science First (csfirst.withgoogle.com) – CS First provides enrichment materials for students in Years 4 to 8. Facilitators use video tutorials to teach concepts of computer science through themed clubs, for example Game Making and Storytelling.

05

An example of an animated storyboard that students can be guided through using the CS First materials.

Makey Makey projects for Year 3 to 6 students (anthsperanza.com/2017/06/27/mmprojects/) – Previously, I have written about project ideas and lessons involving Scratch and Makey Makey hardware to make physical objects interactive.

DBRa-90UwAAvICk

An interactive electronic paper circuit, powered by Makey Makey and Scratch.

Let’s Teach Kids To Code, TED Talk by Mitch Resnick (ted.com/talks/mitch_resnick_let_s_teach_kids_to_code) – Mitch Resnick demonstrates the benefits of teaching kids to code, so they can do more than just use new tech toys but also create them.

 

References

Resnick, M (2014) Give P’s A Chance: Projects, Peers, Passion, Play. Paper presented at Constructionism 14 Conference, August 19th – 23rd 2014, Vienna, Austria. Available at: http://constructionism2014.ifs.tuwien.ac.at/papers/1.2_1-8527.pdf

Resnick, M. (2017). Lifelong Kindergarten: Cultivating Creativity Through Projects, Passion, Peers, and Play. MIT Press.

Papert, S (1980) Mindstorms: Children, Computers and Powerful Ideas. Basic Books, Inc. Publishers.

 

About this article

This article was originally prepared for the November 2017 issue of the ACEL e-technology publication, and has been modified to suit this post.

 

Mind the (Digital Technologies) gap.

This text was originally prepared for Educational Services Australia and published on the Scootle Lounge, and has been modified to suit this post.

mind the gap

(Image credit: A photo by Pawel Loj)

With the nation’s first Digital Technologies Curriculum available here and now, many schools have begun implementation into their own school settings, or are looking to do so in 2017.

As a new curriculum which brings challenges that either excite or terrify teachers, how do schools prepare themselves for successful implementation?

Below is a list of questions, key considerations, and resources that might be useful for school communities who wish to successfully implement the Digital Technologies Curriculum.

 

mind-the-digital-technologies-gap

Key considerations and questions to ask in order to prepare for implementation and sustainability of the Digital Technologies Curriculum

Audit Teacher Readiness

  • Are teachers willing to shift?
  • Are teachers familiar with the curriculum?
  • What is their level of expertise?

Some teachers might sigh at the thought of continued ‘meddling’ with our curriculum, but we need to face reality; advancements in technology are rapidly shaping the world as we know it. It is our obligation to ensure that students are best prepared for a world which is increasingly reliant on technology. The Australian Government’s National Innovation & Science Agenda is one reflection of this response to a shifting workforce and innovation economy.

It should be of no surprise that the NMC and CoSN reported that these trends are already having an impact in schools as identified in the 2016 Horizon Report; with the idea of ‘Coding as Literacy’, and ‘Makerspaces’ as the new classroom. The report certainly puts into context the changing landscape of education in light of technology, and will remind teachers of the need to be responsive educators that provide the best possible learning for their students.

In July of this year, the ABC produced a compelling documentary titled ‘Future Proof’: 44 minutes of provocation that will ignite plenty of healthy discussion around the need to introduce concepts of Computer Science at an early age.

TED talks can also be useful for sparking conversation. Mitch Resnick’s ‘Let’s teach kids to code’ talk clearly outlines the benefits of  students learning to code. Also worth looking at is a talk by Linda Liukas titled ‘A delightful way to teach kids about computers’. Linda is the author of the picture story book Hello Ruby.

 

Audit Student Readiness

  • What prior knowledge do students have?
  • What are their needs?

With several toy manufacturers placing toys that involve computer programming into the marketplace, some students are becoming exposed to certain skills and concepts of Computer Science before their teachers even deliberately provide these opportunities.

Modern students who grow up with technology are fluent with ICT, and navigate technology easily. Teachers will be called upon as expert learners to assist students to be effective at using those fluencies for productive learning, and designing solutions with technology. A key distinction between the ICT Capability in the Australian Curriculum and the Digital Technologies Curriculum, is that the Capability assists students to be effective users of ICT, whilst the Curriculum assists students to be effective creators of solutions with ICT.

 

Digital Leadership

  • Which teachers or programs can be used?
  • How is ICT embedded in curriculum?
  • How is ICT supporting Learning & Teaching programs?

The introduction of Computer Science concepts into our curriculum is unfamiliar to most teachers (I am yet to meet too many teachers that have degrees in both Education and Computer Science!)

Teachers on the front line will be the crucial linchpin to determine implementation success. TPACK is a framework that identifies the type of knowledge required for effective pedagogical practice in light of technology. Leaders should be aware that the knowledge and practice of concepts such as computational thinking or algorithms is adding another layer to the already complex problem of leveraging technology with students in the classroom.

The University of Adelaide has been pioneering teacher education of Computer Science in recent years, and offers a free MOOC for teachers to prepare them to be effective educators with the curriculum. More recently, the university has also provided access to a lending library for schools, and supporting project officers in each state. More information can be found on their website.

The Digital Technologies Hub which contains plenty of links, curriculum resources, implementation advice, and access to professional development is also an invaluable resource for schools.

 

Curriculum Leadership

  • Where are the strategic links between Technologies and other curriculum areas?
  • Is there solid planning in place for weekly, termly, semester, yearly overviews?

Schools must make deliberate decisions that consider when the knowledge and skills of the curriculum are taught, and how evidence of student’s development is captured, assessed, and reported upon. It will be up to the collaborative expertise of teachers to design cross-curricular opportunities to develop students’ knowledge and skills in purposeful and engaging units. This will require dialogue and support with a variety of stakeholders within the planning process, and should not be left to one individual, or the resident ‘technology expert’ in the school.

EduTech15 – Getting your school going with the Digital Technologies Curriculum

This week I will be speaking at EduTech 2015 on implementing the new Digital Technologies Curriculum.

This presentation builds upon some of the ideas discussed in my recent article for ETS Magazine. Furthermore, the challenges for implementation will be unpacked, as well as the most useful starting points and resources for teachers and leaders who are ready for partial or full adoption of this much needed curriculum in our schools. The slides can be found here or below:

Embracing the new Technologies curriculum

This article was originally published in Educational Technology Solutions magazine, Issue 66 (Jun/Jul 2015).

 

Our nation’s first digital technology curriculum is on our doorstep, and if you have been paying attention in educational circles for the last 2 years, the words “Computational Thinking” and “Coding” are all the rage right now. So what are the implications for the practitioner, who is likely to have had little exposure in their training as to how to teach Computer Science to children, and are therefore somewhere between frightened or excited by what lies ahead?

The dawn of a new curriculum approach to technology.

 

The official stance from the Australian Curriculum, Assessment and Reporting Authority (ACARA) of the Technologies Curriculum at the time of writing is that the curriculum is “available for use; awaiting final endorsement”, even though it has been in this state for well over a year now.

Our current education minister Christopher Pyne has done little to ensure the endorsement, particularly after a review of the entire National Curriculum was released in October 2014. Political agendas and duress aside, it is ACARA’s intention that schools commence partial adoption of the curriculum, with full adoption expected by 2017.

The Technologies Curriculum encompasses two interconnected areas; Design and Technologies, where students use critical thinking to create innovative solutions for authentic problems, and Digital Technologies, where students use computational thinking and information systems to implement digital solutions.

According to ACARA, the aims of the syllabus are to ensure that students can:

  • create, manage and evaluate sustainable and innovative digital solutions
  • use computational thinking and the key concepts of abstraction to create digital solutions
  • use digital systems to automate and communicate the transformation of data
  • apply protocols and legal practises that support safe, ethical and respectful communications
  • apply systems thinking to information systems and predict the impact of these systems on individuals, societies, economies and environments

What is most promising about the way in which this curriculum is written is the way in which it has embraced technology as a holistic approach to thinking and exercising creativity. The traditional teaching of ICT in schools has usually been around the idea of integrating tools to assist in other subject areas, which is the intention of the ICT as a General Capability in the Australian Curriculum. Instead, the Technologies Curriculum paves the way for teachers to work with children as young as Foundation on pattern recognition and classifying data in contexts that they can understand, which gradually builds up to the development of students with a strong understanding of computer science by the time they reach Year 10.

The content structure of the Technologies Curriculum can be viewed at australiancurriculum.edu.au/technologies/rationale

 

Demystifying “Coding”.

Code used in a Term 4, 2014 Genius Hour project by a group of students who used an arduino board to program a car.

Code used in a Term 4, 2014 Genius Hour project by a group of students who used an Arduino board to program a car.

Noticeable in the Digital Technologies component of the new curriculum are the ideas of Computational Thinking and Coding, which are introduced to students in early primary school.

The idea of coding is not to simply have students churn out computer programs. Rather, it is about assisting them to identify and analyse problems, develop innovative and creative solutions, which will ultimately help contribute to a global society improved by technology.

Computational, System and Design Thinking all require the ability to examine problems clearly and to break them down into manageable parts, in order to systematically analyse a process to best solve them.

It encourages the design of several solutions that can be applied in broad contexts. This type of problem solving – or thinking – is highly valued in the outside world. The ability to analyse problems and come up with clever solutions is the kind of thinking that continues to push our world forward, yet oddly enough, we don’t teach it in a deliberate and defined way – until now!

Through the Code.org initiative, more and more advocates are championing the idea of coding in schools, from celebrities like Will.I.Am to the Silicon Valley elite. The worrying trend is that the number of Computer Science graduates are currently not meeting demand, yet alone in the future, where the demand is expected to further increase as the world starts to crave employees who are affluent in using technology to design products and solutions. Mark Zuckerberg is quoted as saying “Our policy (at Facebook) is literally to hire as many talented engineers as we can find…the whole limit in the system is that there aren’t enough people who are trained and have these skills today.”

Coding can have the stigma of a un-sexy operation which takes place in a dark room with nerds sipping on soft-drinks, huddled around glowing screens and punching in lots of ones and zeros. Once upon a time, one was required to have a tertiary degree to operate punch-card machinery and to develop lines of code for programs that ran on mainframe computers. Through the advancements of technology, and particularly in the way in which we can interact with it, anybody of any age can now code.

Put simply, coding is about writing and following instructions. When a set of instructions are written for the computer, it follows them. Any time you have explained to someone how to bake a cake, or typed a sum on a calculator, or organised a filing cabinet in alphabetical order, you have essentially been designing an algorithm to execute a desired action. Coding is teaching a computer how to run a sequence of events, for the reason that a computer can execute steps a lot faster than a human can.

Technology is starting to automate a lot of tasks that can easily be replicated by traditional human driven processes. For this reason, we have started to see a shift in our modernised and globalised world.

Take for example, Japan’s Toyota production line which, through the use of machines and robots, can assemble a car in 18 hours to specific client orders. Or the ambitious Google Car project, which promises to safely transport passengers from A to B without requiring the commuter to lift a finger. Or the use of computer assisted self-checkouts at the supermarket.

The overly critical may say that technology is taking over our jobs, which to some extent, is true. However, more accurately, it is disrupting jobs and changing the supply and demand for workers. Jobs for production factories will still exist, as will people who drive cars, as will people who work in supermarkets.

What will probably be true, is that these jobs are far more likely to require the skill sets of engineers and coders, who are affluent with technology and programming, to be able to deliver solutions. Those who can build robotic arms to weld alloy will be more sought after than those who can assemble nuts and bolts. Those who can write programs that analyse traffic patterns for automated cars will eventually be in more demand than taxi drivers or chauffeurs. Those who can design computer-assisted checkout systems will replace those who manually scan items for consumers.

It is for this reason that we all need to embrace the new Technologies Curriculum for the good of our kids, and the future of Australia as a technologically relevant country.

How to support Computational Thinking, Coding and the new Technologies Curriculum

 

  • Code.org – Launched in 2013, Code.org is a non-profit organisation that is dedicated to expanding participation in computer science, particuarly by increasing participation amongst women.
  • Hour of Code: an initiative of Code.org, is an annual event that promotes coding in primary and secondary schools across the globe. The coding tutorials can be completed online and have modules suitable for all ages (see studio.code.org).
  • Code Club Australia: a nationwide network of free volunteer-led after-school coding clubs for children aged 9-11 (see codeclubau.org).
  • Code the Future: aims to forge crucial links between the technology industry and education (see codefuture.org).
  • Bebras Australia Computational Thinking Challenge: Bebras is an international initiative whose goal is to promote computational thinking for teachers and students in Years 3 to 12, and is aligned with the new Digital Technologies Curriculum (see bebras.edu.au).
  • Computer Science Unplugged: is a collection of free learning activities that teach Computer Science without having to learn programming first. (see csunplugged.org).
  • Careers with Code: is a publication by Refraction Media and Google which promotes computer science careers in design, education, science, health, arts, media, law and business (see refractionmedia.com.au/careerswithcode/ or search for Careers with Code on Google Play or iTunes App Store).
  • CSER MOOC: the Computer Science Education Research Group at the University of Adelaide have developed a number of open, online courses designed to assist teachers in addressing the new Digital Technologies learning area (see csdigitaltech.appspot.com/course).