top of page
Copy of Blue and Green Digital Corporati

Coding in Education

Rational

What is the purpose of Coding and Robotics in Education?

The Coding and Robotics curriculum is aimed at guiding and preparing learners to solve problems, think critically, work collaboratively and creatively, while learning to function in a digital and information-driven world.

 

Here they will have to apply digital skills to solve everyday problems. Hence, the inclusion of coding, robotics and other digital skills equip learners for meaningful and successful living in a rapidly changing and transforming society. The methodology used in the envisaged South African curriculum is based on Computational Thinking and the Engineering Design Process.

What is computational thinking?

Computational thinking is the main driver of the Digital Skills Curriculum. It includes a number of characteristics and concepts such as logical ordering and analysis, making judgement through evaluations to create solutions using a series of ordered steps known as algorithms. This requires the skills of pattern recognition and decomposition, breaking down complexity and removing unnecessary detail also referred to as abstraction.

In addition, the Digital Skills Curriculum highlights problem-solving, data representation, generalization and modelling as key outputs of these skills. 

The focus is not primarily on coding, but on computational thinking as preparation for coding and other digital skills.

 

In addition, the Coding and Robotics Curriculum highlights problem-solving, data representation, generalization and modelling as key outputs of these skills. Engineering and design forms the second driver of the curriculum towards future proofing South African learners. 

What is Engineering Design Process?

The engineering design process is a series of steps that engineers follow to come up with a solution to a problem. Many times the solution involves designing a product (like a machine or computer code) that meets certain criteria and/or accomplishes a certain task. This is used when a project involves designing, building, and testing something.

These two foundational thinking processes and methodologies are interrelated.

 

However, for the purpose of this workshop, Demystify Coding in Education, we will focus on the demystification of Computational Thinking. The follow-up course, Demystify Robotics in Education (soon to be released) will then focus on the demystification of the Engineering Design Process.

Activity 2.1 Work through the content below 

The resources below provides more detail on the various concepts of Computational Thinking. As you work through the resources you can apply your knowledge in Activity 2.2

COmputtional Thinking.jpg

Step 1: Click on the button to open the document, Digital Competence and Computational Thinking. Each of the pages provide classroom examples of the type of activities teachers can priorities to develop these different skills. By reading the activity examples you will find we are already doing these concept in school. The only difference is the value we add to these activities are often low. However, the skills developed through doing these activities are fundamental to computational thinking.

Step 2: Click on the button to open the document, Computational Thinking by Enoch Hunsaker provides more detail on the various concepts of Computational Thinking. Page to areas in the document that relate to your phase or subject to find more relevant activity examples as well as reading about why and how computational thinking should be prioritised in all education bands, early childhood, primary school, and senior phase.

Activity 2.2 Match the Concept and Definition 

Match the Computational Thinking concept with its explanation to show your understanding of Computational Thinking. Press the 'dustbin' to try delete and try again. (Please note that activities are not fully compatible with all mobile devices.)

Tip: Click on a word and find the matching definition. If it is correct it will change colour.

Language

What coding language should be used?

In the previous section we learnt that:

a) coding is a vehicle for computational thinking;

b) it forms part of the Coding and Robotics curriculum

c) the application of skills obtained through coding which include concepts of computational thinking could enhance career opportunities for learners as the job market is transformed by the digital age.

Different methodologies can be used to learn these languages. When grappling with the question HOW to learn a coding language, understanding the functionality before learning the actual line code is often recommended especially for beginners. Hence, unplugged activities, drag and drop, block coding, and pseudo coding are available. When using these functional coding options, it is important to ensure the link is made between these and line coding.

However, the questions WHAT language should  be learnt first, is often more difficult to answer as there is not one correct answer. But, the prevailing consideration is that:

a) the language chosen often relates to the product that you want to develop

b) once you know one language it becomes easier to learn another, and

c) as with communication languages, it is always best to be bi-lingual or multi-lingual.

Activity 3.1 Watch the video below

Watch the the video below to complete the activities that follow.

What Programming Language Should I Learn First?

What Programming Language Should I Learn First?

Play Video

Activity 3.2 Match the Coding Language with the Application Development

In the previous video, the presenter indicated that the process for selecting the right first coding language depends on the following key questions:

1) What is the job market trends?

2) What do you want to build?

3) The ease of learning

Often, in order to run an entire product such as a website, knowledge of CSS, HTML and Javascript are needed. However, if you have learnt one language, learning another would be easier. 

Use the activity below to match the coding language with the end result/application development output. (Please note that activities are not fully compatible with all mobile devices.)

Activity 3.3 Work in pairs -  Draw and explain

Go back to the previous video and watch from 3:36 - 4:39 where the presenter illustrates and explain the difference between back end and front end coding languages.  Now, practice drawing and explaining this to someone else. Ideally, you should work in pairs and explain this to your partner. You can make use of the interactive whiteboard below to illustrate your explanation or use a pen and paper. 

bottom of page