Teaching Coding To Children A Methodology For Kids 5
Teaching Coding To Children A Methodology For Kids 5
net/publication/320034878
CITATIONS READS
0 467
2 authors, including:
Ugur Kaplancali
Yeditepe University
10 PUBLICATIONS 54 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ugur Kaplancali on 26 September 2017.
Email address:
[email protected] (U. T. Kaplancali), [email protected] (Z. Demirkol)
Received: June 10, 2017; Accepted: August 12, 2017; Published: September 14, 2017
Abstract: As new education models gain traction, discussions about how to incorporate programming skills and the “maker
mindset” throughout the curriculum intensified. A growing realization among educators that teaching coding to children will, not
only make it easier for them to understand how the information technology works, but give them a skill for life. In 2013, England
wanted to be the first country in the world to make computer programming a compulsory school subject at all levels. In the US,
administration was a strong proponent of expansion of programming teaching, President Obama stated “everybody’s got to learn
how to code early.” Many different programming language tools exist for teaching children how to code, but none of them are
based on comprehensive methodologies so that, fundamentals of coding can be easily understood by minors. Tools like Scratch Jr.
and Tynker provide intuitive suite of visual-programming language for children ages 5 and above and they are more game
oriented. This paper argues that there are seven aspects of coding that are fundamental in teaching coding to children, and three
out of this seven is a must at any level. A new open source platform called CiK is also introduced.
the school curriculum. In the US, administration was a strong influence the sequence of your teaching. The amount of time
proponent of expansion of programming teaching, President given to any one aspect is up to you. However, it would be
Obama announced Computer Science For All Initiative in unwise to ignore one strand or give too much emphasis to one
January 2016 by stating “In the coming years, we should built aspect to the detriment of the others. How you deliver the
on the progress, by… offering every student the hands-on course content remains in your hands”[9].
computer science and math classes that make them job-ready Students in Finland, from ages 7 to 16, will learn the basics
on day one”. The United States has no national curriculum, but of programming as a part of its national core curriculum
the biggest public school systems started programs to integrate starting from autumn 2016. To reach new education goals for
coding and computer skills to their curriculum, such as New digital skills, Finland is following a path similar to England,
York City and Los Angeles Unified [5]. The worldwide “every school will have a different approach to how
movement towards exposing all students to computer science programming will be taught as the Finish education system is
is elaborated next. highly decentralized” Thomas Vikberg explained, counselor
of education at the Finish Ministry of Education [10].
2. Coding in Curriculum 2.2. Coding and Curriculum in United States
2.1. Programming Skills in Europe’s Curriculum As mentioned before, the absence of a national curriculum
European Schoolnet 2015 publication reported that 16 in United States leaves federal administration in each state on
European countries integrated coding in the curriculum at their own in case of education policies. However, Obama
national, regional or local level, including Austria, Hungary, administration’s No Children Left Behind programs urged
Denmark, France, Spain, Portugal, and Bulgaria [6]. Coding many school districts and education departments to take action.
has been part of Estonia’s elementary education since 2012 In September 2016 New York City mayor Bill de Blasio
with a pilot program called “Proge Tiiger” [7]. In 2013, announced that Computer Science For All Initiative (CS 4
England wanted to be the first country in the world to make ALL) has raised $ 20 million in private donations. The
computer programming a compulsory school subject at all initiative CS ALL also funded an early project of New York
levels. Department for Education announced that by City Department of Education called “Software Engineering
September 2014, computing was going to replace ICT as a Program” (SEP) [11].
national curriculum subject at all key stages. Each key stage Between 2015 and 2016, the SEP served 42 teachers and
was expressed as a series of bullet points in the program of more than 3000 students in grades 6, 7, 9, 10, and 11th grades
study document. across nine high schools and nine middle schools. SEP goals
For children between ages 5 to 14, there are three distinct were: (1) to increase the number of high school graduates,
stages for the England’s new computing curriculum and the particularly from traditionally under-represented groups, who
range of computing skills included in key stage 3 (11-14 are ready to enter new and emerging high-tech fields, and (2)
year-olds) is as follows [8]: to develop students’ computational thinking and problem
(1) designing computational abstractions that model the solving skills in real-world contexts [12]. Later CS 4 ALL
state and behavior of real-world objects; initiative was expanded by adding SEPjr program for reaching
(2) understanding at least two commonly used algorithms elementary students. SEPjr program promotes a more
for sorting and searching; collaborative culture with teacher team structure, where a
(3) using two or more programming languages, at least one team including 3-7 teachers with one lead teacher per grade
of which should be a written programming language, to solve level.
a variety of computational problems. They should be able to A broad policy shift in state of California was needed for
create data structures such as arrays and use functions to write putting computer science instructions to more public schools.
modular programs; One of the statewide actions was a push to add basic computer
(4) understanding how simple Boolean logic, such as AND, science curriculum standards to the Next Generation Science
OR and NOT, is used to determine which part of a program is Standards (NGSS), that represents the blueprint of how
executed; science is taught in kindergarten through 12 grades. Also, Los
(5) understanding the hardware and software components Angeles Unified and San Francisco Unified school districts
that make up networked computer systems and how they decided “to introduce K-12 computer science curriculum in
interact; advance of the implementation of statewide standards on the
(6) understanding how various data types can be subject”[13].
represented and manipulated in the form of binary digits. Recent examples of teaching guidance for coding
Although England’s program of study document covers all mentioned above indicates individual teachers will have
the strands of a new curriculum with a focus on programming, considerable degree of autonomy over how they teach
teachers were left to their own devices in introducing the computing topics and especially coding mandated by the
subjects’ content (or the bullet points of each key stage) and to national curriculum in their countries. This paper presents a
do it with some flexibility. As stated by Kemp “The order of methodology for teaching coding to children as young as five
these points does not denote their significance, nor should it and it is possible to apply this methodology in classes through
using open source tools for coding. Next section introduces
International Journal of Elementary Education 2017; 6(4): 32-37 34
some of the tools developed for teaching young children how is the next game that starts simple “but gets progressively
to code. more difficult in order to provide an introduction to loops and
conditionals and in ‘Bird’ control flow is explored with
3. Tools for Coding increasingly complex conditions” [16]. Fourth game is the
‘Turtle’ introducing nested loops to kids so that they can paint
There exist many tools for teaching children how to a picture and then publish their creation to Reddit.
program or code. Even some games designed for kids help According to Google, the games are designed to be
teach basic problem solving methods. For example, Lightbot self-paced and self-teaching, they minimize the use of syntax
Jr is specifically designed for ages 4-8 and player can choose except for the seventh “Pond JS” game, in which a transition
Girlbot or Boybot with the goal of solving puzzles that use from blocks to conventional text-based programming is made
game mechanics. Lightbot Jr is sold as an app but open source [17]. The player writes actual JavaScript code in this game to
tools for coding are available free of charge such as the beat the faster moving objects (see Figure 1).
popular Scratch. Scratch was developed in 2005, by Mitchel Founded by Hadi and Ali Partovi in 2013, code.org is a
Resnick of the Massachusetts Institute of Technology (MIT) non-profit organization that particularly aims school students
and then, in 2014, released in a simplified version called in teaching computer science. In 2014, alongside their ‘Hour
Scratch Jr for young children between ages 5-7. of Code’ campaign, code.org posted a one-hour tutorial to
build and customize a Flappy Bird video game through site's
3.1. Scratch Jr. and Tynker visual programming language using blocks. Students can
As a derivative of the Scratch language, Scratch Jr was easily form a string of commands by clicking and then
developed by MIT Media Lab in cooperation with Tufts dragging blocks in code.org. Hadi Partovi explained that
University and The Playful Invention Company. In Scratch “these kinds of block commands are how most computer
environment, dragging blocks into a coding area and then programmers first learn the basics” of coding [18]. “The
snapping them together creates code. Developers of this platform that creates these visual blocks of code is Blockly”
programming tool noted that “We have always been intrigued and its open source library is available for free as mentioned
and inspired by the way children play and build with Lego above [19].
bricks. Given a box full of them, they immediately start
tinkering, snapping together a few bricks, and the emerging
structure then gives them new ideas” [14].
Tynker is a visual programming language and
multimedia-authoring tool launched in April 2013. Similar to
Scratch, Tynker uses visual code blocks to introduce logic and
programming concepts to children. Through their “Hour of
Code” page, this platform provides free activities, mainly
games and stories, for children to learn code and be creative at
the same time. In school, Tynker’s curriculum allows students
to work on their projects and learn the fundamentals
programming found in all object-oriented programming
languages.
3.2. Blockly and Code.org
and mobile devices such as tablets. The ease of access and use (1) One 45-minute lesson per day
may provide an advantage in the process of teaching coding (2) Solidify CS concepts explored in the SEP curriculum via
skills to children. However, these tools and their websites do project-based learning teaching (PBL) methodology
not offer any comprehensive or the most appropriate strategy (3) Engaging and full independent and group learning
to teach young children how to code. Tynker’s curriculum and activities to teach concepts, foment and enable practice, and
code.org’s ‘Hour of Code’ activities can be effective but from create artifacts.
the instructor’s point of view, a complete guideline is still SEP curriculum for 6th grade students has “Computer
missing when they want to design a course that utilizes a programming with Scratch” topic covered in fall term made
methodology for instructing the basic concepts of up of 3 units: (1) Basic Computing Concepts, (2) Structure of
programming. A new methodology for instructors is included a Program, (3) Solutions for Efficient Programming. Structure
in the next section. of a Program learning activities include:
(1) Make Different Things Happen at The Same Time
a. Exercise #1: Translating ideas into Scratch script
4. Methodology for Teaching Coding to b. Exercise #2: Making Sprites Do Different Things
Kids (2) Make Multiple Sprites Interact With Each Other
a. Exercise #1: Making 2 Sprites Have a Conversation
4.1. Approaches to Teaching Coding b. Exercise #2: Introducing the Broadcast Block
Previous research and studies show positive effects of visual (3) Design a Flow of a Program: Loops, Booleans and
programming environments on students’ learning. Gülbahar Conditional Statements
and Kalelioğlu found “a slight improvement in the students’ a. Exercise #1: Making loops and repeats: The Repeat (),
self-confidence in their problem solving ability” while working Forever and Repeat Until () Blocks
with Scratch [21]. Lee concluded that, to unleash learners’ b. Exercise #2: Making conditional statements: The If ()
imagination, creative, entertaining and interdisciplinary Then and If () Then, Else Blocks
curriculum can be crated by educators through Scratch [22]. c. Exercise #3: Create and read scripts
“Hour of Code” initiative is also considered for tackling the To facilitate learning authors argue that coding concepts must
diversity problem in computer science education [23] and Code be instructed following an order. We ranked seven fundamental
Studio reached their benchmark for 1 million girls and 1 million concepts of coding and these are algorithms, loops, if statements,
African-Americans and Hispanic students at January 8, 2015 functions and procedures, graphics, variables, and finally lists
[24]. More studies can be cited as they provided an extensive and indexes. Instructors must start teaching algorithms, loops and
literature review on studies based on Scratch tool [25]. Scratch if statements first out these seven fundamental concepts.
is heavily investigated because of its language support, simple Especially, starting with these three concepts plays an important
interface and appeal to more age groups, yet none of these role in teaching coding to kids ages 4 and up.
studies addressed to the problem of methodical introduction of In essence, our methodology proposes that an instructor must
coding to children. start teaching algorithms first, then loops and if conditionals as
As an example of coding instruction in practice based on the third concept when dealing with young children. Instructors
direct instruction, CS 4 ALL’s SEPjr. program, focused on can follow a two-tiered methodology to teach coding concepts
professional development of teachers “to prepare them to offer to young kids (see Figure 2). Traditionally programming is
a scope and sequence to engage all grades while giving them taught at high school or undergraduate level starting with
the flexibility to focus on a grade band implementation” [26]. variables. Early research also revealed that students in grade 7
This program aims to introduce foundational computer and younger responded best to the graphics-rich programming
science concepts through open-ended creative computing environment whereas high school students preferred more
platforms and block-based programming languages, such as conventional textual environment [29].
Scratch, robotics and maker education. SEPjr’s curriculum is
comprised of four primary units – Computer Science
Fundamentals, Robots, Project Based Learning, and Physical
Computing [27].
A more advanced, multi-year, standards-aligned computer
science education program SEP provided a curriculum for
grades 6 to 12. SEP curriculum intends to give students
instruction and experience in the following areas: computer
programming, robotics, web design, physical computing,
game design and 3D printing.
SEP program also made a call for programmers and
educators to design curriculum for NYC public middle and
high school teachers without a Computer Science (CS)
background. Some of the curriculum requirements for all
topics were listed as [28]: Figure 2. Methodology for teaching coding to kids 4+.
International Journal of Elementary Education 2017; 6(4): 32-37 36
Our experience shows that starting with the concept of variables programing platform for kids called “Çocuklar için
can cause problems with younger children. Visual programming Kodlama Kütüphanesi” or CiK [31]. This library was
tools such as Scratch, Blockly Games and code.org provide more designed to serve many purposes, such as having a platform
interactive and fun sessions to kids. For example, second game in Turkish that is expandable. CiK library is accessible
“Maze” in Blockly Games is an introduction to loops and through web and coded in JavaScript therefore it works on
conditionals. Third game “Bird” presents more complex any web browser (main library is called cik.js). Offline use
conditionals and in code.org, lesson 1, scene 1 and scene 2 are of the library is also possible by downloading cik.zip files.
simple examples for algorithms as shown in Table 1 [30]. Also any CiK application can be developed easily through
its APIs.
Table 1. Examples of code.org practices. CiK Library is made up of methods and properties
Code.org Lesson Scene Ages similar to any high-level programming language and uses
Algorithms 1 1-2-3-4-5-6 4 and up natural language elements. Chain methods are also usable
Loops 2 5-6-7-8-10 6 and up with CiK. An editor is also created for CiK where user can
If conditionals 3 7-8-14 8 and up
write codes and then see the results on bi-colored screens
4.2. CiK Platform for Coding Instruction (see Figure 3). Editor of CiK is based on CSS and HTML
technologies.
Author of this study developed a coding library as a
CiK library also supports drawing methods along with some objects like circle, rectangle, and star where user can assign
values. Finally, CiK library comes with pre-loaded pictures that are added by using method “cik.resim.”, for example
“cik.resim.balık” method presents a fish picture in the editor (see Figure 4). CiK platform is also accessible through GitHub and
still under development.
[11] NYC Department of Education website [29] C. Y. Cheung, G. Ngai, C. F. Chan, and W. Y. Lau, “Filling the
http://cs4all.nyc/2016/09/23/cs4all-anniversary/ gap in programming instruction: a text-enhanced graphical
programming environment for junior high students,” ACM
[12] SEP website http://sepnyc.org/about/ SIGCSE Bulletin, vol. 41 (1), 2009, pp. 276-280.
[13] P. Matio, (2016), California moves to catch up on K-12 [30] Z. Demirkol, Çocuklar için kodlama. Istanbul, 2016, Pusula.
computer science curriculum. EdSource