Computer Science aims to develop students’ independent problem-solving skills, critical thinking skills and resilience which will allow them to be adaptable, and be able to rise up to the challenges of the modern digital world. All curriculum contents are actively updated to keep abreast with technological advancements and their associated social changes. The syllabus has been meticulously constructed in terms of cross-curricular integration to push students beyond their own subject specific comfort zones. E-Safety is taught through all years. All students study Computer Science in Years 7-9. Computer Science is available as an option subject at both GCSE and A-Level.
Students start Computer Science by using an easy to learn block programming platform called Scratch to develop a fun virtual pet project, where they learn the fundamental concepts of variables, loops, conditionals and functions. Following this, students get to know how the Internet works through understanding some of the basic, but often misunderstood, concepts such as search engines and browsers. At the end of this unit, students implement a DNS (Domain Name System) simulator and a network communication simulator using Scratch. The next unit sees students work on learning HTML and CSS to build a website which will be hosted on the School’s intranet. After this, students move to learn a textual programming language called Python. The year finishes with students applying their Python skills and problem solving skills to develop solutions to a wide array of problems using the BBC Micro:bit.
Students start the year by further developing their programming and problem solving skills using a graphic package called Turtle, where they combine their programming skills and maths knowledge to produce progressively complex shapes. After this unit, students study the art of problem solving in a more conceptually formal way with a focus on algorithms. In the next unit, students get to know the essentials of artificial intelligence and its social impact. Following this, students develop understanding of several encryption methods and be able to implement some of those methods using Python. Students then move to learn how computers work in terms of how computers represent numbers, store data, the roles of transistor and logic gates and the fetch, decode and execution cycle of a CPU. Finally, students end the year developing various text games using Python.
Students start the year by learning game theory, where they learn the concepts of pay-off matrix in game modelling, Nash equilibrium, dominate strategy and the applications of game theory in real world. In the next unit, students use a Python graphic package to develop games which challenge their problem solving and maths skills. After this, students get to know an operating system, Linux, by working on a virtual Linux environment. Following this, students study database through a practical business scenario. Big data is the next unit where students explore the digital footprints, the massive data the modern world is generating and what happens to the data. Finally, students learn to use spreadsheet to organise daily life from budgeting to extracting meaningful information from a large set of data.
Years 10 and 11
Students follow the AQA GCSE Computer Science specification (8520), full details for which are available here. The course focuses on the fundamental concepts of Computer Science and computational and problem solving skills. Students will study theoretical aspects of Computer Science as well as developing computational and problem solving skills using Python programming language.
Years 12 and 13
Students follow the AQA A-Level Computer Science specification (7517), full details for which are available here. The course focuses on the fundamental concepts of Computer Science, and computational and problem solving skills. Students will study theoretical aspects of Computer Science as well as developing advanced computational and problem solving skills using Python programming language. Students are encouraged and supported to extend their learning beyond classroom through learning new programming languages, developing solutions to complex problems of their interests and taking up opportunities for them to apply their skills, such as short summer IT jobs, or school events.