The myriad applications of computer science pervade and underpin our lives to an extent unimaginable only a few years ago; indeed to such an extent that it is now difficult to imagine how modern society could function in their absence.
At Gresham’s, Computer Science is an option at GCSE, A level and IB, and its study can open up a vast range of interesting and rewarding careers for young people. Computer Science develops the logical and analytical skills required for “algorithmic thinking”, as well as the problem solving skills of abstraction and decomposition, and such computational thinking skills are highly sought after at the cutting edge of financial technology, artificial intelligence, robotics, engineering, “big data”, the rapidly developing field of virtual reality and across numerous fields of business.
Learning to program is a key aspect of developing these skills and pupils tackle a wide range of problems during their studies, principally using the Python programming language. With a straightforward syntax well suited to beginners yet powerful enough to accomplish the most complex tasks, Python is widely used in business and academia, and the language of choice for data science and machine learning applications. In the new Dyson Building pupils not only have the opportunity to explore machine learning within our robotics lab, but also to develop their own applications in our two “state of the art” computing labs wherein pupils each have their own twin-monitor workstation, as well as access to our own extensive range of bespoke online learning tools developed specifically for teaching Computer Science to Gresham’s pupils.
In two seminal lectures during the very early years of the development of computers, C.P. Snow and Alan Perlis, one of the founders of the discipline of computer science, argued powerfully for the educational importance of teaching young people about algorithms, not only to gain the benefits of study of this intellectual discipline in its own right but also in order to develop young people’s ability to play a full and active part in a society where computational algorithms would assume an ever greater role. Their arguments, delivered over 50 years ago, were unusually prescient at the time but today, in a world organised via companies such as Google and Facebook and where one’s own personal information and behaviour has a commercial value, they would seem self-evident.
Both challenging and intellectually satisfying, Computer Science offers its students what Seymour Papert, former Professor of Education at MIT and a leading figure in the development of both artificial intelligence and the beginners’ programming language Scratch, described as “hard fun”.
- GCSE COMPUTER SCIENCE
Board: Edexcel
Programming skills, and especially Python, are increasingly used within a wide range
of university degree courses, as data analysis and modelling, and machine learning,
have assumed an ever-greater role across many fields in recent years. Computational
methods underpin a wide range of commercial, scientific, and academic activities, and
studying Computer Science develops both the pupil’s knowledge and understanding
of such methods and an appreciation of when and how they may be best applied.Computational and algorithmic thinking are developed throughout the course, which explores the fundamentals of programming, data representation and compression, the protocols underpinning the Internet, cyber-security and hacking, and the ethical issues and risks of technology for society.
Pupils spend a significant part of their time programming in Python, a language very widely used in industry, business and in universities; within higher education and more widely, knowledge of Python is a valuable skill in its own right.
The problem-solving skills developed through study of Computer Science have wide applicability across the disciplines, and pupils who study Computer Science at GCSE and beyond will find opportunities in a wide range of fields, including financial services, cyber security, engineering and the sciences.
Assessment is by means of two 90 minute exams (100% of total marks), one of which is an on-screen Python programming exam.
- A LEVEL COMPUTER SCIENCE
Exam board: AQA
Entry requirements: Grade 6 in GCSE Computer Science or, since the syllabus is specifically designed to be equally accessible by those who have not studied the subject at GCSE, grade 6 in Mathematics
Programming skills, and especially Python, are increasingly required by a wide range of university degree courses, as data analysis and modelling, as well as machine learning, have assumed an ever-greater role across many fields in recent years. Computational methods underpin a wide range of commercial, scientific, and academic activities, and studying Computer Science develops both the pupil’s knowledge and understanding of such methods and an appreciation of when and how they may be best applied. The programming, logical and analytical skills which are developed in this course are highly sought after in careers at the cutting edge of financial technology, artificial intelligence, robotics, engineering, “big data”, and across numerous fields of business. Both challenging and intellectually rewarding, Computer Science offers its pupils the opportunity to acquire valuable real-world skills whilst engaged in what Seymour Paper, former Professor of Education at MIT and a leading figure in the development of artificial intelligence, described as “hard fun”.
A considerable part of the A level Computer Science course is focused on algorithms and data structures, and how these can be expressed in, and manipulated by, computer programs. Consequently, there is large programming element, particularly Python. Computer graphics and functional and object-oriented programming are explored as well as networking and databases.
Assessment: Two linear exams sat at the end of two years, plus completion of a course work project in the second year.
Principal languages: Python, ASM, Haskell, SQL, Javascript
Paper 1 (40%) On screen exam
- This paper tests a pupil’s ability to program, as well as their theoretical knowledge of:
- Fundamentals of Programming
- Fundamentals of Data Structures
- Fundamentals of Algorithms
- Theory of Computation
Paper 2 (40%) Written exam, testing the pupil’s knowledge of these aspects
- Data Representation
- Computer Systems
- Computer Organisation & Architecture
- Consequences of the use of Computing
- Communication & Networking
- Fundamentals of Databases
- Big Data
- Functional programming
Course Work (20%) A very wide range of projects can be tackled, requiring a practical programming
solution/application to be created to solve a real-world problem of the pupil’s choosing. Previous projects have included inter alia machine learning applied to psychometric testing, computer vision/robotics, and e-commerce and automated online financial trading systems.
- IB COMPUTER SCIENCE
Entry requirements
Higher Level: GCSE Computer Science or previous programming experience of a similar level is required.
Standard Level: No previous knowledge is assumed, although previous programming experience would be advantageous.A considerable part the IB course is focused on algorithms and data structures, and how these can be expressed in, and manipulated by, computer programs. Consequently, there is large programming element, primarily using Python. Computer graphics and functional and object-oriented programming are explored as well as networking and databases.
Standard Level:- System Fundamentals
- Computer organisation
- Networks
- Computational thinking, problem-solving and programming
- Object-Oriented Programming
- Development of a Computational Solution
Higher Level: As Standard Level, plus
- Abstract Data Structures
- Resource Management
- Control
- Object-Oriented Programming
- Analysis of case study
- Development of a Computational Solution
Assessment:
Standard Level: Two written Exams sat at the end of the second year, and Internal Assessment.
Higher Level: Three written exams sat at the end of the second year, and Internal Assessment.