Computer Science
The Computer Science department aims to develop courses that promote critical thinking, analysis and problem-solving skills through the study of computer programming, giving students a fun and interesting way to develop these skills, which can be transferred to other subjects and even applied in day-to-day life.
Our courses provide excellent preparation for students who want to study or work in areas that rely on these skills, especially where they are applied to technical problems.
These areas include engineering, financial and resource management, science and medicine.
Comments from a GCSE Computer Science student:
“The world is changing and we are using computers a lot more now. I thought it would be a relevant topic to learn about to help me in future life. I like GCSE Computer Science because it’s challenging. I most enjoyed the programming section of the course because it allowed us to write our own programs.”
KEY STAGE 3
In Year 7 students study units in:
- Using computers safely – staying safe while using the internet and social networking, searching, using email, keeping data safe
- Visual programming – using visual coding techniques to solve problems online at code.org.
- Spreadsheets – forecasting profits and losses in a business context.
- Kodu – creating a virtual world using Microsoft Kodu – more visual programming.
- Databases – using query techniques in databases to solve problems.
- Flowol flowcharting – using flowcharts to control virtual machinery online.
In Year 8 students move on to units in:
- Computer systems – computer components, binary numbers, the future of computing
- Introduction to Python – writing programs using the world’s 2nd most popular high-level programming language
- Networking – how networks and the internet work
- HTML & website development
- Computer Crime and Cyber Security
- More Python – building on the introductory unit, to prepare students for programming at GCSE.
RECOMMENDED READING
- Lift-the-flap Computers and Coding – (Usborne)
- Raspberry Pi for kids by Richard Wentk (Wiley)
- Coding for Beginners Using Scratch - (Usborne)
- Kodu for Kids: The Official Guide to Creating Your Own Video Games - (QUE)
- Computational fairy tales - (CreateSpace Independent Publishing)
- Computer Coding Made Easy by Carol Vorderman - (Dorling Kindersley)
- How to Code in 10 easy lessons by Sean McManus - (QED Publishing)
- Python Basics, Level 1 (Coding Club) - by Chris Roffey (Cambridge University Press)
- Adventures in Minecraft - by John Farndon and Rob Beattie -(QED Publishing)
- How to Code Books 1-4 and How to Code: The troubleshooting handbook for parents and teachers
- (QED Publishing)
- The HEAD in the Cupboard: an HTML Adventure - (Tech-it-FWD)
- Getting started with coding - (Wiley)
- The Super Duper CSS Coloring-in-Book - (Tech-it-FWD)
- Algorithms and Bugs (Kids Get Coding) - (Wayland)
- Star Wars™ Coding Projects - (DK)
KEY STAGE 4
Students who opt for GCSE Computer Science (9-1) will study the following components:
Computer Systems
- Systems architecture
- Memory
- Storage
- Wired and wireless networks
- Network topologies, protocols and layers
- System Security
- Systems Software
- Moral, legal, cultural and environmental concerns
Computational Thinking, Algorithms and Programming Algorithms
- Programming techniques
- Producing robust programs
- Computational logic
- Translators and facilities of languages
- Data representation
Programming Project
- Programming techniques
- Analysis
- Design
- Development
- Testing and evaluation and conclusions
- The two units are examined contributing 50% each. The compulsory programming project is a 20 hour course that help to develop problem solving and programming skills.
RECOMMENDED READING
Codecademy is the web resource that does exactly what it says on the tin. This is a good starting point to
discover what computer programming (in JavaScript) can be like. Sometimes unforgiving if you get your syntax
wrong (that's spelling, punctuation and grammar in computer speak). You get feedback as you progress and
learners can compare their score with each other.
Invent With Python is a real book that teaches you step by step how to program using the Python
programming language. The book is available as a hard copy to purchase, a free download or just view it
online for free. The author has a friendly style of writing and explains all the code used clearly. Don't worry
- no references to large snakes.
Computing At School is a free-to-join association for anyone with an interest in computing in education.
Sponsors include Microsoft and Google among others. Benefits of joining include free-to-attend annual
conference, regional hub meetings, competitions, newsletters and teachshares. Meet up with lots of other
like minded people to share and steal good practice.
Code Hero is a totally new way to learn how to code. It's a first-person science shooter game where you
use the code gun to manipulate code. You learn how to code in order to succeed in the game.
Play My Code is "an online platform for building, playing and distributing browser games. Powered by
HTML5, you can build within the browser and embed your games anywhere." Start by simply playing the
games, then make small alterations to make the games easier or more difficult to play, share your altered
games with friends. Before you know it you are a games developer.
Youtube contains many podcasts and academic programs that you can follow.
Alice is a desktop app developed by Carnegie Mellon. More advanced than other programming tools for kids,
Alice teaches the fundamentals of programming in a 3D setting. This makes it ideal for teens. While working
in the app, students can see the code behind the projects they create on the screen. Programming concepts
are learned while students create animated movies and basic video games that they can then share on the
internet. Note: Java runtime is needed for Alice.
App Inventor is a cloud-based tool maintained by MIT. Much like the popular coding app Scratch, App
Inventor has drag-and-drop coding blocks. However, App Inventor includes all methods, functions, and coding
elements that a student would need to create an Android app. This makes it ideal for middle school kids and
up. Students can build apps right in their web browser. The website offers support, but there are no stepby-step instructions to guide students, another reason the tool is best for older students.
Like Codecademy, Khan Academy is an interactive online tool better suited for middle grade
students and above. Khan Academy teaches coding fundamentals using JavaScript and ProcessingJS. Students
will learn how to create animation, games, and drawings through programming. They'll learn how to make
web pages using HTML and CSS. Students can then share their creations with other students and learn from
each other.
KEY STAGE 5
For those wishing to study A level, we deliver OCR Computer Science.
Content Overview
- The characteristics of contemporary processors, input, output and storage devices
- Software and software development
- Exchanging data
- Data types, data structures and algorithms
- Legal, moral, cultural and ethical issue
- Elements of computational thinking
- Problem Solving and Programming
- Algorithms to solve problems and standard algorithms
- The learner will choose a computing problem to work through according to the guidance of the specification.
- Analysis of the problem
- Design of the solution
- Developing the solution
- Evaluation
Assessment Overview
- Computer Systems
- 140 Marks, 2 hours 30 mins 40% of Total A-level
- Written Paper (No calculators allowed)
- Algorithms and Programming
- 140 Marks, 2 hours 30 mins 40% of Total A-level
- Written Paper (No calculators allowed)
- Programming Project
- 70 marks 20% of Total A-level
- Non-exam assessment
RECOMMENDED READING
General:
- Computer Science: An Overview by Glenn Brookshear. This is a good big textbook that covers a lot – a good book to dip into.
- Algorithmics, the Spirit of Computing by David Harel, Addison-Wesley. This is an excellent introduction to algorithms, most suitable for those who already have some programming experience.
- Secrets and Lies: Digital Security in a Networked World by Bruce Schneier. The book of choice for information security, by a leader in the field.
- The Signal and the Noise: Why so many predictions fail – but some don’t by Nate Silver. This is an excellent introduction to modelling and predicting complex system behaviour. The chapter on how Gary Kasparov was beaten by an IBM built computer in chess is worth reading on its own.
- The Golden Ticket: P, NP, and the Search for the Impossible by Lance Fortnow. One of Amazon.com’s 2013 Best Science Books. One of Choice's Outstanding Academic Titles for 2013. Honorable Mention for the 2013 PROSE Award in Popular Science & Mathematics, Association of American Publishers
- Quantum Computing Since Democritus by Scott Aaronson (Cambridge University Press 2013) "... a tour through some of the deepest ideas of maths, computer science and physics...covers an amazing array of topics. Beginning in antiquity with Democritus, it progresses through logic and set theory, computability and complexity theory, quantum computing, cryptography... Aaronson's informal style makes this fascinating book accessible to readers with scientific backgrounds..."
Internet:
- Weaving the Web: the Past, Present, and Future of the World Wide Web by its Inventor by Tim Berners-Lee. The title is self-explanatory!
- Where Wizards Stay Up Late: The Origins of the Internet by Katie Hafner and Matthew Lyon, Simon and Schuster. Programming
- Mostly we recommend that you do it, rather than read about it. There are abundant web resources for projects in Python. Alternatively, if you have an Android phone, you can download Android Studio and program your phone with some of the excellent examples available from Google.
- If you have some prior experience, even with a scripting language, then you might like Head First Java second edition, by Kathy Sierra and Bert Bates, which is amusing and very solid.
- The Psychology of Computer Programming by Gerald Weinberg. Silver Anniversary Edition (1998). Not a technical book. It’s an easy read, but it does assume a bit of exposure to programming. Lots of insights about what happens in programming projects, and different approaches to programming. Futurology This is an exciting historical moment: computer science will bring enormous changes to the world.
- The Singularity is Near by Raymond Kurzweil. This is a very controversial but bold prediction of where computer science may eventually go. Entertainment
- Logicomix: An Epic Search for Truth by Apostolos Didactylos and Christos H. Papadimitrou. A graphic novel for all who want to know more about the history and nature of computing.
- Gödel, Escher, Bach: an eternal golden braid by Douglas Hofstadter. This book should be compulsory reading for any computer enthusiast who wants to understand the deep structures of computer science and the way those structures are shared with subjects such music and art.
History
- The Facebook Effect by David Kirkpatrick. One account of the astonishing rise of Facebook from its origins in a college dorm room....
- The Cathedral & the Bazaar by Eric Raymond O'Reilly. A short history of the open source movement.
- The Cuckoo's Egg by Clifford Stoll. An old but classic account of tracking a hacker, a very readable and lively story with some internet history in there too. Surprisingly, this is now out of print: if you can find it in a library, it’s a gripping story. · The Thrilling Adventures of Lovelace and Babbage: the (mostly) true story of the first computer by Sydney Padua. Lively – and the explanation of the Analytical Engine is the best around. Sydney Padua is associated with the department.
- Cryptography and Information Security
- The Code Book by Simon Singh. A lively account of codes and code-breaking by a Royal Holloway alumnus.
- Traces of Guilt by Neil Barrett, ISBN-10: 0552150886. A good read with some technical detail.
Website:
https://www.cs.ox.ac.uk/admissions/undergraduate/why_oxford/background_reading.html