Although they are invisible and intangible, software systems are amongst the largest and most complex artefacts ever created by human beings…
Computing at School Working Group – March 2012
Our Computer Science department aims to develop the knowledge and skills required for students to play an active role in the digital world that surrounds them. Developing a firm grasp of computing concepts will help them get the best from the systems they use, solve problems when they go wrong and create new systems when they are required.
We believe all students will find the combination of computational thinking, computing principles and computational approach to problem-solving empowering. Focusing this combination of academic and practical skills on a problem will help bring success in all curriculum subjects and the CAST challenge projects.
There can sometimes be confusion about the differences between ICT and Computing. Computer Science refers to the processes used to create computer programs/systems and applications, combined with the theory behind those processes. On the other hand, information technology refers to the application of computer programs and tools to solve problems.
Computing in industry is essentially a practical subject that applies theory to design and develop products for clients. With this in mind, we have expanded our curriculum to reflect modern business practice. Most learning is delivered through projects, which involve project management, teamwork, report writing and the use of industry-standard tools.
We follow the AQA 7517 specification. The course aims to develop students who can: apply theoretical knowledge to practical tasks; design and produce high-quality programs; be aware of their contribution to society; and understand how the course material relates to industry practices. With these aspirations in mind, we have developed a series of projects which are tackled in teams or individually.
During Year 12, students will work on a series of coding projects that use A-Level theory as a starting point. Each project the students encounter has taught lessons that focus on the theory and practical studies that focus on planning and developing coding techniques needed to be successful.
In September, all students are introduced to Visual Basic. For students with limited exposure to programming, Visual Basic allows them to develop skills in a Procedural Oriented Programming (POP) language. For students with more experience, they refresh their memories and advance their skills after the summer break. Planning projects using UML diagrams that help students fully understand the issues before code is written.
Project one introduces students to binary mathematics. Students will use subroutines, functions, arrays and string manipulation to automate several binary maths problems. We then move on to using multiple 2-dimensional arrays, designing and developing a human v computer battleships game. Students develop an algorithm to place ships onto the computer playing board and make sure that the game rules are applied to both players.
In the Spring Term, we move on from Visual Basic and start to learn C#, an Object Orientated Programming (OOP) language which will be used in the Year 13 final exam.
Projects include investigating a bank and how saving and current accounts work, focusing on instantiation and inheritance. Students use the queue and stack data structures to develop a card game. We create programs that encrypt and decrypt files using a simple Caesar Cypher and the uncrackable One-Time pad that uses a private key that is randomly generated to secure the data. Students learn about Alan Turning and his invaluable contribution to the computing world by developing a series of Turning Machines to solve increasingly difficult mathematical problems.
After the Easter break, we study database design and development, Data Definition Language (DDL) and Structured Query Language (SQL). Students use MySQL/phpMyAdmin to create an insurance company database and use C# to develop a user interface. Alongside this we start preparing students for the summer term exams. This is done by introducing the format and revising the material. This exam is a combination of paper 1 and 2 topics.
Year 12 is concluded by looking at the requirements and structure for the Non Exam Assessment (NEA). Students design a program that uses as many of the coding constructs from Year 12 as possible. They will work through the required sections; analysis, documented design, technical solution, testing and evaluation. This process will prepare them for the actual NEA in Year 13.
Autumn Term 1:
- Theory of Computation, number systems and binary maths
- Programming project in Visual Basic including binary calculator and battle ships
Autumn Term 2:
- Testing and evaluating programs, images and sound, search and sort algorithms
- Design and develop a vending machine using C#
Spring Term 1:
- Logic gates, Boolean algebra, sets and de Morgan’s law
- OOP programming projects - Encryption, Turning machines and a virtual bank
Spring Term 2:
- Communication methods, networking, client-server, communication, privacy and ethics
- Developing card games using queues, lists and stacks
Summer Term 1:
- The internet, packet switching, protocols, IP and client server model
- Database design and development (DDL and SQL)
Summer Term 2:
- Hardware and software, language classification
- Mock NEA
During the first term students will dedicate their studies to learning advanced data structures, computer architecture, regular and assembly languages and continue to develop exam technique. Students are given access to the pre-release material supplied by the exam board for the paper 1 exam. Teaching staff will give the students guidance on how to use the materials and get them ready to sit the exam, by a series of practical activities and a mock exam.
In Year 13 students will start work on their NEA. The project requires 50 hours of lesson time and an estimate 50 hours of private study. The topic for the NEA is of the students own devising but they must meet several criteria to be of A-Level standard. The deadline for the NEA is February half-term.
Starting in January the final topic is functional programming and big data with a focus on practical application and answering exam questions. When we have finished the curriculum material students will start revision for final exams, writing essays and practicing online line and written exam questions.
Autumn Term 1:
- Computer Architecture, Big-O notation, graph and optimisation algorithms, limits of computation.
- Advanced data structures.
- Start main NEA project
Autumn Term 2:
- Assembly language and regular languages. Start work on paper 1 pre-release materials
Spring Term 1: NEA Project, functional programming and big data
Spring Term 2/Summer Term: Revision