This unit takes learners on a tour through the different layers of computing systems: from programs and the operating system, to the physical components that store and execute these programs, to the fundamental binary building blocks that these components consist of.
The aim is to provide a concise overview of how computing systems operate, conveying the essentials and abstracting away the technical details that might confuse or put off learners.
The last lessons cover two interesting contemporary topics: artificial intelligence and open source software. These are linked back to the content of the unit, helping learners to both broaden their knowledge and focus on the topics addressed in the unit.
In this unit, students will explore the technologies that make up the internet and World Wide Web. Starting with an exploration of the building blocks of the World Wide Web, HTML, and CSS, learners will investigate how websites are catalogued and organized for effective retrieval using search engines. By the end of the unit, learners will have a functioning website.
This unit introduces learners to text-based programming with Python. The lessons form a journey that starts with simple programs involving input and output, and gradually moves on through arithmetic operations, randomness, selection, and iteration. Emphasis is placed on tackling common misconceptions and elucidating the mechanics of program execution.
A range of pedagogical tools is employed throughout the unit, with the most prominent being pair programming, live coding, and worked examples.
This unit offers students the opportunity to design graphics using vector graphic editing software. The lessons are tailored to Inkscape (inkscape.org), which is open source and cross-platform, but the resources should be readily adaptable to any vector graphics editors Vectors graphics can be used to design anything from logos and icons to posters, board games, and complex illustrations. Through this unit, students will be able to better understand the processes involved in creating such graphics and will be provided with the knowledge and tools to create their own. One of the most interesting and challenging aspects of creating vector graphics is their unlikely link to computational thinking. Creating a complex design is a multi-step process that starts with elementary shapes and involves combining them into more intricate ones using operations such as union, difference, and intersection.
This unit aims to take the learners from designer to project manager to developer in order to create their own mobile app. Using App Lab from code.org, learners will familiarize themselves with the coding environment and have an opportunity to build on the programming concepts they used in previous units before undertaking their project. Learners will work in pairs to consider the needs of the user; decompose the project into smaller, more manageable parts; use the pair programming approach to develop their app together; and finish off by evaluating the success of the project against the needs of the user.
This unit conveys essential knowledge relating to binary representations. The activities gradually introduce learners to binary digits and how they can be used to represent text and numbers. The concepts are linked to practical applications and problems that the learners are familiar with.