Facebook
Edutopia on Facebook
Twitter
Edutopia on Twitter
Google+
Edutopia on Google+
Pinterest
Edutopia on Pinterest Follow Me on Pinterest
WHAT WORKS IN EDUCATION The George Lucas Educational Foundation

Coded for Success: The Benefits of Learning to Program

Coded for Success: The Benefits of Learning to Program

More Related Discussions
5 4261 Views

It would be difficult to argue that, along with many other facets of modern life, technology has become a common part of educational institutions around Australia, and indeed, many other parts of the world. Of course, the use of technology in schools - and its continued prevalence amongst the lives of young people - remains a much-debated topic, and it is one that teachers are forced to grapple with on a daily basis.

However, while the presence of technology has remained constant, the ways that schools are using it has changed considerably over the last few decades. This might have been brought about by the increasingly ubiquitous nature of computers and now mobile devices, but it also reflects a fundamental shift in the way that educators think about computers and the way they are used in schools and society.

In the very early days of technology and schools, the emphasis was almost completely upon learning to interact with computers at the level of a programmer. Students (well, those whose schools were fortunate enough to have computer labs) would learn simple computer languages like BASIC and PASCAL, and perhaps even begin to understand concepts like Boolean logic.

As computers became more affordable, and thus more widespread, the emphasis on learning to program computers shifted towards learning to use them as tools. Instead of learning computer languages, for example, students learnt to use applications, like Microsoft Word or Excel. Almost overnight, computer science was replaced by Information and Communications Technology, and with the exception of a few electives and senior subject selections, learning about programming disappeared from Australian schools.

With the advent of the Australian Curriculum, there is a renewed interest, in Australia and other countries like the UK and Korea, in developing skills in programming and writing code amongst school-aged students.

The topic of programming might seem an abstract one. Why, a teacher might ask, does a student need to know how to program a computer? Often, the first thing that a student learns to do is to use word processing tools, but that student never has a chance to learn about the actual process of computing. While learning how to use applications on a computer is important, it doesn’t obviate the need to understand what the computer is doing. In fact, the two goals are complementary, rather than opposing. Better understanding of computer science will lead to better results with applications.

Nor is this the only reason to learn programming. In fact, there has been a lot of study into the benefits of learning to program. According to recent studies, teaching basic coding can increase problem solving skills. Golpin (2014) writes: being able to follow programming logic trains the mind to think in more analytical ways. I believe that debugging a program leads to better problem solving skills. I also believe these skills can be taught using programs like Scratch, Gamemaker, Kodu, and others, without emphasizing the need to learn “hard core ” programming languages like C++ or PHP.

Seymour Papert (Schwarz, 1999), one of the bet known advocates for teaching computer science and programming in schools, sums this up well: ‘anyone who has witnessed a toddler using a computer has probably experienced a sense of awe at that child's facility with what for adults can be an infinitely frustrating gadget. It's one thing for a child to play a computer game; it's another thing altogether for a child to build his or her own game. And this, according to Papert, is where the computer's true power as an educational medium lies -- in the ability to facilitate and extend children's awesome natural ability and drive to construct, hypothesize, explore, experiment, evaluate, draw conclusions -- in short to learn -- all by themselves. It is this very drive, Papert contends, that is squelched by our current educational system.’

There are benefits beyond logical thinking too. Brian Heese (2014) writes: ‘when you learn computer programming you learn how to check your work for details, how to apply logic and how to persist at a task. You also learn how to ask a good question, often in written form. Finally you learn how to collaborate because much programming today is accomplished in teams. These timeless skills and learning behaviors will endure far longer than any programming language.’

The benefit of teaching coding and programming are being recognised in Australia and around the world. In January 2012, the UK removed the old ICT syllabus and replaced it with a more computer-science based one, aimed at teaching all students the fundamentals of programming. In the US, there is currently a lot of argument about the need to make teaching programming mandatory (Schmidt 2012). In Australia, the new Australian Curriculum specifically refers to programming skills and understandings (see inset).

For teachers with no background in computer science, starting a course in programming might be a challenge. In reality, you don’t need to be a computer expert to teach students how to program. The key is to start small, and then allow the students to drive the learning. One of the best places to start is with HTML and CSS. HTML and CSS are the languages that websites are written in. As such, they are not really programming languages (they are actually mark up languages) but they do provide a relatively simple way to begin. There’s an added bonus of doing things this way, too: because HTML is quite simple, students will be able to see the results of their endeavours almost straight away. This means that they will be much more enthusiastic about continuing.

Once your class has a handle on HTML and CSS, then a natural next step would be JAVA. JAVA is a simple, easy-to-learn programming language (don’t confuse it with JavaScript, which is something different) that uses the dominant object-oriented paradigm. This is worth encouraging students to learn about because the object oriented paradigm is one of the most popular ones used in languages today. Other object-oriented programs include C++, Objective-C, Perl, Python, Ruby and PHP.

What resources are out there for me?
1. Codecademy
Codecademy is a great place to start. It’s a completely web-based environment that teaches students about programming in an interactive and fun way. Students need an email address to sign up, and can then work through a series of exercises designed to teach them the basics. As they do, they earn points and badges. Best of all, Codecademy is completely free. You can see Codecademy here: http://www.codecademy.com

2. Treehouse
While Codecademy is very good, Treehouse is, quite simply, brilliant. Much like Codecademy, Treehouse offers a series of courses on everything from web design to iOS application building. The courses take the form of interactive activities, quizzes, and, in an improvement on Codecademy, video tutorials. In addition, there are glossaries, challenges, podcasts and lots more. The thing that I like the most about Treehouse is that it also focuses on the ‘soft’ skills - like presentation and aesthetic design which are often overlooked in similar courses. You can read more here: http://teamtreehouse.com

3. Stanford School of Engineering
SSE is a step above the other two examples. The Stanford School of Engineering has been filming a number of their courses over the course of the last couple of years, ranging from introductory programming to more serious courses like iOS development. In addition you can access all the course materials and environments for running your programs. The best way to access the material is through iTunes: https://itunes.apple.com/au/itunes-u/programming-methodology/id384232896...

Comments (5)Sign in or register to postSubscribe to comments via RSS

Kevin Jarrett's picture
Kevin Jarrett
K-4 Technology Facilitator from Northfield, New Jersey
Facilitator

Hi Keith! I have some coding resources to share but for younger audiences, hopefully they'll help others who might happen upon your post (some might even work in a high school setting.)

http://www.tynker.com/ - probably the best overall, allows for individual student accounts managed by the teacher, good variety of lessons, excellent user interface and vibrant graphics.

http://botlogic.us/play - more of a game (and VERY basic) but effective to illustrate topics and get people thinking/working together.

http://learn.code.org/hoc/1 - also game like and basic but some of the later lessons are challenging and great for team problem solving in elementary grades.

https://blockly-demo.appspot.com/static/apps/index.html?lang=en - love Google's Blockly for its simplicity and interface, the basic challenges are easily done by my elementary students and they love the animations at the end.

http://scratch.mit.edu/projects/editor/?tip_bar=getStarted -ever since Scratch made its way onto the web, it's become my go-to resource for teaching coding at the elementary level. Love, love, LOVE the tutorials and examples but I wish they'd do something about the color coding, too many colors are so similar it's hard to tell them apart when I project onto a screen!

Thanks for your post - hope this helps!

-kj-

GGJim's picture
GGJim
Account Executive - GG|Interactive

Keith,

Thanks for writing this article. It is true that learning the basics of coding can help with problem solving. My company was asked by the state of Nevada to evaluate their current game dev. program a while back. We discovered the school districts had very little in comprehensive computer science curriculum let alone game dev. So we set out to create an all encompassing authentic game dev. curriculum that is low cost. It needs to be low coast, as the only other options available are very expensive. We wanted to make sure it was authentic because we want the students to learn what is really happening in a game dev. business. its not all just drag and drop. The fact that we teach on game design, coding, art, and administering all of that together, really gives the students a great concept, and education. The program is flipped, and nearly self paced. we currently have an English teacher getting ready to start this class with in the next couple days.
It is so important that the students of today learn computer science, and it just does not sound appealing. They need something to bring them in. Once they learn this course work, they will be ready to move in any direction in CS they want.

Thanks for letting me vent a little. it anyone wants more info the can email me at jimr@gginteractiver.com or they can check our site at www.gginteractive.com . Here is a short video explaining a little about the curriculum. http://youtu.be/q4gYh9xhd3k

(1)
GGJim's picture
GGJim
Account Executive - GG|Interactive

Keith,
I have posed this question to teachers. Is it better that our students learn to use computers well, or learn to control computers well?
Like you I feel it is very important that our students learn to use them well, however I feel it is important to allow them to learn to control computers. Not all students want to learn code, but I also don't think the student know what code does. They don't realize how many different things in their lives need code to work.
I would love you to look at our curriculum and maybe include it when speaking on these topics. I can walk you through a demo if you would like. It is a computer science curriculum cloaked as a game development course. We do not teach to a specific tool, we teach the fundamentals of game/software development. It was created by GarageGames studio, who have been creating game technology for over 14 years, and we feel it is very authentic to the gaming industry. The site is www.GGinteractive.com . The reason it is effective is the fact that the kids are interested in "Game" anything, but not so interested in "Computer Science" per se.
Thanks for a great article.

Kyle's picture

I just looked into Code Academy and I'm very excited about it's possibilities in my middle school tech classes. I think I'm going to have my current students serve as guinea pigs and give it a whirl. Thanks!

Mrs. Beula Samuel's picture

I am impressed on reading this article. I am an online PhD Computer Science Student at University of South Africa. My title is "A study of how programming impact the problem solving ability of School Students". I am teaching computer programming at secondary and tertiary level for the past 22 years. Yet in some parts of the world, programming is not taught seriously in secondary school. This is an area of concern. Just like Mathematics, children have to learn programming right from their young age. then their cognitive skills can be developed in order to apply across domain and in every walk of life. Thanks for the article.

GGJim's picture
GGJim
Account Executive - GG|Interactive

Keith,

Thanks for writing this article. It is true that learning the basics of coding can help with problem solving. My company was asked by the state of Nevada to evaluate their current game dev. program a while back. We discovered the school districts had very little in comprehensive computer science curriculum let alone game dev. So we set out to create an all encompassing authentic game dev. curriculum that is low cost. It needs to be low coast, as the only other options available are very expensive. We wanted to make sure it was authentic because we want the students to learn what is really happening in a game dev. business. its not all just drag and drop. The fact that we teach on game design, coding, art, and administering all of that together, really gives the students a great concept, and education. The program is flipped, and nearly self paced. we currently have an English teacher getting ready to start this class with in the next couple days.
It is so important that the students of today learn computer science, and it just does not sound appealing. They need something to bring them in. Once they learn this course work, they will be ready to move in any direction in CS they want.

Thanks for letting me vent a little. it anyone wants more info the can email me at jimr@gginteractiver.com or they can check our site at www.gginteractive.com . Here is a short video explaining a little about the curriculum. http://youtu.be/q4gYh9xhd3k

(1)

Sign in and Join the Discussion! Not a member? Register to join the discussion.