Department of Science and Innovation (DSI) - Centre for High Performance Computing (CHPC) Computer Hardware and Programming Workshop
The Centre for High Performance Computing (CHPC), funded by the Department of Science and Innovation (DSI) of the South African government, has launched a three-year flagship project aimed at raising awareness of coding and robotics within the Department of Basic Education and the general public. The project began in 2022 and is set to run until the end of March 2025. It involves training coding and robotics subject advisors and officials from all districts across South Africa's nine provinces. The five-day training program covers key areas such as:
- Coding using Scratch software.
- An introduction to robotics and programming robots with Scratch.
- Virtual Machines and Cloud computing.
- Computer hardware disassembly and assembly.
With the National Department of Basic Education in the process of implementing a coding and robotics curriculum in public schools, this initiative is expected to play a critical role in shaping and refining the basic school coding curriculum in South Africa.
Scratch is a visual programming language developed by the MIT (Massachusetts Institute of Technology) Media Lab to teach programming fundamentals through a user-friendly, drag-and-drop interface. It allows users, particularly beginners and children, to create interactive stories, games, and animations by snapping together colourful code blocks. The scratch platform promotes understanding of programming concepts without writing complex code and supports a vibrant community where users can share and remix projects. Scratch is widely used in education to foster computational thinking, creativity, and problem-solving skills.
This introduction to robotics for covers the essential components of robotics, including mechanics, electronics, coding, and sensors. It explains how these disciplines combine to create robots, emphasizing the role of microcontrollers and how it is used with an Arduino. As a practical project, we will Scratch for Arduino to build a simple robotic arm. You will program servos to control the arm's joints, learning to adjust angles and movements. This hands-on project introduces you to the basics of controlling mechanical parts with code, providing an interactive way to explore robotics and electronics.
Virtual resources refer to computing components like CPUs, storage, and networks that are abstracted from the physical hardware and are made available in a virtualized environment. These resources enable users to run operating systems, applications, and services without the need for dedicated physical hardware. Virtual resources are typically used in the form of virtual machines (VMs) or cloud computing services.
- Scalability: Virtual resources allow you to easily scale your infrastructure based on demand, whether you're adding more processing power or storage.
- Cost-Efficiency: They reduce the need for expensive physical hardware. Instead, resources are allocated dynamically and efficiently.
- Flexibility: You can quickly deploy different operating systems and applications in isolated environments without affecting the physical hardware.
- Resource Optimization: Virtual resources maximize the use of physical hardware by sharing the infrastructure between multiple virtual instances, improving efficiency.
In the porton of the workshop, we will cover two key aspects of virtual resources:
- Virtual Machines on Local Machines: Understand how to create and manage virtual machines on your local computer, enabling you to simulate different environments or run multiple systems simultaneously.
- Cloud Resources: Learn how to deploy and manage resources on the cloud, leveraging scalable and flexible cloud platforms that are provided through the CHPC Sebowa Cloud.
In this session, participants will be guided through the process of installing Ubuntu on a virtual machine using VirtualBox. The session is focused on setting up a virtualized environment, allowing you to run Ubuntu on your local machine without the need for dedicated hardware. This will provide hands-on experience in creating and managing virtual machines, an essential skill for modern computing environments. It also include the introductaion to a terminbal and using it to run some basic commands.
In this session you will learn what cloud computing is and why it important in the internet age. In the end you should be able to create your own virtual desktop to use at home or anywhere. This session is about the workshop education continuation beyond this week period. You will learn how to create your virtal computer with Windows and then install all the Scratch programs for you to continue learning and practicing the Scrach programing language with robotics beyong the workshop week.
In this session, participants will gain a comprehensive understanding of computer hardware. You will learn how to disassemble a computer, identify its various components, and understand the functionalities of each. This hands-on experience will provide insight into how these hardware mechanisms work together to ensure the proper functioning of a computer. Following the disassembly, we will reassemble the hardware components, restoring the computer to its fully operational state.
Everyday will compromise of the different session as briefly shown in this timetable. A detailed PDF Version of the timetable is avaliable for you to download.
| Time | DAY 1 | DAY 2 | DAY 3 | DAY 4 | DAY 5 |
|---|---|---|---|---|---|
| 08:45 - 9:00 | Registration | ||||
| 9:00 -10:30 | Opening: Computer Hardware and Coding for DSI Workshop 10 | Scratch Coding Session 3 | Robotics Practical Session 1 | {codeclub} Session 1 | Virtual Resources Session 1 |
| 10:30 - 11:00 | Tea Break | ||||
| 11:00 - 13:00 | Scratch Coding Session 1 | Scratch Coding Session 4 | Robotics Practical 2 | {codeclub} Session 2 | Virtual Resources Session 2 |
| 13:00- 14:00 | Lunch | ||||
| 14:00 -15:00 | CHPC Facility Tour | Scratch Coding Session 5 | Robotics Practical Session 3 | Computer Hardware Session 1 | Feedback and Closing |
| 15:30 - 16:00 | Tea Break | ||||
| 16:00 - 17:00 | Scratch Coding Session 2 | Scratch Coding 6 | Robotics Practical Session 4 | Computer Hardware Session 2 | Departure |