What is Coding and Robotics?
The Coding and Robotics subject is central to function in a digital and information-driven world; apply digital ICT skills and transfer these skills to solve everyday problems in the development of learners. The subject studies the activities that deal with the solution of problems through logical and computational thinking. It is concerned with the various inter-related areas of Information Technology and Engineering.
The Curriculum and Assessment Policy Statement (CAPS) for the subject Coding and Robotics in Intermediate Phase (Grades 7-9) has been organised into four Strands: Algorithms and Coding, Robotics Skills, Internet and E-communication and Application Skills. The Topics have been organised to ensure that the concepts developed in the Intermediate Phase are reinforced in Senior Phase. Beginning Knowledge, Personal and Social relationships are integrated into the topics. Coding and Robotics is a subject that traverses across the other Senior Phase subjects, namely Languages (home and First Additional), Natural Science, Technology, Life Skills, Social Sciences and Mathematics.
The Coding and Robotics subject aims to guide and prepare learners to solve problems, think critically, work collaboratively and creatively, function in a digital and information-driven world, apply digital and ICT skills, and transfer these skills to solve everyday problems its possibilities. Furthermore, the subject aims at equipping learners to contribute in a meaningful and successful way in a rapidly changing and transforming society.
Through Coding and Robotics, learners are exposed to a range of knowledge, skills and values that strengthen their:
- aesthetic, creative skills and cognitive development, knowledge through engaging in music and visual art activities
- knowledge of digital and ICT skills supported by the technological process and computational thinking skills
- understanding of the relationship between people and the environment, awareness of social relationships, and elementary science.
The Coding and Robotics Senior Phase subject consist of the following Knowledge Strands:
- Algorithms and Coding Skills
- Robotic Skills
- Internet and E-Communication Skills
- Application Skills
The Strands co-exist and overlap in their application, knowledge and skill levels. The Subject methodology is based on Computational Thinking and the Engineering Design Process.
Topics links and overlap
Throughout the Subject of Coding and Robotics, it is essential to note that there will always be a degree of overlap between topics. The fundamentals of each topic are taught in its Strand but is also reinforced in other Strands. Algorithms and Coding are used to program the logic sequence that Robotics uses, and the Application skills teach learners how to interact with different digital devices. Internet and E-communications rely on the use of Digital Devices taught in Application skills and used similar skills to compile reports and analyse data.
Algorithms and Coding
Algorithm and Coding programming skills in the Senior Phase are primarily developed by using a line based programming interface. Learners are introduced to a line based coding platform through a hybrid programming platform consisting of block-based and line-based coding. The line-based programming platform makes use of easy to understand, syntax free programming where learners can focus on the programming concepts that are being taught. Algorithm and Coding concepts are introduced:
- Hybrid coding platform
- Flow diagrams, Logic gates and Truth Tables
- Variables Strings, Integer, Floats, Boolean and Lists
- Mathematical, Operational, Logic and Relational Operators
- Conditional and Nested Conditional Statements
- Looping Mechanisms
- Functions and parameter passing
- Programming libraries
Robotics consist of two merging fields that including Coding and Engineering. Learners continue with Mechanical and Electrical engineering systems. The Robotics Strand combines the Engineering Design Process and Computational Thinking Process. The Strand introduces Microcontrollers that will be coded using a line based coding platform. The Concepts and Skills taught are as follow:
- Logical processing steps
- Mechanical systems including pulleys, gears and linkages.
- Microcontrollers and components for input and output
- Hybrid and Line based programming
Internet and E-Communication Skills
The Strand of Internet and e-Communications skills prepares learners to interact safely in a digital online and offline world. The following Concepts and Skills are taught in the Strand:
- Cyber threats, security and authentication
- Viruses and malware
- Augmented reality, Virtual reality, Machine learning and Internet of Things
- Social Media
- Big Data and data processing techniques
Application Skills comprises of end-user skills that are used on different digital platforms. In the Senior Phase learners are engaging with applications that build on data analysis and website development skills. The Application skills strand teaches the following skills and content:
- HTML and CSS
- Spreadsheet applications
Requirements for Coding and Robotics
The Coding and Robotics Subject is practically orientated and includes practicals recorded as formal assessments that need to be included during teaching time. Informal Assessments continues during lessons when learners are not doing PAT’s.
- Each learner must have a textbook/workbook/e-book. Schools must utilise a book retrieval policy where applicable.
- Schools must ensure that the necessary tools, devices, materials, and consumables are available for teaching, learning, and assessment. These resources should be indexed and checked each term.
- The school should subscribe to a minimum of two or more subject-related magazines for the teacher to keep abreast with the latest developments in the industrial environment. These magazines could also be lent out to learners (in the same way as library books). These resources must be readily available in the classroom or in the library.
- Schools offering Coding and Robotics must have a well-equipped Coding and Robotics lab for learners to complete the Practical Assessment Tasks. The Coding and Robotics lab needs to be secured with enough storage space for resources.
- The teacher should have a variety of reference books / e-books, charts and brochures in the classroom to stimulate the learners’ interest in the subject.
- The teacher should have access to the internet to be able to source, download and print relevant and new information, as the industry environment is a dynamic industry continuously incorporating new trends and developments. The teacher should also have an e-mail, cloud storage facilities, as new information from subject advisors and other sources can be shared on digital platforms.
- The teacher needs to be trained in the context, content and pedagogy of the subject.
- Resources to offer Coding and Robotics as a subject are the responsibility of the school. The school should build up a collection of models, e.g. by asking learners, parents or mechanical, electrical and electronic repair workshops and suppliers to donate models.
- All resources should be captured in the LTSM inventory list and audited on a term basis; however, these resources should always be readily available for internal/external audits.
- Sustainable Support – Robotics and Coding is a subject that requires sustained support.
The Coding and Robotics lab requires regular resourcing for the purpose of completion of practical tasks and as well as maintenance.
Coding and Robotics Resources
The School Management Team (SMT) should note the implications that Coding and Robotics lab has on the school’s budget. Whilst it is common practice to provide a working budget, it is imperative to note that the budget should be structured not only to cater to the completion of practical tasks by the learners but also for the teacher to replenish tools and acquire consumables for experiments, demonstrations and simulations. The budget that schools develop should make provision for the following:
- Software licenses
- Cartridges, paper and storage media
- Breakage and maintenance
- Internet Connectivity
- Sustainability plan.
The teacher must also be allowed to supplement the teaching and learning support material in posters, models, videos, periodicals and many more. Preventative maintenance of training kits/equipment on a regular basis and provisioning for the inevitable failure of equipment should not be disregarded. The SMT should have a plan to regularly phase out and replace obsolete tools, consumables and equipment.
- Free open-source software for block and Line-based Coding
- Free open-source Software HTML editor
Basic Electrical Components
- LED’s (Normal & RGB)
- DC Motors
- MOSFET’s/H Bridge/ Motor shield o Potentiometer
- Joystick Module
- Bluetooth Module
Basic Mechanical Components
- Wheels and Axles
- Plastic/ Cardboard Fans o Fasteners
The components may be made from recyclable materials.
The following Tools are required:
- Longnose Pliers
- Glue Gun
- Project Knife
- Insulation Tape
- Hand Figure Saw
- Soldering Iron
- Soldering Mat
- 3D Printer Plastic Reel
Infrastructure, Equipment and Finances
Workspace in Coding and Robotic Labs for learners should be enough for team and individual work.
A dedicated Coding and Robotics lab should be used.
The school must procure basic robotics components, which will include a selection of basic Electronic and Mechanical components etc. Procurement of LTSM resources should be based on needs analyses from the updated inventory list. Evidence of procurements should be kept for five years in line with the Public Finance Management Act (PMFA).
Schools to provide secure storage space for LTSM.
Coding and Robotics require learners to work in pairs and individually on computers during contact time. The Coding and Robotics Laboratory should provide for the following minimum hardware specs for Computing:
Computers should have a lifespan of 5 years. This will ensure that the Department receives value for money on the investments made.
- 2.0 GHz 64-bit processor (Core I5 CPU minimum)
- 8 GB RAM + 2GB Graphics card
- 500 GB secondary storage
- 3 USB ports
- Keyboard and mouse
- Monitor with a resolution of 1024×768 or higher
- Data projector or demonstrating software (LED Lens with 3000 lumens)
- One high-speed printer per Coding and Robotics Lab
- Internet Access
- 3D Printer
- Integrated or standalone webcam
- Antivirus and Internet Security
- Cloud Storage Services
- Operating System
- Office Suite (Text editing, Presentation and Spreadsheets)
- Application Software for Hybrid Block based Coding, Multimedia Editing and Drawing
- Screen Control
Teaching Coding and Robotics in Senior Phase
Teaching and Learning in Coding and Robotics involve the development of a range of process and design skills. These skills are underpinned by the Engineering Design Process and the Computational Thinking Process throughout the subject. Through the subject, learners will develop the ability to think objectively and use a variety of forms of reasoning. Teachers need to create an environment that allows learners to tap into their curiosity about digital technology, supports their creativity, responsibility and grow their confidence in using technology through Coding and Robotics.
The Cognitive and Practical Coding and Robotic Skills that learners will develop are:
- Accessing and Recalling of information – use a variety of sources to gather information, remember relevant knowledge and key concepts to develop efficient and functional Coding and Robotics programs.
- Observing – Noting details in programs and Coding program and Robotic structures.
- Comparing – noting similarities and differences between different types of Code, algorithms and Robots.
- Measuring – using measure instruments focusing on rulers.
- Sorting and Classifying – sort and classify code elements, mechanical components and electrical components.
- Problem solving – being able to develop programs and robots based on the needs and wants of their community.
- Raising questions – thinking of, and articulating relevant questions about problems, issues, and Coding and Robotics within their environment.
- Logic Process – identify the logical reasoning in how solutions should be developed for their identified problems.
- Digital Process – the ability to identify Inputs, the processes involved and the output generated in a Program.
- Planning and Designing projects and programs – thinking through the method for an activity in advance. Identifying the components, materials and code required to complete a given task.
- Recording information – recording of circuit designs, code, structures and components systematically, including drawings and descriptions, used to complete a given task.
- Interpreting information: use data provided or gathered and process it to get to a meaningful output.
- Building Projects – building or assembling robotics projects using the appropriate tools and skills including measuring, cutting, folding, rolling, gluing, fastening and building circuits.
- Evaluate and improve – using criteria to assess codes and structures with the goal of improving the final code or robot.
- Communication – using various applications to communicate in a written, visual, oral, presentation or graphic form to other people.
Engineering Design Process (IDMEC)
Coding and Robotics develop valuable problem-solving skills that will benefit every learner in many life contexts for the 4IR and beyond. As learners’ progress through a task, they must be taught the associated knowledge and the skills needed to design and create a solution. Knowledge is essential, and the learners must show that they can use the knowledge.
The Engineering Design Process (Investigate, Design, Make, Evaluate, Communicate – IDMEC) forms the backbone of the subject and should be used to structure the delivery of all learning aims. Learners should be exposed to a problem, need or opportunity as a starting point. They should then engage in a systematic process that allows them to develop solutions that solve problems, rectify design issues and satisfy needs.
Investigation in this subject involves finding out about contexts of the problem, investigating or evaluating existing products about key design aspects and performing practical tests to develop an understanding of aspects of the content areas or determining a product’s fitness-for-purpose. While investigating, learners should be provided with opportunities to explore values, attitudes and indigenous knowledge to develop informed opinions that can help them to make compromises and value judgements. Investigation can happen at any point in the Design Process. It should not be something that must be completed before design begins.
Designing, making and evaluating. These skills should not be separate – they are interrelated. Part of the modernisation of Design and Making. Designs can be drafted, virtually assembled and evaluated before they are produced.
Evaluation skills, for example, are used to choose ideas.
At this level, learners should be introduced to key aspects of design. These should be used to evaluate both existing and designed products against predetermined criteria. When making, learners should be encouraged to continue to reflect on their progress against these criteria and to modify their solutions based on problems encountered. As learner’s progress, they should be able to demonstrate increasing accuracy and skill, better organisation and safer working practices.
Communication should also be integral to the overall process. Learners should be recording and presenting progress in written and graphical forms on an ongoing basis. Their presentations should show increasing use of media, levels of formality and conventions as they progress through the phase.
In education, Computational Thinking is a set of problem-solving methods that involve expressing problems and solutions in ways that a computer could also execute.
Literacy and Numeracy Skills integration:
Coding and Robotics rely on the ability of learners to read and write and is central to successful learning in the subject. Even though Coding and Robotics rely on Hybrid Block-Based and Line-based Coding in the Senior Phase, learners need to be able to communicate their ideas and thoughts using writing and should be able to construct meaningful and logical thoughts. Learners should engage with written examples of block code they need to interpret and use as part of their learning.
Learners should read the labels, buttons, icons and titles used on User Interfaces of various Applications. Their reading and writing skills will further be required in various applications where they will be required to read and follow instructions on digital devices. These instructions include logical steps that need to be executed in the applications or written in Hybrid Block-Based and Line-based Coding. The learner’s ability to read and write well is critical when they are assessed both informally and formally.
Coding and Robotics in a localised Context
In Coding and Robotics, the curriculum is organised into strands. The use of strands integrates the content from the different subjects’ areas where possible and appropriate. Teachers are encouraged to adapt the scenarios so that they are suitable for their school within the South African context.
Weighting of Strands and Topics
The Coding and Robotics curriculum is designed across 40 weeks of the year. Approximate time allocations are given for each topic during each term, indicating each topic’s weighting. Coding and Robotics practical application time should be incorporated into the teaching schedule.