# Computer Science

## Learning Journey & Sequencing Rationale

A high-quality computing education equips learners to use computational thinking and creativity to understand and change the world. Computing has deep links with mathematics, science and design and technology, and provides insights into both natural and artificial systems. The core of computing is computer science, in which learners are taught the principles of information and computation, how digital systems work and how to put this knowledge to use through programming. Building on this knowledge and understanding, learners are equipped to use information technology to create programs, systems and a range of content. Computing also ensures that learners become digitally literate – able to use, and express themselves and develop their ideas through, information and communication technology – at a level suitable for the future workplace and as active participants in a digital world.

## unit overview - autumn 1

 Subject: Introduction to Python programming Skills Write and execute first programs in Python. Construct short programs for the first time. Revisit and extend programs to use selection. Build programs that check weather conditions and display appropriate responses. Apply skills and knowledge to create a times tables practice game. Extend a number guessing game that they developed previously into an iterative version that allows multiple guesses. Knowledge Describe what algorithms and programs are and how they differ. Recall that a program written in a programming language needs to be translated in order to be executed by a machine. Describe the semantics of assignment statements. Use simple arithmetic expressions in assignment statements to calculate values. Receive input from the keyboard and convert it to a numerical value. Use relational operators to form logical expressions. Use binary selection (if, else statements) to control the flow of program execution. Generate and use random integers. Use multi-branch selection (if, elif, else statements) to control the flow of program execution. Describe how iteration (while statements) controls the flow of program execution. Use iteration (while loops) to control the flow of program execution. Use variables as counters in iterative programs. Combine iteration and selection to control the flow of program execution. Use Boolean variables as flags. Rationale This unit introduces students 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.

## unit overview - autumn term 2

 Subject: HTML and web-pages Skills Create, reuse, revise, and repurpose digital artefacts for a given audience, with attention to trustworthiness, design, and usability. Use HTML to structure static web pages; modify HTML to improve the appearance of web pages. Apply HTML tags to construct a web page structure from a provided design. Use CSS to style static web pages. Use search technologies effectively. Create hyperlinks to allow users to navigate between multiple webpages. Knowledge This unit focuses on the following key areas of networks: Searching Threats HTML and CSS Describe HTML, images within a web page, what CSS is. Assess the benefits of using CSS to style pages instead of in-line formatting. Describe what a search engine is; explain how search engines ‘crawl’ through the WWW and how they select and rank results. Discuss the impact of search technologies, networking technologies and services. Discuss issues of safety and security from a technological perspective. Rationale Students grow up using web pages on their computers, tablets, and smart phones, and engage with them daily as consumers. This unit seeks to explore the technologies that make up the internet and World Wide Web. Starting with the building blocks of the World Wide Web, HTML, and CSS, students will investigate how websites are catalogued and organised for effective retrieval using search engines. They will also consider the hidden network technologies that protect us from the threats that a connected world brings, as well as looking at the impact of these services and technologies.

## unit overview - spring term 1

 Subject: Computing Systems Skills Describe the function of the hardware components used in computing systems, and how they work together in order to execute programs Describe the NOT, AND, and OR logical operators, and how they are used to form logical expressions Use logic gates to construct logic circuits, and associate these with logical operators and expressions Describe how hardware is built out of increasingly complex logic circuits Describe the steps involved in training machines to perform tasks (gathering data, training, testing) Describe how machine learning differs from traditional programming Explain the implications of sharing program code Knowledge That a general-purpose computing system is a device for executing programs That a program is a sequence of instructions that specify operations that are to be performed on data That all computing systems, regardless of form, have a similar structure (‘architecture’) What an operating system is, and recall its role in controlling program execution Since hardware is built out of logic circuits, data and instructions alike need to be represented using binary digits Broad definitions of ‘artificial intelligence’ and ‘machine learning’ Examples of artificial intelligence and machine learning in the real world – and associate the use of artificial intelligence with moral dilemmas Rationale This unit covers the different layers of computing systems: it starts with examining programs and the OS, then turns its attention to the hardware components that store and execute this software; then it examines binary building blocks that comprise all the hardware and software on a computer system. The ‘Computing Systems’ unit is a nice overview of how computers operate, highlighting the most essential features of this question and abstracting away the technical details that often confuse or put students off the subject. The unit concludes with some engaging topics: artificial intelligence and open source software. Study of both refers back to the knowledge of the unit, which helps students revisit what they have already considered, and grasp some deeper topics.  ‘Computing Systems’ assumes no prior knowledge.

## unit overview - spring term 2

 Subject: Media – Vector graphics Skills This unit progresses students’ knowledge and understanding of designing vector graphics. Students are acquainted with the basics of using software to draw geometrical shapes and manipulate them. Students are able to combine simple shapes into more complex ones. Students are presented with a set of monochrome icons and are challenged to create some of them from scratch. Students undertake a short, open-ended project out of a range of suggestions and work in pairs to complete it. Students will explore cases where vector graphics are (or aren’t) useful. Students conclude, showcase, and peer assess their projects. Knowledge Draw basic shapes (rectangle, ellipse, polygon, star) with different properties (fill and stroke, shape-specific attributes). Manipulate individual objects (select, move, resize, rotate, duplicate, flip, z-order). Manipulate groups of objects (select, group/ungroup, align, distribute). Combine paths by applying operations (union, difference, intersection). Convert objects to paths. Draw paths. Edit path nodes. Combine multiple tools and techniques to create a vector graphic design. Explain what vector graphics are. Provide examples where using vector graphics would be appropriate. Peer-assess another pair’s project work. Improve their own project work based on feedback. Complete a summative assessment. Rationale 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 editor. Vector 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. There are usually multiple paths to achieving the goal and the process involves decomposition, evaluation, and plenty of inventiveness!

## unit overview - summer term 1

 Subject: Mobile app development Skills Consider an app that could do good in the world; Consider how to decompose the large problem of creating an app. Develop elements of an app with teacher guidance. Debug errors in an app. Create success criteria for their own app. Develop their own app. Add code to a prebuilt app to deal with user input. Decompose their own app project into manageable steps. Reflect on and evaluate progress creating their own app. Complete and evaluate app project. Take a multiple-choice assessment. Knowledge Identify when a problem needs to be broken down. Implement and customise GUI elements to meet the needs of the user. Recognise that events can control the flow of a program. Use user input & variables in an event-driven programming environment. Develop a partially complete application to include additional functionality. Identify and fix common coding errors. Pass the value of a variable into an object. Establish user needs when completing a creative project. Apply decomposition to break down a large problem into more manageable steps. Use user input in a block-based programming language. Use a block-based programming language to create a sequence. Use variables in a block-based programming language. Use a block-based programming language to include sequencing and selection. Reflect and react to user feedback. Evaluate the success of the programming project. Rationale In a world where there’s an app for every possible need, this unit aims to take the students from designer to project manager to developer in order to create their own mobile app. Using App Lab from code.org, students will familiarise themselves with the coding environment and have an opportunity to build on the programming concepts they used in previous units before undertaking their project. Students 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.

## unit overview - summer term 2

 Subject:  Representations – from clay to silicon Skills Students discuss familiar examples of representations, some of which date back millennia, to better understand their use and characteristics. Students encode, transmit, and decode short messages, with each group using a different coding scheme and communication medium (signals, light, sounds, holes on paper, etc.). Students grasp what binary digits are by associating them with familiar sets of symbols such as letters and decimal digits. Students solve simple problems that reinforce the connection between (alphanumeric) information and its binary representation. They also consider the question of why binary digits are predominantly used in conjunction with computing systems. Students build upon their familiarity with using a decimal numbering system, in order to draw analogies with how numbers can be represented using binary. They use activities, either unplugged or software-based, to become familiar with binary number representation and convert between binary and decimal. Students work with bytes and the prefixes used for measuring representation size, such as ‘kilo-’, ‘mega-’, ‘giga-’ and ‘tera-’. Simple activities embed these concepts in real-life settings and introduce students to conversions between the different units and multiples. The unit is concluded with a summative assessment quiz and a puzzle activity that challenges students to unchain Alan Turing’s mug. Knowledge List examples of representations Recall that representations are used to store, communicate, and process information Provide examples of how different representations are appropriate for different tasks Recall that characters can be represented as sequences of symbols and list examples of character coding schemes Measure the length of a representation as the number of symbols that it contains Provide examples of how symbols are carried on physical media Explain what binary digits (bits) are, in terms of familiar symbols such as digits or letters Measure the size or length of a sequence of bits as the number of binary digits that it contains Describe how natural numbers are represented as sequences of binary digits Convert a decimal number to binary and vice versa Convert between different units and multiples of representation size Provide examples of the different ways that binary digits are physically represented in digital devices Rationale This unit conveys essential knowledge relating to binary representations. The activities gradually introduce students 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 students are familiar with.

## knowledge organisers

A knowledge organiser is an important document that lists the important facts that learners should know by the end of a unit of work. It is important that learners can recall these facts easily, so that when they are answering challenging questions in their assessments and GCSE and A-Level exams, they are not wasting precious time in exams focusing on remembering simple facts, but making complex arguments, and calculations.

We encourage all pupils to use them by doing the following:

• Quiz themselves at home, using the read, write, cover, check method.
• Practise spelling key vocabulary
• Further researching people, events and processes most relevant to the unit.