A Level Computer Science – top tips for planning the NEA programming project
14 February 2024
Connor Toms and Ceredig Cattanach-Chell, Subject Advisors for Computer Science
This blog has been updated from the version originally published in November 2022.
At A Level Computer Science teacher networks we often discuss the programming project and the project checking service that we offer. In this blog, we’ll look at common pitfalls that we still see and share some tips to help you and your students plan and develop suitable projects.
Using the project checking service
We offer a proposal checking service for teachers new to our qualification. This service aims to support new teachers who want feedback on their student’s project proposals.
We only expect established teachers to require this service where a student’s project proposal is significantly different from any other ever seen. As always, the teacher is best placed to support the majority of their students with project guidance.
It is not a requirement to get student project proposals reviewed by us.
Our free checking service helps teachers to identify suitable projects for the A Level NEA. We give advice on identifying where student project proposals may need development, and what that development may look like. We also let you know if a proposal appears to allow full access to the mark bands.
1. Generating ideas
Some teachers may not be familiar with the project setting guidance. This guidance provides key information and advice on creating a suitable A Level project.
TIP: Reading the project setting guidance with students beforehand can save everyone time. You are more likely to develop good project ideas if you read this first.
We also have six candidate exemplar projects. These can be found on Teach Cambridge with marks and moderator comments to support you in identifying the scope of projects.
Identifying a suitable project could take three or four weeks of work with students. Many students focus in too quickly on one project idea. This then blinkers their focus and may cause challenges later on. So encouraging students early on to develop 5-10 initial project titles is good practice. They can then come back to each of these later adding more detail to each proposal.
The fact that a candidate has more than one idea allows you as a teacher to assess which are realistic and achievable in the time frame. It also gives the candidate a back up if things go wrong with their main idea.
TIP: Encourage students to generate a minimum of five initial ideas for a project and explore them all.
2. Preparing the proposals to send to us for checking
Teachers should review the project proposals before submitting to us. The student alongside the teacher should pick one idea to send to the project checking service, though sometimes it may be appropriate to send in two.
Often the proposals sent to us are vague. They do not allow us to fully understand the scope of the project, and its potential for meeting the mark criteria.
For example:
“My proposal is some sort of game that will help students revise. It will let them get better at learning stuff and have some flash cards. It will have a leaderboard and make them get better at revision by giving them questions to learn. There will be a database of questions, and they will get harder and easier questions as they learn more things.”
This is not detailed enough for us to provide quality feedback. We would like to have had answers to questions such as:
- What sort of game is it?
- Is this simply a multiple-choice quiz?
- How does it help a student improve/ progress?
- What sort of database is it – how is this built?
- What makes a ‘hard’ or ‘easy’ question?
- How are the questions selected?
- Will there be an opportunity to review question and answer data?
These are the sort of questions that a teacher should ask students to help them to develop a quality project proposal.
Ideally each project proposal should have:
Title and brief overview of the project
It is important that the student has a clear vision of what their project is going to do or be. It needs to include:
- a clear vision of the project
- the student’s understanding of what they are creating
- where a suitable graphical user interface will be used
- potential algorithms they may use within their solution.
Programming languages to be used
- Students can use any general-purpose, high-level programming language if it is text based. If the language contains most of the techniques in the specification, it should be fine to use.
- HTML and CSS can be used in projects, but it does not count as a general-purpose programming language, it’s a scripting language.
- The Unity, Unreal and Defold game engines are popular for games design and are all fine. These game engines will use a high-level language such as C#, C++ and Lua. It’s important that students do not rely on built in drag and drop scripting functionality as this will not count towards their design and development.
If you want to double-check a language or engine, you can email us at ComputerScience@ocr.org.uk.
Main project objectives/success criteria
- This section links to the stakeholder for the project and what a successful solution will do for them. It is best presented as a bulleted list.
- Ensure that objectives are clear and measurable. “It will make them better at physics exams” is not defined clearly. How will it do this?
Why this is a suitable project
This asks the student to justify their project.
- Lot of students write that they will have to learn a new programming language which isn’t justification or necessary.
- It’s better to say here what key programming techniques they will make use of and why it will be a good A Level project.
TIP: Sending in short or underdeveloped project ideas means we cannot give detailed feedback. The more the students include, the more we can support them.
We often see proposals which appears to have had no checking or development done in the classroom. This really limits what we can give back as feedback, because often these types of proposals are very loose, non-substantial, and lack detail and thought. We encourage all teachers to review the project proposals with their students before sending them to us.
TIP: Please read through the proposals students write before sending them in. If you don’t understand them, we’re not likely to either.
3. Sending the proposals to the checking service
Some students may have similar ideas or themes, in which case you could pick one of these for general feedback and apply the approaches to the rest of the projects. This helps us manage the volume and response times when things get busy.
TIP: Be selective over which proposals you send to us. Try to send themes if possible, by picking one proposal that reflects several ideas.
Email all your student proposals to us at ComputerScience@ocr.org.uk in a single document. This helps to speed up our response time.
Common issues with project proposals
Here are some of the common issues that we see in projects.
Size of the project
Projects do not have to be massive or solve an entire problem. It’s easy for students to get swept up in wanting to produce an entire solution. However, smaller targeted projects which make for part of a solution can also achieve strong grades.
Think about the limited time they have and what is realistic. Ambition is great, but it might hold them back. It is more likely that large projects will encounter issues. This can then ‘failscade’ and result in minimal success. An effective way to streamline ambitious projects is to break them down into primary, secondary, and tertiary goals.
Projects are opportunities to display good software design and principles. Pick out some of the key concepts in the specification, for example object orientation, sorting and searching, or some sort of low-level implementation of artificial intelligence machine learning.
GCSE level projects
Too often, a student’s proposal does not go beyond GCSE level. For example, simple quizzes or databases with web front ends or a basic booking system.
GCSE level proposals often include:
- revision quizzes or flash card makers with a leaderboard
- simple card games
- simple logic games (like Battleships, Snake or Flappy Bird).
Students need to develop these ideas further for the requirements of A Level. This could include things like Artificial Intelligence (AI), or analytical tools to provide data from the systems. Auto adaptation for revision tools/proposals can provide a good challenge.
How to add scope to projects
There are often simple fixes to make sure that projects offer a good opportunity to meet A Level requirements.
Games
We often see proposals for simple games and current card-based games like Blackjack, Snap, and Top Trumps. Games offer a lot of potential – but also can be simplistic. Blackjack is quite a simple probability game. Top Trumps is a basic IF X > Y challenge. Flappy Birds has a single collision detection and moving background, and the input is limited to a mouse click.
Ways to develop games can include:
- networking (not just two players)
- develop 2D into 3D
- increase the range of objects, collisions, and movement
- add things like ‘power ups’, or items that change the physics of the game
- use some basic AI or pathing for enemies
- add deeper logic chains, or butterfly effect styled outcomes.
Text-based games
Provide a great base for an A Level project. Students can develop this principle by including a graphical user interface with images of the rooms. They could include a backpack so there is a need to manage items and update the backpack using complex data structures. Logic chains of finding and storing items, and the logic chains of competing tasks and having items to then progress also adds challenge.
AI for enemies also adds a good challenge. Avoid going too deep with AI though. Chess is quite popular to use as an example. Demonstrating a 2-3 level AI search for the “best moves” is enough to demonstrate good skills. You don’t need to create a system that can beat a Grandmaster.
TIP: Game tutorials are readily available online, whilst these could be used as a base for a project – you must only credit the coding and individual work that the candidate develops.
Quizzes
Students should move away from revision apps and develop some sort of learning application.
For example, students can link banks of questions with metadata so that difficult specification areas and the learning objectives can be selected automatically.
The quiz can then tailor the questions that are being asked automatically using adaptive learning. For example, if the system detects the user is struggling with nine-mark questions or difficulty with level 3 questions, then it might reduce those types of questions. Or it could look at the frequency that they are getting level 1 or 2 questions right and adapt the questions to make them harder.
The best learning apps are likely able to produce well thought out reports for teachers to support revision plans.
These projects still have the same question bank and data storage as a basic quiz, but the additional metadata of what these questions are and how they can be used in the automatic generation of the quiz are more appropriate for the scope of the A Level.
TIP: Adaptive learning programs which analyse data and react based on this analysis are likely to be more suitable for A Level projects.
Data stores
We still see huge numbers of traditional ICT projects. These projects tend to be stock management, calendar appointment systems, restaurant or flight booking, or health tracker apps.
These projects solely tend to manage a large data store. There is a lot of focus on the use of SQL for creating the database and searching.
The challenge here is that SQL is not a general-purpose programming language. Large amounts of SQL does not attract credit. Data stores can simply be exported to text files or similar. This may be a better option, giving the student more time to focus on programming.
Data store projects can be developed by:
- putting data online so that it includes concurrency, record locking and other A Level database features taken from the specification
- considering automation of stock ordering systems or health apps to predict trends and analysing real time data to produce new output
- suggesting price increases or decreases, or producing that adaptive feedback graphically.
TIP: The focus of projects with large data stores should be on what the project is doing with the data and not simply just storing and retrieving it.
To conclude
We hope this information has been helpful and supports you to ensure the project proposals we review are strong and appropriate for A Level. As always, please contact us if you have any questions. We are always happy to email you or call to talk through any queries you have.
Stay connected
If you have any questions, you can email us at ComputerScience@ocr.org.uk or support@ocr.org.uk, call us on 01223 553998 or message us @OCR_ICT. You can also sign up to subject updates and receive information about resources and support.
If you are considering teaching A Level Computer Science, use our online form to let us know, so that we can help you with more information.
About the authors
Before joining OCR in September 2021, Connor worked as a head of Computing in Cambridgeshire. Prior to teaching, he studied Computer Games Development at the University of Bedfordshire. Outside of work, Connor is a keen golfer, avid tech head and music enthusiast.
Before he joined OCR in 2015, Ceredig had eight years teaching experience across a wide range of schools, including primary, secondary, academies and SEN sectors. At OCR he supported the development of the new GCSE (9-1) Computer Science and Entry Level R354, and led on the delivery of teacher delivery packs, a key element of the new GCSE’s success with teachers. Ceredig has a degree in Computer Science from Liverpool University and post-grads from Liverpool Hope and Cambridge Universities. Outside work, Ceredig is a keen modeller/painter, gamer and all-around geek.