Think Student

75+ A-Level Computer Science NEA Ideas (and why they’re good)

In A-Level by Think Student Editor March 9, 2019 6 Comments

Computer Science at A-Level is sometimes misunderstood as being a subject where all you do is sit in front of a screen, coding away in Python, trying to build the next Google. While a lot of your time is spent staring at a computer screen, it’s not just about coding.

There is a theory side to Computer Science which plays a big role in determining what grade you get at the end of your two years. Your NEA will take a lot of analysis, planning and trial and error which many students do not expect. That’s why below I’ve provided a long list (in no particular order) of project ideas so at least one step is taken out of the equation. You can combine some of these ideas and create a Frankenstein-type project or maybe just take one and make it your own.

Remember, refer to the mark scheme to ensure you hit as many A-Level Computer Science skills as possible. It’s always worth taking a look at your relevant specification to see which skills you want to showcase, you can find specifications for OCR and AQA here. Without further ado, let’s get to it.

1. Maze Generation Software

There are many different algorithms that you could implement when programming a maze generator (like a lot). So, if you want a list on the different algorithms you could possibly implement, check out this article.

2. Rubik’s Cube Solver

This is probably the hardest project idea on this entire list – in terms of the actual implementation. Creating AI that can actually learn how to solve the Rubik’s cube is very, very difficult.

The good news however, is that I don’t think examiners will expect you to create AI that learns how to solve the Rubik’s cube entirely by itself. Therefore, if you do choose this idea, I highly recommend that you program your AI around one of the many pre-existing algorithms that have been created to solve Rubik’s cubes.

In my opinion, this is the best algorithm for you to base your AI around.

3. Bird Migration Pattern Predictor

If you actually pull this one off, I would eat my foot if you didn’t get top marks (an A*).

For this project, you will need to analyse how birds have migrated across the globe in the past. Then you will need to try and find correlations between migration patterns and geographic weather conditions. From this data, your program could predict future migration patterns depending on different climate changes.

I think a great start for this idea is to read into what web-scraping is and how to do it.

4. Nuclear Power Plant Meltdown Simulation

While programming this project, you would have simulate real world conditions. After you have created this Earth-like environment, you can model the effects that a nuclear power plant meltdown would have on said environment.

You could even add cities to see the affects that radiation would have on them too.

5. Supermarket Stock Management System

Supermarket’s not only need to manage stock, but also staff – both of which, they have lots of. This means that there is most definitely an opportunity for you to make a complex system that could aide a supermarket.

If you do choose this, make sure you read up on how a supermarket actually operates, so the system is suitable. There’s a great document here that should tell you all you need to know about managing a supermarket (and a lot more).

6. Restaurant Point Of Sale (POS) System

A point of sale system is very different to a stock management system (as you would find in a supermarket). The difference is that a point of sale system is used (guess what) at the “point of sale”, meaning staff will use the system at restaurant tables when taking food orders.

Therefore, you must make sure your POS system has an extremely friendly user interface, as customers don’t like waiting around!

7. Chess Playing AI

I don’t think I need to tell you that this is going to be challenging… Therefore, if done right, this could lead to a well earned A* for your NEA.

There are so many resources to help you develop this particular project idea online. So, whenever you get stuck, you will never be far away from help.

8. Image Recognition AI

I reckon this is probably equally as difficult as the Rubik’s cube one – AKA very, very hard.

This idea should be screaming at you: “machine learning and neural networks”. If it’s not, there might be something wrong with you…

Neural Networks + Machine Learning = High Marks

There are loads of free online resources that will help you a ton. However, I highly recommend that you get this book off Amazon.co.uk , it is the best book on getting started with neural networks that I have ever read – just going to have to trust me on this one.

9. Evolution Simulator

This project has the potential to be seriously complicated, however, you could also make it quite simple. It all depends on what’s evolving.

If you are going to simulate how animated stick figures get better at running over many generations, your program is going to be very complex. However, if you are going to simulate how a single-muscled slug can get better traveling between points as quickly as possible then it could be quite simple.

If you’re even considering this project, then you should definitely check out this YouTube playlist (it’s strangely satisfying watching his imaginary creatures evolve).

10. Voice Recognition AI

This project is (obviously) very similar to the image recognition project that was aforementioned. Therefore, this project too, should be screaming “machine learning and neural networks” at you.

I’ve never really programmed a voice recognition AI before, therefore, I can’t really recommend any specific books for you to get (as I can’t be certain of their quality). However, I have done a quick google search and within 5 minutes I can tell that there is shed loads of information on this topic, so on that front – don’t worry.

11. Sales Order Processing System (SOP)

An SOP system should, as the name suggests, manage sales. This means it should control the majority of communications between the warehouse, sales team and the client.

Below are things that a typical SOP system could do:

  • Store Order History
  • Generate Invoices
  • Generate Reports
  • Generate Delivery Notes
  • Send Reminder Emails

You are tied down a bit with this project, as you do have to make sure a factory could actually use this software. However, there are still many different avenue’s for you take with the types of functionality you decide to implement.

12. Poker Game

For you to do this project, you would have to be fairly confident with networking. This game would allow multiple devices to join a “table” and start playing poker with each other.

Depending on how complex you want your program to be, you could add so many extra features. I think a great extra feature for this project would be to calculate the odds of someone winning per hand. Furthermore, you could also add a computer poker player (where you could definitely implement some AI).

13. DJ Software (Can Mix Music)

This one is definitely a fun project for those of you who have an affection for music. This project would clearly require you to learn a shed load about manipulating audio files, however, if you can pull it off I think you could really make a project that is A* worthy.

You could also build a control system which could implement the software. This might cost a bit of money, but once again, it’s going to make you like you really know what you’re doing.

14. Interactive Circuit Builder

If you want to know what I’m on about, get the free trial of Logicly or just go on YouTube and look at a video of someone else using Logicly.

Assuming you have done that, you will know what I mean by an “interactive circuit builder”. I would say that the most important aspect of this project would have to be the UI. Without a good user interface, the software would not be fit for purpose and you would definitely lose marks.

15. Quiz App

You could either make an offline quiz app or you make a much more complex client-server quiz style app. There is definitely much more opportunity to get an A* with the latter of those options.

If you decide to do a client-server model, I think a real time quiz app would work great – something (even remotely) similar to Kahoot would really stand out.

16. Software for Calculating The Big O of an Algorithm

Examiners will absolutely love this one, but why?

Because in doing this project, you would be making a computer science theory topic actually come to life. Therefore, if you do this project, you are showing to the examiner that you can get a concept off paper and actually make use of it in a real situation.

Besides that, this project is amazingly complex and will certainly provide you with plenty of opportunity’s for you to incorporate A* level concepts into your program.

If you have forgotten what Big O is, don’t worry (you should worry a bit actually) and just go give this a read.

17. Tracking And Monitoring Global Shipping Routes

This project is going to require you to get comfortable with web-scraping and API’s. You will need to be able to gather information about the global whereabouts of cargo ships frequently.

Once you have mastered the back-end tracking, you will need to think of a nice way to present the data. Maybe you could use certain programming libraries to make route representations on a global map?

18. Implementation of Machine Learning To Maximize Profits At An Airport

This could be my favorite project idea on here.

The lengths that airport companies go to when designing the layout of a particular airport is crazy. Everything is where it is for a reason: the route you take to board a plane, where you wait to board and the even where the security is. If you want more information about how airports maximize profits, check this out.

If you choose this project, I think you should do a simulation where people are represented by a particular sprite, shape or whatever you choose, and then they you follow them through the airport. After each day you could track the profits that the airport made.

Now this is where machine learning comes in… you could implement an algorithm that changes the layout of the airport each day and see if profits increase or decrease. Then the program would learn accordingly.

19. 3D First Person Shooter Game

Although many people choose to program a 2D game for their NEA, I think that programming a 3D game is just… better. Programming in 3D makes it so much easier for you to implement A* level programming techniques.

20. Implementation of AI To Model The Effects of Global Warming

Global warming is becoming an ever increasing issue in today’s world – so this project certainly checks the box “assists with a real world problem”.

Anyway, designing a program (using AI) that can attempt to predict what the effects of climate change are going to be on the planet is a great idea. It’s complicated enough, time-consuming enough and definitely “real worldy” enough.

A great place to start with this project is to check out the currently predicted effects of climate change, which you can find here.

21. Encrypted Instant Messaging App

An instant messaging app is one thing, but an encrypted instant messaging app is a whole different thing. This project is great because it just ticks so many boxes. You will be covering encryption and client-server networking in the same project!

Before you start this project, make sure you take out the different types of encryption methods (you can find some here).

22. E-Commerce Web App

Almost every single large company out there now has an online e-commerce website. Therefore, there is going to be plenty of helpful resources out there for you to learn from.

This project will also require some encryption as you will be dealing with payment methods such as debit and credit cards, which are VERY much confidential information.

23. Fitness Monitoring App

Programming a fitness app will allow you to actually interact with the hardware that is on the phone. For example, you could have a fitness app that tracks footsteps, in which case you would need to directly communicate with the phones pedometer.

24. Virtual Flashcard App

This can be a great project, if done right.

You’re going to have to get very good at databases if you do this project as a virtual flashcard app would require crap loads of them. A great example of a virtual flashcard app is Quizlet (I’m sure you have head of it already).

A simple virtual flashcard app should allow a user to:

  • Create Folders For Different Subjects
  • Create Flashcards Sets For Particular Modules
  • Revise Flashcard Sets Effectively.

25. Public Transport Timetable App

Now, I don’t mean just display a PDF image of a pre-existing bus timetable and say “finished!”…

This app should be able to perform web-scraping on live bus and train timetables and display the information is a user friendly way.

Your program could even take two postal codes and calculate the quickest way to get there using a mixture of public transport and walking. It could also return the current price for that specific journey. An example of how this can be implemented is on the Stagecoaches “Plan A Journey” page.

26. Social Networking Platform

You all know what a social networking platform is. I don’t think I need to explain this one to you…

27. Physics Projectile Modelling Tool

If you are a fan of mechanics, this is your project. One of the many reasons this project is so good is because when programming it, you are forced to simulate a real world environment – in the sense that you program in gravity, terrain, air resistance etc.

Furthermore, if you were so inclined, you could very easily transform this project into a game, where you try to hit particular objects using a projectile. Angry birds is a great example of what I mean.

28. Nuclear Power Plant Management System

There’s more to managing a nuclear power plant than you think. Therefore, a nuclear power plant management system can either be super simple or extremely complex depending on what you choose to implement into the system.

I highly recommend you check out this link , it tells you all about the parts of a nuclear power station and you will get a feel for what your system will be managing very quickly.

29. Weather Forecasting Software

There are many paths you could take with this particular project, so it’s really down to what you decide. However, the fundamental core of this project is that you need to at least make an attempt at predicting what the weather will be like tomorrow, the day after or perhaps even a week from now.

You could implement some kind of machine learning algorithm that could compare what your weather prediction was and what the weather actually turned out to be like. From here, the algorithm could adjust the factors that went into making the prediction accordingly.

30. Air Traffic Controller AI

Air traffic controllers are essential to ensure that planes aren’t going to collide when coming in or going out of an airport. However, humans tend to make mistakes – fairly regularly. Maybe an AI would always get it right?

For this project, you would have to create a model of an airport and simulate planes coming in and leaving. Your, AI would ensure that no planes crash… hopefully.

31. Interpreter For Chosen Programming Language

Interpreters convert high level language code into machine code that can be directly processed by the CPU. Furthermore, interpreters normally translate code per line, not all at once.

Although this programming project is challenging, you might struggle to incorporate some of the A* level programming concepts in your code. All I’m saying is that make sure you keep an eye on the marking criteria and don’t forget why you’re doing this project – to get the grades!

32. Internet Speed Tester

There’s more that goes into getting an accurate assessment of your internet bandwidth than you think. Therefore, making an internet speed test is definitely complex enough.

For this project, you will need to add feature to bulk it up. You could maybe try different methods of testing internet speed then compare how accurate each of them are.

33. Secure FTP Server

FTP stands for File Transfer Protocol. So this project would basically be making software that allows devices to easily transfer files between each other. I know I’ve said this a lot, but, once again, this project is going to be as complex as you make it.

If you choose this project, make sure you don’t just use an FTP library that does everything for you! Try and do as much as possible by yourself.

34. Software To Find The Best Online Deals

For this project, you’re going to need to “scrape” all of the current prices for a particular product off their respective websites. That’s the hard part. Next, you will have to present all of your various comparisons to the user in an easy-to-understand way (and give a conclusion containing where they can find the cheapest price).

A great example of this type of software is the website Trivago.

35. AI Chat Bot

This project would entail you creating a program that can talk to humans as if it was a human too. If there was such thing as a perfect AI chat bot, you shouldn’t be able to distinguish it from a human.

When programming this, you are going to need to be able to program in some sort of artificial intelligence that can learn from previous conversations it had with real people.

Two examples of chat bots that I have seen before are CleverBot,   Eviee, and more recently ChatGPT.

36. Search Engine

Examples of search engines are: Google, Bing and Yahoo. There role is to receive a query from a user and index webpages in accordance with how relevant they are to the particular query. So if you googled “what is a pineapple?”, the idea is that a webpage containing information about pineapples would come up first before information about bananas.

There are many factors to consider when ranking webpages. Possible ranking factors for your SE could be:

  • Keyword Frequency
  • Image ALT Tags
  • How Users Have Interacted With Page Previously.

37. AI Spam Filter

If you’ve ever been directly (or even indirectly) involved in front-end website development or survey development, you will know how big of a problem spam is. Spam messages can take many forms and with each passing year, it is getting more and more difficult to decypher what messages are genuine and which are spam.

This means that for your A-Level Computer Science NEA project, an idea could be to build a spam filter that could be run on an email server, implementing AI and Machine Learning. There is huge potential with this project idea and it is certainly not an easy one to develop!

38. Music Suggestion Tool

We’ve all used and heard of the famous YouTube recommendation service… Every time you go on YouTube, they have an algorithm running that recommends videos based on what they think you’ll like. Why not make your own version but just for music?

You could even tailor the recommendations to what mood the person is in by analysing music videos for particular themes e.g. sad, happy or exiting. If you did decide to go down this route with your NEA project, there is huge potential with this idea for machine learning implantation which would be designed around user feedback (user specifies whether or not the recommendation was good).

There is a great video on how the YouTube recommendation algorithm works here.

39. Graph Plotting Software

If you’re currently studying A-Level Maths or A-Level Further Maths, you will know the importance of graph plotting software is very high. So, there’s demand, why not provide the supply in the form of an NEA computer science project?

Your project could receive a polynomial expression as an input, and output (plot) a visual graphic of that graph… There are many examples of these types of software out there, one that you should check out is GeoGebra .

40. Foreign Language Teacher

This project idea could be made extremely basic, or extremely advanced. However, the fundamental building blocks of this project idea will always be the same; it will assist users in learning a foreign language. I don’t think I need to say too much about this idea, but I would recommend you checkout examples of this type of software such as Babbel or Duolingo.

41. Sat Nav

This NEA project could potentially consist of both web-scrapping and Dijkstra’s algorithm. That is a seriously nice combination!

What is not immediately obvious about this project idea is how much graphical work there is to it – there’s a lot. All I’m saying is that if you do decide to choose a project idea similar to this one, be sure that your graphical skills are very strong!

The most obvious example of software similar to what’s mentioned above is Google Maps, go check it out , if you’re interested.

42. Make Your Own IDE

Now this might seem intimidating at first but hear me out. There’s lots of resources out there to help you out on this project and it allows you to be as creative as you want since you’re the designer. You should be able to run, debug and compile the code.

You can use this video and this article to get you off to a good starting point.

43. 2D Platformer Game

This A-Level NEA project allows you to be as creative and go into as much detail as you want. You could include enemies, randomly generated levels, level editors where the player could make their own levels, multiplayer capabilities etc. One of the more challenging things you could do is include the ability to save your position and access it later.

This project will really get your creative juices flowing as, even if someone has the same idea as you, your games could come out wildly different. You can find many game making tutorials, particularly in Python. You may have heard of the popular library pygame which most games in Python are based on. You can click here to find a tutorial on the basics of pygame.

44. 3D Platformer Game

This will certainly push you into the top marks as it requires a deeper understanding of how to render vector graphics and some maths. Remember, the examiners aren’t worried about how good the game looks, they want to know about the complexity of your code and the skills you showcase within it. Some of the most popular libraries include OpenGL (in C/C++) and Panda 3D (Python).

One of the advantages of doing a 3D game is that the game itself doesn’t actually need to be very complicated. If all goes well, the complexity should come from the 3D rendering, meaning your game could be relatively simple.

45. Revision Aid

This idea is very popular amongst students as they likely already use one, or are taking this opportunity to build their own. This can be anywhere from a flashcards application to a quiz or a game where you have to dodge the wrong answers. See Quizlet or Anki for inspiration.

As with the platformer, the scalability of this project is up to you and how complex you want to make it. Maybe you want to have a competition element where users get a score for how many questions they get right. This project will require a knowledge of databases (e.g. SQL) so if that’s something you’re not good with then there’s still a few more to go.

46. Circuit Simulator

This project is heavily centred around a good-looking GUI, so you will need to have an immense amount of self-control to ensure you don’t throw away hours and hours into a part of the code that barely gets you any marks.

The idea is based around an interactive, online version of a circuit builder, allowing users to connect resistors, lamps and other electrical things I don’t know the names of using wires. You may want to make use of TKinter , a python library, to help with your GUI.

47. Live Chat Forum/Room

This one is pretty self-explanatory but requires a deep knowledge of networking and client-server communications. There are many tutorials you can find online on how to create chat software which is where your creativity will need to come in.

You could think about allowing users to send pictures, create their own group chats, send videos etc. You could even create an AI moderator which censors inappropriate language or detects inappropriate pictures and takes them down.

48. Robotics

This seems quite vague but what I mean is using code to control and communicate with a robot that serves a certain purpose. For example, you could code a robot vacuum to detect walls or the size of the room, where dirt is etc. You can do this through image recognition which by itself is very complex and high level, securing you those marks.

The biggest thing with this is that it requires you to have access to the required hardware so you can check if it works correctly. With the robot vacuum idea, you’re going to need to have a robot vacuum on hand.

49. Business Rota Application

Some of you might have part-time jobs, in which case you will have a better idea of what this is. In order to make sure too many people aren’t working the same shift at once, businesses often have a rota which keeps track of who goes where and at what time.

You could create a database with a simple GUI which considers new employees and their shifts and orders them accordingly. This ensures shifts aren’t clashing or overlapping. You could make this as customisable as you want to where it could apply to any business who have any number of employees working at one time or several related times.

You may need to get into contact with a real business and analyse their current system. That way, you can find anything wrong with it and improve upon it. It also means you have a bit less work to do because you aren’t starting from scratch.

50. Recreate a Classic / Retro Game

This takes away the element of coming up with brand new game logic. Instead, you have the rules laid out for you and you just have to follow them. However, there is a definite danger of copying and pasting premade code as the game already exists. Try to add your own twist to the game.

For example, you could remake Pacman but instead of having the ghosts controlled by AI, you could have them be controlled by other users. Not only is this complex, but it also ensures your code isn’t identical to the original game. There’s a whole library dedicated to retro game making in Python which you can find here .

51. Weather Forecaster

As boring as it sounds, it has the potential to get you into that high grade band. It may require some web-scraping and you might want to build your own site to display this info. You could show the predictions for the weather on this site and you could allow the user to enter their email to be sent alerts or notifications if extreme weather is to occur.

52. GPS App

Here’s your chance to implement all those path-finding algorithms your teacher might have been telling you about (I’m looking at you Dijkstra ). You can implement this in different ways, whether it’s the “Google Maps” approach where the user defines a destination or the “Find My iPhone” approach where the destination is unknown by the user until the app is activated. Maybe they want to put a GPS on their kid’s device or their own device.

53. Meteor Trajectory Simulator

If you like space or physics, this one is for you. You can really go wild with this in terms of the GUI and the back-end code. It will need a lot of complex mathematical formulae in order to function correctly, but it will be worth it when you get that top A-Level grade. That’s why having at least some interest in mathematics will benefit you in this project. You’ll be working with a lot of numbers whether that’s calculating velocity or determining the angle of a meteor.

54. 2D Shooter

This is similar to the platformer except the focus will be on the shooting aspect. You could use AI to control the enemies and maybe include different levels of guns that do different damage. You could even do a boss battle. Refer to NEA idea two to find a pygame tutorial which should give you a good base on making the game.

55. Street Fighter Remake

If you’ve ever played or heard of street fighter, you know what you need to know. However, for the three people at the back who have never heard of it, it’s a 2D fighter game. You can customise this however you want and include power ups, boss fights etc. You may need to look at the code of several other similar games to combine them and make your own.

56. Finding the Shortest Route on the London Underground

This project will allow you to use the path finding algorithms and maybe a website. You can calculate the shortest distance between two stations and calculate the time taken to get there. You will probably need to do some research on JavaScript in order to get the backend of your website working. I’ll link a website tutorial here to get you started.

57. Workshop / Club Booking Timetable

Similar to the rota system, this project will ensure that two people are not booked at the same time on the same day. This will require a knowledge on relational databases, namely SQL which, at this point in your A Level, you should know a bit about. If not, there’s a quick project you can do to get yourself familiar with queries, primary keys, foreign keys etc.

58. Visualising the Spread of a Disease

You could web-scrape here and show on a map of the world and the associated deaths from a certain disease. In other words, you could for example show hot spots for the disease in reds or oranges and leave the others as white. Web scraping is a relatively easy thing to learn and can be extremely powerful, even outside of your A-Level. Here’s a quick tutorial to get you started. The complexity will come from how you present the data you’ve scraped.

59. Plane Seat Booking System

This will be like the workshop booking system in that you need databases to store the customer’s information. You would ensure that one seat is not offered to two people at once. You could even keep track of the details of loyal customers and offer them first class tickets or other deals.

60. Stock Management System

This would be a database which stores the amount of stock a business has. You could produce sales reports for the most popular items or see which items are low in stock. There are many combinations of ways you could output this information (e.g. a report, website, email). Just ensure it is more complex than placing the output in the terminal.

61. Traffic Light Controller

This project entails coding an AI to ensure that cars don’t collide. You could possibly set it up where, if there’s an ambulance, you give it all green lights. You might even want to use image recognition based on a satellite image of a city and gather the locations of the traffic lights on that image. That would really push your grade up as, instead of using a built in library, you can “teach” your AI what traffic lights look like. Find a video tutorial on machine learning in Python here .

62. Coupon Collector

If you’ve ever heard of “Honey”, you’ll know the gist of this project. You will have to scrape the internet for coupons for a certain website specified by the user. The code could automatically test these coupons and output the cheapest one. See number 17 for a website scraping tutorial.

63. Facial Recognition Software

This project seems complex but that’s a good thing if you want the highest grade. This has a variety of purposes as many of you are likely familiar with the face recognition on many phones. Read this article o n how the basics of how to do it in Python and find out more.

Make sure you aren’t just relying on built in libraries to handle the complex algorithms because all those marks will disappear. You have to write the code yourself and typing “import facialRecognition” doesn’t count, as sad as that is.

64. Chess Over Two Computers

Here you can include networking and client-server communication (both of which are references in the A-Level Computer Science specification). There is a possibility to include AI which detects automatically if there is a check or checkmate. This would require you to keep track of the ending positions of each piece and know what constitutes as a check for example. Most turn-based games rely on a sort of algorithm which you can find out more about here .

65. Sudoku Solver

This requires intense programming and AI but will totally be worth it by the end. You could give the user the opportunity to try and solve it themselves at first then, afterwards, give them the answer. You could also set a time limit, you could have a scoreboard, there’s lots of things you could do with it. Also, you may want to have the unsolved puzzle be randomly generated which adds a whole new layer of complexity. Computerphile has a great video on this exact subject in Python.

66. Social Media Specifically for Students in the Same College or University

A social media idea has already been suggested but you may want to make one specifically for your college. The students could input their timetables and the code could suggest other students with the same timetable. That way, they can meet during their mutual break time. You could also include group chats for specific subjects at your college.

67. Fantasy Football Team

Web scraping is going to be a major concept in this project unless you want to hard code in every footballer on every team. You could set up a network where fantasy teams can “play” against each other and winners get more points. The user can customise their own team and earn points. You can then display it in a website or another GUI like TKinter.

68. Planet Orbit Simulator

This one goes out to the physics and maths students again. Allow the user to change the size, direction and colour (why not?) of planets and calculate the trajectory of their new orbit. This would entail many mathematical calculations so, if you like this sort of thing, this is for you. It also gives you the chance to use and render 3D graphics in order to visualise the planets for the user.

Take a look at the game Kerbal Space Program for an advanced implementation of this idea!

69. Pathfinding Comparer

Here, you would test and visualise the efficiency of certain pathfinders in different situations. For example, the user could place certain obstacles between two points and then employ the Dijkstra and A star path finders. You can find what I mean in a tutorial here . There are many, many, many pathfinders you can compare so you can really pick whichever ones you would like. I won’t list them all here, but you can find a some of them through this link .

70. Finding Shortest Path on a College / University Campus

With this project, you would need to create a graph with each node corresponding to the buildings or departments on the map. This would make more sense if you choose a college or university that has a big campus that spans over a large geographical area. It may end up being very useful for those students who have 5 minutes to speed walk all the way across their campus. The heuristic or weight of each edge could be determined by many things (e.g. whether you have to cross a road, if you have to go through a certain building with stairs etc).

71. Solitaire

This popular card game might be simple to code but to add that layer of complexity, you can include the option for an AI to complete the game for the user. It needs to be able to recognise if the game is completable though.

72. Password Manager

Think “LastPass” or “DashLane”. You securely store and encrypt your user’s passwords and, if you wanted to, you could include a password suggestion element where the application offers a potential strong password to the user. This takes away the need for the user to memorise their passwords and think of a way to make it stronger. You can find an example here and extra info here .

73. Simple Board Game

You might want to come up with your own board game or copy another anywhere from Scrabble to Monopoly. This will take a lot of time and consideration into how you would like it to work. You may want to set up a tutorial or make it multiplayer against other humans (this might be your chance to include AI)

74. Cash register

A cash register would be great as you can base it off pre-existing cash registers in terms of the functionality. It offers a web version of a cash register that would be used by small businesses. This means you could contact small businesses in your area and cater to their needs. It may track sales, inventory and checkout credit cards. The options for what you want the cash register to do are completely up to you and your client’s needs.

This kind of goes under the retro games column however, there is the potential for AI to be implemented. You could program the AI to play the most efficient move and get the most points. The best way to go about this is to code the game by itself first the add the AI afterwards. You can even apply a competitive element by having a score system via relational database or multiplayer functionality.

76. Pacman Recreation

You can use AI to control the ghosts and, to really push yourself, you can add difficulty levels to these ghosts. Maybe the longer/more a user plays, the harder the ghosts get. You can increase their difficulty by making them faster or making them “smarter”. This would require path-finders to find the shortest path from the ghost to the player.

The Importance of Mark Schemes and Specifications

The mark schemes and specifications for A-Level Computer Science will be your best friends throughout your whole coursework experience. Though they can sometimes be vague, you should be working closely with them to ensure your project hits all the points you need so you can collect those marks. Good luck!

  • AQA Computer Science Mark Scheme
  • OCR Computer Science Mark Scheme

guest

nice project

sloppy

the exemplar is motion control and thats bares hard

O.L

bruh what do i put as stakeholders for the rubiks ai

Deborah Meaden

Your idea is brilliant and many puzzle solvers are going to really benefit from your programme, and for that reason, I’m out.

Derik malik

Hi i was just wondering how i could make the (“visualizing the spread of a disease”) program to show a large amount of skill as I worry that there wont be enough coding involved to showcase a lot of skill.

pew

101 Computing

More results...

  • View all quizzes
  • GCSE Concepts & Quizzes
  • A Level Concepts & Quizzes
  • Little Man Computer (LMC)
  • Computer Networks
  • Database Concepts
  • Cryptography
  • All Python Challenges
  • Python Challenges – Beginner
  • Python Challenges – Intermediate
  • Python Challenges – Advanced
  • HTML, CSS & JavaScript
  • BBC micro:bit
  • OCR J277/01 – 1.1 System Architecture
  • OCR J277/01 – 1.2 Memory and Storage
  • OCR J277/01 – 1.3 Computer networks
  • OCR J277/01 – 1.4 Network security
  • OCR J277/01 – 1.5 – Systems software
  • OCR J277/01 – 1.6 – Ethical, legal, cultural and environmental impacts of digital technology
  • OCR J277/02 – 2.1 – Algorithms
  • OCR J277/02 – 2.2 – Programming fundamentals
  • OCR J277/02 – 2.3 – Producing robust programs
  • OCR J277/02 – 2.4 – Boolean logic
  • OCR J277/02 – 2.5 – Programming languages and Integrated Development Environments
  • OCR H446/01 – 1.1 The characteristics of contemporary processors, input, output and storage devices
  • OCR H446/01 – 1.2 Software and software development
  • OCR H446/01 – 1.3 Exchanging data
  • OCR H446/01 – 1.4 Data types, data structures and algorithms
  • OCR H446/01 – 1.5 Legal, moral, cultural and ethical issues
  • OCR H446/02 – 2.1 Elements of computational thinking
  • OCR H446/01 – 2.2 Problem solving and programming
  • OCR H446/02 – 2.3 Algorithms
  • 101 Extra Python Challenges
  • 101 Python Challenges
  • 101 Computing Challenges
  • Become a member!
  • Your Account
  • Solved Challenges
  • Membership FAQ

OCR – H446 – Computer Science A-Level

  • Computer Science A-Level – H446

OCR Computer Science A Level (H446)

  • H446/01 – Computer Systems
  • 1.1 – The characteristics of contemporary processors, input, output and storage devices
  • 1.2 – Software and software development
  • 1.3 – Exchanging data
  • 1.4 – Data types, data structures and algorithms
  • 1.5 – Legal, moral, cultural and ethical issues
  • H446/02 – Algorithms and programming
  • 2.1 – Elements of computational thinking
  • 2.2 – Problem solving and programming
  • 2.3 – Algorithms to solve problems and standard algorithms
OCR H446/01 – 1.1 The characteristics of contemporary processors, input, output and storage devices
OCR H446/01 – 1.2 Software and software development
OCR H446/01 – 1.3 Exchanging data
OCR H446/01 – 1.4 Data types, data structures and algorithms
OCR H446/01 – 1.5 Legal, moral, cultural and ethical issues
OCR H446/02 – 2.1 Elements of computational thinking
OCR H446/01 – 2.2 Problem solving and programming
OCR H446/02 – 2.3 Algorithms

Extra Revision Resources…

Did you like this challenge?

Click on a star to rate it!

Average rating 3.8 / 5. Vote count: 23

No votes so far! Be the first to rate this post.

As you found this challenge interesting...

Follow us on social media!

Other challenges you may enjoy...

languages-programming

Recent Posts

  • Circular Maze Challenge
  • Pronic Numbers Challenge
  • Olympics Host Cities (CSV Challenge)
  • Paris 2024 – JSON Challenge
  • Online Python IDE
  • Space Explorer: The Way Back Home
  • The Lost Treasures of Pirate Island
  • Cryptic Puzzles – Computer Networks
  • Computer Science – Cryptic Crossword #02
  • Ice Cream Price Calculator
  • View more recent posts...
  • View all our challenges...
  • Take a Quiz...

LMC Simulator

Our Latest Book

a level computing coursework example

  • Computing Concepts
  • Python Challenges
  • Privacy Policy
  • International
  • Education Jobs
  • Schools directory
  • Resources Education Jobs Schools directory News Search

A-level Computer Science - Coursework exampler

A-level Computer Science - Coursework exampler

Subject: Computing

Age range: 16+

Resource type: Unit of work

A-levelEx

Last updated

11 October 2021

  • Share through email
  • Share through twitter
  • Share through linkedin
  • Share through facebook
  • Share through pinterest

a level computing coursework example

This document is an example of a coursework (Programming Project) done for A level Computer Science with OCR. It follows the 2015 specification.

It is 217 pages long and got 68/70 marks.

Tes paid licence How can I reuse this?

Get this resource as part of a bundle and save up to 67%

A bundle is a package of resources grouped together to teach a particular topic, or a series of lessons, in one place.

A-level Computer Science (Coursework exemplar and notes)

A bundle which contains the notes and examplar for OCR A-level Computer Science. Save more than 50% by purchasing this bundle.

Your rating is required to reflect your happiness.

It's good to leave some feedback.

Something went wrong, please try again later.

This resource hasn't been reviewed yet

To ensure quality for our reviews, only customers who have purchased this resource can review it

Report this resource to let us know if it violates our terms and conditions. Our customer service team will review your report and will be in touch.

Not quite what you were looking for? Search by keyword to find the right resource:

This website works best with JavaScript switched on. Please enable JavaScript

  • Centre Services
  • Associate Extranet
  • All About Maths

AS and A-level Computer Science

  • Specification
  • Planning resources
  • Teaching resources
  • Assessment resources
  • Introduction
  • Specification at a glance
  • 3.1 Fundamentals of programming
  • 3.2 Fundamentals of data structures
  • 3.3 Systematic approach to problem solving
  • 3.4 Theory of computation
  • 3.5 Fundamentals of data representation
  • 3.6 Fundamentals of computer systems
  • 3.7 Fundamentals of computer organisation and architecture
  • 3.8 Consequences of uses of computing
  • 3.9 Fundamentals of communication and networking
  • 4.1 Fundamentals of programming
  • 4.2 Fundamentals of data structures
  • 4.3 Fundamentals of algorithms
  • 4.4 Theory of computation
  • 4.5 Fundamentals of data representation
  • 4.6 Fundamentals of computer systems
  • 4.7 Fundamentals of computer organisation and architecture
  • 4.8 Consequences of uses of computing
  • 4.9 Fundamentals of communication and networking
  • 4.10 Fundamentals of databases
  • 4.11 Big Data
  • 4.12 Fundamentals of functional programming
  • 4.13 Systematic approach to problem solving

4.14 Non-exam assessment - the computing practical project

  • Scheme of assessment
  • Non-exam assessment administration
  • General administration

 Non-exam assessment - the computing practical project

Purpose of the project

The project allows students to develop their practical skills in the context of solving a realistic problem or carrying out an investigation. The project is intended to be as much a learning experience as a method of assessment; students have the opportunity to work independently on a problem of interest over an extended period, during which they can extend their programming skills and deepen their understanding of computer science.

The most important skill that should be assessed through the project is a student's ability to create a programmed solution to a problem or investigation. This is recognised by allocating 42 of the 75 available marks to the technical solution and a lower proportion of marks for supporting documentation to reflect the expectation that reporting of the problem, its analysis, the design of a solution or plan of an investigation and testing and evaluation will be concise.

Types of problem/investigation

Students are encouraged to choose a problem to solve or investigate that will interest them and that relates to a field that they have some knowledge of. There are no restrictions on the types of problem/investigation that can be submitted or the development tools (for example programming language) that can be used. The two key questions to ask when selecting a problem/investigation are:

  • Does the student have existing knowledge of the field, or are they in a position to find out about it?
  • Is a solution to the problem/investigation likely to give the student the opportunity to demonstrate the necessary degree of technical skill to achieve a mark that reflects their potential?

Some examples of the types of problem to solve or investigate are:

  • a simulation for example, of a business or scientific nature, or an investigation of a well-known problem such as the game of life
  • a solution to a data processing problem for an organisation, such as membership systems
  • the solution of an optimisation problem, such as production of a rota, shortest-path problems or  route finding
  • a computer game
  • an application of artificial intelligence
  • a control system, operated using a device such as an Arduino board
  • a website with dynamic content, driven by a database back-end
  • an app for a mobile phone or tablet
  • an investigation into an area of computing, such as rendering a three-dimensional world on screen
  • investigating an area of data science using, for example, Twitter feed data or online public data sets
  • investigating machine learning algorithms.

There is an expectation that within a centre, the problems chosen by students to solve or investigate will be sufficiently different to avoid the work of one student informing the work of another because they are working on the same problem or investigation. Teachers will be required to record on the Candidate Record Form for each student that they have followed this guideline. If in any doubt on whether problems chosen by students have the potential to raise this issue, please contact your AQA adviser.

Table 1 and Table 2 show the technical skills and coding styles required for an A-level standard project. If a problem/investigation is selected that is not of A-level standard then the marks available in each section will be restricted.

Project documentation structure

The project is assessed in five sections. The table below lists the maximum available mark for each section of the project:

Section Max mark
1 Analysis 9
2 Documented design 12
3 Technical solution 42
4 Testing 8
5 Evaluation 4

For marking purposes, the project documentation should be presented in the order indicated in the table above. The table does not imply that students are expected to follow a traditional systems life cycle approach when working on their projects, whereby a preceding stage must be completed before the next can be tackled. It is recognised that this approach is unsuited to the vast majority of project work, and that project development is likely to be an iterative process, with earlier parts of the project being revisited as a result of discoveries made in later parts. Students should be encouraged to start prototyping and writing code early on in the project process. A recommended strategy is to tackle the critical path early in the project development process. The critical path is the part of the project that everything else depends on for a working system or a complete investigation result to be achieved.

Using a level of response mark scheme

Level of response mark schemes are broken down into a number of levels, each of which has a descriptor. The descriptor for the level shows the average performance for the level. There are a range of marks in each level. The descriptor for the level represents a typical mid-mark performance in that level.

Before applying the mark scheme to a student’s project, read it through and annotate it to show the qualities that are being looked for. You can then apply the mark scheme.

Step 1 Determine a level

Start at the lowest level of the mark scheme and use it as a ladder to see whether the performance in that section of the project meets the descriptor for that level. The descriptor for the level indicates the different qualities that might be seen in the student’s work for that level. If it meets the lowest level then go to the next one and decide if it meets this level, and so on, until you have a match between the level descriptor and the work. With practice and familiarity you will find you will be able to quickly skip through the lower levels of the mark scheme.

When assigning a level you should look at the overall quality of the work rather than any small or specific parts where the student has not performed quite as the level descriptor. If the work covers different aspects of different levels of the mark scheme you should use a best fit approach for defining the level and then use the variability of the response to help decide the mark within the level. ie if the response is predominantly level 3 with a small amount of level 4 material it would be placed in level 3 but be awarded a mark near the top of the level because of the level 4 content.

Step 2 Determine a mark

Once you have assigned a level you need to decide on the mark. The exemplar materials used for standardisation will help. This work will have been awarded a mark by AQA. You can compare your student’s work with the exemplar to determine if it is the same standard, better or worse. You can then use this to allocate a mark for the work based on AQA's mark on the exemplar.

You may well need to read back through the work as you apply the mark scheme to clarify points and assure yourself that the level and the mark are appropriate.

Work which contains nothing of relevance to the project area being assessed must be awarded no marks for that area.

Marking criteria

Analysis (9 marks).

Level Mark range Description
3 7-9

Fully or nearly fully scoped analysis of a real problem, presented in a way that a third party can understand.

Requirements fully documented in a set of measurable and appropriate specific objectives, covering all required functionality of the solution or areas of investigation.

Requirements arrived at by considering, through dialogue, the needs of the intended users of the system, or recipients of the outcomes for investigative projects.

Problem sufficiently well modelled to be of use in subsequent stages.

2 4-6

Well scoped analysis (but with some omissions that are not serious enough to undermine later design) of a real problem.

Most, but not all, requirements documented in a set of, in the main, measurable and appropriate specific objectives that cover most of the required functionality of a solution or areas of investigation.

Requirements arrived at, in the main, by considering, through dialogue, the needs of the intended users of the system, or recipients of the outcomes for investigative projects.

Problem sufficiently well modelled to be of use in subsequent stages.

1 1-3

Partly scoped analysis of a problem.

Requirements partly documented in a set of specific objectives, not all of which are measurable or appropriate for developing a solution. The required functionality or areas of investigation are only partly addressed.

Some attempt to consider, through dialogue, the needs of the intended users of the system, or recipients of the outcomes for investigative projects.

Problem partly modelled and of some use in subsequent stages.

Documented design (12 marks)

Level Mark range Description
4 10-12 Fully or nearly fully articulated design for a real problem, that describes how all or almost all of the key aspects of the solution/investigation are to be structured/are structured.
3 7-9 Adequately articulated design for a real problem that describes how most of the key aspects of the solution/investigation are to be structured/are structured.
2 4-6 Partially articulated design for a real problem that describes how some aspects of the solution/investigation are to be structured/are structured.
1 1-3 Inadequate articulation of the design of the solution so that it is difficult to obtain a picture of how the solution/investigation is to be structured/is structured without resorting to looking directly at the programmed solution.

Technical solution (42 marks)

Completeness of solution (15 marks).

Level Mark range Description
3 11-15 A system that meets almost all of the requirements of a solution/an investigation (ignoring any requirements that go beyond the demands of A-level).
2 6-10 A system that achieves many of the requirements but not all. The marks at the top end of the band are for systems that include some of the most important requirements.
1 1-5 A system that tackles some aspects of the problem or investigation.

Techniques used (27 marks)

Level Mark Range Description Additional information
3 19-27

The techniques used are appropriate and demonstrate a level of technical skill equivalent to those listed in Group A in Table 1.

Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.

Above average performance: Group A equivalent algorithms and model programmed more than well to excellent; all or almost all excellent coding style characteristics; more than to highly effective solution.

Average performance: Group A equivalent algorithms and/or model programmed well; majority of excellent coding style characteristics; an effective solution.

Below average performance: Group A equivalent algorithms and/or model programmed just adequately to fully adequate; some excellent coding style characteristics; less than effective to fairly effective solution.

2 10-18

The techniques used are appropriate and demonstrate a level of technical skill equivalent to those listed in Group B in Table 1.

Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.

Above average performance: Group B equivalent algorithms and model programmed more than well to excellent; majority of excellent coding style characteristics; more than to highly effective solution.

Average performance: Group B equivalent algorithms and/or model programmed well; some excellent coding style characteristics; effective solution.

Below average performance: Group B equivalent algorithms and/or model programmed just adequately to fully adequate; all or almost all relevant good coding style characteristics but possibly one example at most of excellent characteristics; less than effective to fairly effective solution.

1 1-9

The techniques used demonstrate a level of technical skill equivalent to those listed in Group C in Table 1.

Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.

Above average performance: Group C equivalent model and algorithms programmed more than well to excellent; almost all relevant good coding style characteristics; more than to highly effective simple solution.

Average performance: Group C equivalent model and algorithms programmed well; some relevant good coding style characteristics; effective simple solution.

Below average performance: Group C equivalent algorithms and/or model programmed in a severely limited to limited way; basic coding style characteristics; trivial to lacking in effectiveness simple solution.

Select the band, 1, 2 or 3 with level of demand description that best matches the techniques and skill that the student’s program attempts to cover. The emphasis is on what the student has actually achieved that demonstrates proficiency at this level rather than what the student has set out to use and do but failed to demonstrate, eg because of poor execution. Check the proficiency demonstrated in the program. If the student fails to demonstrate proficiency at the initial level of choice, drop down a level to see if what the student has done demonstrates proficiency at this level for the lower demand until a match is obtained. Table 1 is indicative of the standard required and is not to be treated as just a list of things for students to select from and to be automatically credited for including in their work.

As indicated above, having selected the appropriate level for techniques used and proficiency in their use, the exact mark to award should be determined based upon:

  • the extent to which the criteria for the mark band have been achieved
  • the quality of the coding style that the student has demonstrated (see Table 2 for exemplification of what is expected)
  • the effectiveness of the solution.

Example technical skills

Table 1: example technical skills.

Group Model (including data model/structure) Algorithms
A

Complex data model in database (eg several interlinked tables)





Hash tables, lists, stacks, queues, graphs, trees or structures of equivalent standard

Files(s) organised for direct access







Complex scientific/mathematical/robotics/control/business model











Complex user-defined use of object-orientated programming (OOP) model, eg classes, inheritance, composition, polymorphism, interfaces

Complex client-server model

Cross-table parameterised SQL

Aggregate SQL functions

User/CASE-generated DDL script

Graph/Tree Traversal

List operations

Linked list maintenance

Stack/Queue Operations

Hashing

Advanced matrix operations

Recursive algorithms

Complex user-defined algorithms (eg optimisation, minimisation, scheduling, pattern matching) or equivalent difficulty

Mergesort or similarly efficient sort

Dynamic generation of objects based on complex user-defined use of OOP model

Server-side scripting using request and response objects and server-side extensions for a complex client-server model

Calling parameterised Web service APIs and parsing JSON/XML to service a complex client-server model

B

Simple data model in database (eg two or three interlinked tables)

Multi-dimensional arrays

Dictionaries

Records

Text files

File(s) organised for sequential access

Simple scientific/mathematical /robotics/control/business model





Simple OOP model

Simple client-server model

Single table or non-parameterised SQL

Bubble sort

Binary search





Writing and reading from files





Simple user defined algorithms (eg a range of mathematical/statistical calculations)

Generation of objects based on simple OOP model

Server-side scripting using request and response objects and server-side extensions for a simple client-server model

Calling Web service APIs and parsing JSON/XML to service a simple client-server model

C

Single-dimensional arrays

Appropriate choice of simple data types

Single table database

Linear search

Simple mathematical calculations (eg average)

Non-SQL table access

Note that the contents of Table 1 are examples, selected to illustrate the level of demand of the technical skills that would be expected to be demonstrated in each group. The use of alternative algorithms and data models is encouraged. If a project cannot easily be marked against Table 1 (for example, a project with a considerable hardware component) then please consult your AQA non-exam assessment Adviser or provide a full explanation of how you have arrived at the mark for this section when submitting work for moderation.

Table 2: Coding styles

Style Characteristic
Excellent

Modules (subroutines) with appropriate interfaces.

Loosely coupled modules (subroutines) – module code interacts with other parts of the program through its interface only.

Cohesive modules (subroutines) – module code does just one thing.

Modules(collections of subroutines) – subroutines with common purpose grouped.

Defensive programming.

Good exception handling.

Good

Well-designed user interface

Modularisation of code

Good use of local variables

Minimal use of global variables

Managed casting of types

Use of constants

Appropriate indentation

Self-documenting code

Consistent style throughout

File paths parameterised

Basic

Meaningful identifier names

Annotation used effectively where required

The descriptions in Table 2 are cumulative, ie for a program to be classified as excellent it would be expected to exhibit the characteristics listed as excellent, good and basic not just those listed as excellent.

Testing (8 marks)

Level Mark range Description
4 7-8 Clear evidence, in the form of carefully selected representative samples, that thorough testing has been carried out. This demonstrates the robustness of the complete or nearly complete solution/thoroughness of investigation and that the requirements of the solution/investigation have been achieved.
3 5-6 Extensive testing has been carried out, but the evidence presented in the form of representative samples does not make clear that all of the core requirements of the solution/investigation have been achieved. This may be due to some key aspects not being tested or because the evidence is not always presented clearly.
2 3-4

Evidence in the form of representative samples of moderately extensive testing, but falling short of demonstrating that the requirements of the solution/investigation have been achieved and the solution is robust/investigation thorough.

The evidence presented is explained.

1 1-2

A small number of tests have been carried out, which demonstrate that some parts of the solution work/some outcomes of the investigation are achieved.

The evidence presented may not be entirely clear.

Evidence for the testing section may be produced after the system has been fully coded or during the coding process. It is expected that tests will either be planned in a test plan or that the tests will be fully explained alongside the evidence for them. Only carefully selected representative samples are required.

Evaluation (4 marks)

Level Mark Description
4 4

Full consideration given to how well the outcome meets all of its requirements.

How the outcome could be improved if the problem was revisited is discussed and given detailed consideration.

Independent feedback obtained of a useful and realistic nature, evaluated and discussed in a meaningful way.

3 3

Full or nearly full consideration given to how well the outcome meets all of its requirements.

How the outcome could be improved if the problem was revisited is discussed but consideration given is limited.

Independent feedback obtained of a useful and realistic nature but is not evaluated and discussed in a meaningful way, if at all.

2 2

The outcome is discussed but not all aspects are fully addressed either by omission or because some of the requirements have not been met and those requirements not met have been ignored in the evaluation.

No independent feedback obtained or if obtained is not sufficiently useful or realistic to be evaluated in a meaningfully way even if attempted.

1 1

Some of the outcomes are assessed but only in a superficial way.

No independent feedback obtained or if obtained is so basic as to be not worthy of evaluation.

Project tasks that are not of A-level standard

If the task (problem or investigation) selected for a project is not of A-level standard, mark the project against the criteria given, but adjust, the mark awarded downwards by two marking levels (two marks in the case of evaluation) in each section for all but the technical solution. You should have already taken the standard into account for this, by directly applying the criteria. For example, if a student had produced a 'fully or nearly fully articulated design of a real problem describing how solution is to be structured/is structured'. This would, for an A-level standard project, achieve a mark in Level Four for Documented Design (10-12 marks). If the problem selected was too simple to be of A-level standard but the same criteria had been fulfilled, shift the mark awarded down by two levels, into Level Two, an award of 4-6 marks. If a downward shift by two levels is not possible, then a mark in the lowest level should be awarded.

Guide to non-exam assessment documentation

Students are expected to:

  • produce a clear statement that describes the problem area and specific problem that is being solved/investigated
  • outline how they researched the problem
  • state for whom the problem is being solved/investigated
  • provide background in sufficient detail for a third party to understand the problem being solved/investigated
  • produce a numbered list of measurable, "appropriate" specific objectives, covering all required functionality of the solution or areas of investigation (Appropriate means that the specific objectives are single purpose and at a level of detail that is without ambiguity.)
  • report any modelling of the problem that will inform the Design stage, for example a graph/network model of Facebook connections or an E-R model.

A fully scoped analysis is one that has:

  • researched the problem thoroughly
  • has clearly defined the problem being solved/investigated
  • omitted nothing that is relevant to subsequent stages
  • statements of objectives which clearly and unambiguously identify the scope of the project
  • modelled the problem for the Design stage where this is possible and necessary.

Students are expected to articulate their design in a manner appropriate to the task and with sufficient clarity for a third party to understand how the key aspects of the solution/investigation are structured and on what the design will rely, eg use of numerical and scientific package libraries, data visualisation package library, particular relational database and/or web design framework. The emphasis is on communicating the design; therefore it is acceptable to provide a description of the design in a combination of diagrams and prose as appropriate, as well as a description of algorithms, SQL, data structures, database relations as appropriate, and using relevant technical description languages, such as pseudo-code. Where design of a user interface is relevant, screen shots of actual screens are acceptable.

Technical solution

Students should provide program listing(s) that demostrate their technical skill. The program listing(s) should be appropriately annotated and self-documenting (an approach that uses meaningful identifiers, with well structured code that minimises instances where program comments are necessary).

Students should present their work in a way that will enable a third party to discern the quality and purpose of the coding. This could take the form of:

  • an overview guide which amongst other things includes the names of entities such as executables, data filenames/urls, database names, pathnames so that a third party can, if they so desire, run the solution/investigation
  • explanations of particularly difficult-to-understand code sections; a careful division of the presentation of the code listing into appropriately labelled sections to make navigation as easy as possible for a third party reading the code listing.

Students must provide and present in a structured way for example in tabular form, clear evidence of testing. This should take the form of carefully selected and representative samples, which demonstrate the robustness of the complete, or nearly complete, solution/thoroughness of investigation and which demonstrate that the requirements of the solution/investigation have been achieved. The emphasis should be on producing a representative sample in a balanced way and not on recording every possible test and test outcome. Students should explain the tests carried out alongside the evidence for them. This could take the form of:

  • an introduction and overview
  • the test performed
  • its purpose if not self-evident
  • the test data
  • the expected test outcome
  • the actual outcome with a sample of the evidence, for example screen shots of before and after the test, etc, sampled in order to limit volume.

Students should consider and assess how well the outcome meets its requirements. Students should obtain independent feedback on how well the outcome meets its requirements and discuss this feedback. Some of this feedback could be generated during prototyping. If so, this feedback, and how/why it was taken account must be presented and referenced so it can be found easily.

Students should also consider and discuss how the outcome could be improved more realistically if the problem/investigation were to be revisited.

Assessment objective breakdown for non-exam assessment

Section Total AO2 AO3 Elements
Analysis 9 9   AO2b
Design 12   12 AO3a
Technical Solution 42   42 AO3b
Testing 8   8 AO3c
Evaluation 4   4 AO3c
Totals 75 9 66  

OCR homepage

Administration

  • Active Results
  • Interchange
  • Submit for Assessment
  • Teach Cambridge
  • ExamBuilder
  • Online Support Centre

Main navigation

As and a level computer science - h046, h446.

  • Specification at a glance
  • Planning and teaching
  • Textbooks & endorsed resources
  • More computing >
  • Sign up for updates >
  • Professional development >
  • 01223 553998
  • ComputerScience@ ocr.org.uk

If you are delivering this qualification, go to Teach Cambridge for complete planning, teaching and assessment support materials.

class=

Our A Level Computer Science qualification helps students understand the core academic principles of computer science. Classroom learning is transferred into creating real-world systems through the creation of an independent programming project. Our A Level will develop the student’s technical understanding and their ability to analyse and solve problems using computational thinking.

Specification code: H446 Qualification number: 601/4911/5 This qualification is available in English only

class=

Our AS Level Computer Science qualification enables students to develop their understanding of and ability to apply fundamental principles of computer science and develops their ability to apply them in real-life contexts. Students will also develop skills, and their ability to in analyse analysing problems and in finding creative solutions by using computational thinking.

Specification code: H046 Qualification number: 601/5030/0 This qualification is available in English only

Make the move to OCR

Information, getting started, case studies and support

Example planning guides, teaching activities and more.

Practice papers, example answers, past papers and mark schemes.

Contact

Ready to choose this qualification?

Get the Reddit app

Verified

Verified Discord Partner

A place for sixth formers to speak to others about work, A-levels, results, problems in education and general sixth form life, as well as university applications and UCAS.

AQA A Level Computer Science Coursework Guide

I've written up a guide on how to tackle the coursework part of the AQA Comp Sci course. It's a real pain since the examiners don't give you much to go on. I was quite lucky to have the right mix of random-ass diagrams and paragraphs to get 67/75 last year so I've written about what I did. I've written it in a google doc since most schools probably block reddit. https://docs.google.com/document/d/1J3559gahN2d9Eh4eJMbPT-6jB7lHTCJa-twuzZWgQS4/

[EDIT] Just spell checked it and rewrote the parts that didn't make sense.

Feel free to ask any questions in this thread, unless that question is 'Can you send me your coursework?'

By continuing, you agree to our User Agreement and acknowledge that you understand the Privacy Policy .

Enter the 6-digit code from your authenticator app

You’ve set up two-factor authentication for this account.

Enter a 6-digit backup code

Create your username and password.

Reddit is anonymous, so your username is what you’ll go by here. Choose wisely—because once you get a name, you can’t change it.

Reset your password

Enter your email address or username and we’ll send you a link to reset your password

Check your inbox

An email with a link to reset your password was sent to the email address associated with your account

Choose a Reddit account to continue

Isaac Computer Science

You need to enable JavaScript to access Isaac Computer Science.

Programmes & Qualifications

Cambridge international as & a level computer science (9618).

  • Syllabus overview

Cambridge International AS & A Level Computer Science encourages learners to meet the needs of higher education courses in computer science as well as twenty-first century digital employers. It encourages leaders to think creatively, through applying practical programming solutions, demonstrating that they are effective uses of technology.

Learners develop computational thinking & programming skills to solve computer science problems. Cambridge International AS and A Level Computer Science will help learners develop a range of skills such as thinking creatively, analytically, logically and critically. They will also be able to appreciate the ethical issues that arise with current and emerging computing technologies.

The syllabus year refers to the year in which the examination will be taken.

  • -->2021 - 2023 Syllabus update (PDF, 166KB)
  • -->2021 Syllabus Legacy Notice (PDF, 103KB)
  • -->2024 - 2025 Syllabus update (PDF, 144KB)
  • -->2026 Pseudocode Guide for Teachers (PDF, 726KB)

Syllabus support

  • -->2023 - 2025 Grade Description A Level (PDF, 187KB)
  • -->2023 - 2025 Grade Description AS Level (PDF, 169KB)
  • -->Support for Computer Science (PDF, 1MB)

Syllabus updates

We revise qualifications regularly to make sure that they continue to meet the needs of learners, schools and higher education institutions around the world. The 2021-2023 syllabus reflects current thinking in industry and higher education, including the introduction of Robotics and Artificial intelligence (A.I).

How has the syllabus changed?

  • The 2021-2023 syllabus provides opportunities for students to demonstrate practical programming skills.
  • We have introduced a third Assessement Objective where students will be asked to design, program and evaluate computer systems that solve problems, and make reasoned judgements about them.
  • Computational thinking
  • Programming paradigms
  • Communication
  • Computer architecture and hardware
  • Data representation and structures
  • We have added a list of command words and their meanings to help learners know what’s expected of them in the exam.

How has the assessment changed?

  • For the AS Level qualification, each component is 50% of the total marks.
  • For the A Level qualification, each component is 25% of the total marks.
  • To allow for practical application time, we have increased the duration of Paper 4.
  • We have introduced changes to programming languages, adding Visual Basic (console mode), Python and Java.
  • We have removed Pascal/Delphi (console mode).

When do these changes take place?

The updated syllabus is for examination in June and November 2021, 2022 and 2023. Please see the 2021-2023 syllabus above for full details.

Coming soon

We are developing a wide range of support to help you plan and teach the 2021-2023 syllabus.

Look out for resources including a Scheme of work, Example candidate responses, Teacher and Learner guides, all of which will be available from April 2019 onwards through School Support Hub .

Endorsed resources

A Level Literature in English (Collins)

Develop computational thinking and ensure full coverage of the revised Cambridge International AS & A Level Computer Science syllabus with this comprehensive Student’s Book written by experienced authors and examiners.

ASAL Computer Science

Detailed descriptions of concepts, reinforced with examples that outline complex subject matter in a clear way. Alongside fundamental definitions, higher-level programming skills are developed through the explanation of processes and consolidated by practical exam-style questions.

Read more on the Cambridge University Press website

Important notices

For some subjects, we publish grade descriptions to help understand the level of performance candidates’ grades represent.

We paused the publication of grade descriptions in response to the Covid-19 pandemic and the temporary changes to the awarding standard in 2020, 2021 and 2022.

As the awarding standard has now returned to the pre-pandemic standard, we are working to produce up-to-date grade descriptions for most of our general qualifications. These will be based on the awarding standards in place from June 2023 onwards.

Check the Submit for Assessment page and the samples database for information and guidance on submitting moderated and examined work using Submit for Assessment.

School Support Hub

Teachers at registered Cambridge schools can unlock over 30 000 teaching and learning resources to help plan and deliver Cambridge programmes and qualifications, including Schemes of work, Example candidate responses, Past papers, Specimen paper answers, as well as digital and multimedia resources.

Schemes of work

Example responses, past papers, specimen paper answers.

Register your interest in becoming a Cambridge School

Email icon

Stay up to date

Sign up for updates about changes to the syllabuses you teach

  • Past papers, examiner reports and specimen papers
  • Published resources

Problem Decomposition ( OCR A Level Computer Science )

Revision note.

James Woodhouse

Computer Science

Problem Decomposition

What is decomposition.

Decomposition is breaking down a big problem into smaller problems so that they can be solved independently

Programmers use decomposition to:

Break problems down

Identify the steps, parts or processes involved in a problem

Identify reusable components

Split tasks between programmers

In the case of slow appointment booking, you could decompose the problem into issues such as server limitations during peak hours, inefficient backend algorithms, and user interface delays

big-problem-1

Process of decomposition to break problems down

Using abstraction to design a solution

Before we start to break problems down, it is often useful to apply the rules of abstraction to the problem

Applying abstraction will remove non-essential elements and that programmers can focus on critical aspects for problem-solving

When addressing the slow booking system, a programmer could ignore elements like the system's colour scheme or graphics and focus on critical performance metrics such as server response time and database query efficiency

Decomposing slow response times problem

Big problem : Slow response times during the online appointment booking process

Decompose into sub-problems:

Server limitations causing bottlenecks during peak hours

Inefficient algorithms leading to delayed confirmation screens

Poor user interface contributing to an overall bad user experience

Prioritise sub-problems:

Address server limitations, as solving this could have a broad impact on system performance

Look into optimising algorithms to speed up the booking and confirmation process

Lastly, make user interface improvements to enhance user experience, possibly mitigating some of the frustration caused by slow response times

Worked Example

A popular online retail platform has recently faced significant problems with its recommendation system. Customers complain that the recommendations are not relevant, and this is affecting sales figures.

Analyse the problems facing the recommendation system of the online retail platform. Decompose the problem into smaller components and discuss possible software solutions. What are the limitations of relying solely on software to improve the recommendation system?

How to answer this question:

Introduction : Introduce the scenario and pinpoint the main problem: the ineffective recommendation system affecting sales

Decomposition : Break down the issue into sub-problems such as data quality, algorithmic inefficiency, and lack of user input

Software Solutions : Propose software-related solutions like machine learning algorithms, improved data collection, and user interface changes for better user feedback

Limitations : Discuss why software solutions alone might not be sufficient to solve the problem completely

The online retail platform faces a significant issue with its recommendation system, impacting customer satisfaction and sales. The problem can be decomposed into several smaller components: poor data quality, inefficient recommendation algorithms, and a lack of an interface for users to give feedback on recommendations. Software solutions can play a vital role in addressing these issues.

Machine learning algorithms can be developed to make more precise recommendations. Data quality can be improved by incorporating a more diverse set of user activities and perhaps by using third-party data.

User interface improvements could allow customers to provide immediate feedback on recommendations, which could further refine the algorithm. However, even the most advanced software solutions have limitations. For instance, without human input, they can't capture real-world influences on customer behaviour or adapt to rapid market changes.

Acceptable answer you could have given instead:

The online retailer is struggling with an ineffective recommendation system that needs improvement. This problem can be broken down into issues like inadequate data quality, outdated algorithms, and missing user feedback mechanisms. Software solutions are essential for solving these problems.

Upgrading the algorithms and improving data quality can make the recommendations more relevant. Moreover, incorporating a user feedback feature can also help refine the system. However, software alone might not be a complete solution as it can't account for every variable affecting customer behaviour or rapid changes in consumer trends.

You've read 0 of your 10 free revision notes

Unlock more, it's free, join the 100,000 + students that ❤️ save my exams.

the (exam) results speak for themselves:

Did this page help you?

Author: James Woodhouse

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.

AQA COMP4 Coursework examples?

Scroll to see replies

Quick Reply

Related discussions.

  • Help (ALEVEL history NEA)
  • Can I still do well if I got badly in my history a level coursework?
  • AQA A-level English Lit Coursework
  • can I retake a subject with a different exam board?
  • Computer science nea
  • English Helpful Threads Index
  • GCSE Statistics
  • a level economics
  • GCSE Photography or RE both AQA
  • AQA A-Level Geography Coursework
  • A-LEVEL history coursework
  • Ai usage in a level
  • NEA 1 Food Preparation & Nutrition Help
  • EPQ Exemplars
  • A level AQA history advice
  • Edexcel english literature a level coursework panic
  • Which gcse is easiest???
  • Help on PQA (Point, Quote, Analysis)
  • A-level History Study Group 2023-2024
  • health and social coursework

Last reply 3 days ago

Last reply 2 weeks ago

Last reply 3 weeks ago

Last reply 1 month ago

Last reply 2 months ago

Last reply 3 months ago

Articles for you

How to revise for GCSE Psychology exams: AQA explains what to do

How to revise for GCSE Psychology exams: AQA explains what to do

How to revise for A-level Environmental Science exams: AQA explains what to do

How to revise for A-level Environmental Science exams: AQA explains what to do

How to revise for GCSE Sociology exams: AQA explains what to do

How to revise for GCSE Sociology exams: AQA explains what to do

GCSE Science exams and revision: AQA explains what you need to do

GCSE Science exams and revision: AQA explains what you need to do

Try out the app

Continue on web

9705 D&T coursework examples

Topic outline.

A range of coursework submissions (for both components) for this Syllabus have been included here along with a breakdown of the marks awarded, and a moderator commentary explaining how the marks were decided. You should always refer to the syllabus for specific details about the requirements for and assessment of coursework. Additionally, the Cambridge Handbook sets out the process and requirements for submitting coursework for moderation by Cambridge International.

  • Select activity Component 2 Component 2
  • Select activity Component 4 Component 4
  • WJEC Home chevron_right
  • Qualifications

AS/A Level Computer Science

Purpose Reference
Qual Code 1500QS A Level
2500QS AS Level
QWADN C00/0722/5 A Level
C00/0723/2 AS Level
QN 601/5345/3
601/5391/X
  • Key Documents
  • Past Papers / Mark Schemes

Our AS/A level Computer Science specification provides learners with an in-depth understanding of the fundamental concepts of computer science and a broad range of flexible and interesting study opportunities.

This specification enables centres to concentrate on innovative delivery of the course by having a streamlined, uncomplicated, future-proof structure, with realistic technological requirements.

Build your own exam paper choosing from thousands of past paper questions.

OER is a free interactive teaching and learning tool which includes exam answers and examiner comments.

Important information, past papers, marking schemes, entry/amendment uploads & make post-results enquiries.

We offer an extensive range of free digital educational resources.

Grade boundaries are the minimum number of marks needed to achieve each grade.

  • Digital Resources
  • Online Exam Review
 

Discover FREE Digital Resources!

Unlock your learners’ potential with an impressive range of FREE digital resources, teaching tools and materials.

View Resources

WJEC/CBAC NON-ENDORSED TITLES

9781108412728 Mark Thomas, Alistair Surrall, Adam Hamflett
9781108412797 Mark Thomas, Alistair Surrall, Adam Hamflett
9781108412766 Mark Thomas, Alistair Surrall, Adam Hamflett

Access Important updates, circulars, past papers, marking schemes, NEA material, exemplar, teaching and learning resources, entry/amendment file uploads and the ability to make online post-results enquiries.

Visit OER Website

  • Upcoming Courses
  • On Demand Courses
  • Materials from previous events

photo of Gareth Gillard

Please complete the following form.

<p>Thanks, please download your document now</p>

This is a hidden field that will be populated via javascript in preparation for submission to Campaign Monitor letting you know the name of the document the user downloaded

IMAGES

  1. A-level Computer Science

    a level computing coursework example

  2. Computing Coursework Help

    a level computing coursework example

  3. Tackling A Level Projects in Computer Science for OCR H446

    a level computing coursework example

  4. Tackling A Level Projects in Computer Science for AQA 7517 Step-by-step

    a level computing coursework example

  5. How to Write a Coursework: Best Tips and Topics

    a level computing coursework example

  6. A2 Computing Coursework Example

    a level computing coursework example

VIDEO

  1. A-grade example of film/media studies coursework

  2. ALU & CU ( CPU)

  3. AS level Computer Science 9618 Paper 1- COMMUNICATION Lecture 4

  4. UAL Level 3 Diploma Photography Unit 8 (FMP) SKETCHBOOK EXAMPLE MERIT LEVEL

  5. 04 Operating Systems

  6. Add events and course schedule to Apple / Google calendar

COMMENTS

  1. PDF Exemplar Candidate Work

    GCE Computing 3 of 125. Introduction. This exemplar material serves as a general guide. It provides the following benefits to a teacher: Gives teachers an appreciation of the variety of work that can be produced for this unit. Shows how the mark scheme has been applied by a senior assessor. Provides examples of both good and weak application of ...

  2. Computer Science A-level Project Writeup guide for OCR A-level

    5. User feedback: Your user should tell you what they like and dislike about this aspect of the development so far, with ideas for future development. Your user must be an integral part of the ...

  3. 75+ A-Level Computer Science NEA Ideas (and why they're good)

    27. Physics Projectile Modelling Tool. If you are a fan of mechanics, this is your project. One of the many reasons this project is so good is because when programming it, you are forced to simulate a real world environment - in the sense that you program in gravity, terrain, air resistance etc.

  4. OCR

    H446 Course Overview. The OCR Computer Science A Level (H446 Specification) consists of 3 units of work as follows: H446/01 - Computer Systems. 1.1 - The characteristics of contemporary processors, input, output and storage devices 1.2 - Software and software development

  5. How Do I Complete the OCR A Level Computer Science NEA?

    A video going through the key areas of the programming project that students studying OCR A level Computer Science will have to complete for 20% of the cours...

  6. A-level Computer Science

    A-level Computer Science - Coursework exampler. Subject: Computing. Age range: 16+. Resource type: Unit of work. File previews. pdf, 3.14 MB. This document is an example of a coursework (Programming Project) done for A level Computer Science with OCR. It follows the 2015 specification. It is 217 pages long and got 68/70 marks.

  7. Ocr Computing A Level Coursework Example

    Ocr Computing a Level Coursework Example - Free download as PDF File (.pdf), Text File (.txt) or read online for free. The document summarizes some of the key challenges students face when completing the OCR Computing A Level coursework. It discusses the need to balance theoretical knowledge with practical application through hands-on coding.

  8. AQA

    For example, if a student had produced a 'fully or nearly fully articulated design of a real problem describing how solution is to be structured/is structured'. This would, for an A-level standard project, achieve a mark in Level Four for Documented Design (10-12 marks).

  9. AS and A Level

    PDF 1MB. Programming project H446/03 - Sample question paper and mark scheme. PDF 157KB. Computing principles H046/1. Algorithms and problem solving H046/2. OCR AS and A Level Computer Science - H046, H446 (from 2015)) qualification information including specification, exam materials, teaching resources, learning resources.

  10. AS and A Level

    Classroom learning is transferred into creating real-world systems through the creation of an independent programming project. Our A Level will develop the student's technical understanding and their ability to analyse and solve problems using computational thinking. Specification code: H446. Qualification number: 601/4911/5.

  11. AQA A Level Computer Science Coursework Guide : r/6thForm

    r/6thForm. A place for sixth formers to speak to others about work, A-levels, results, problems in education and general sixth form life, as well as university applications and UCAS. MembersOnline. •. JezzaOfRivia. ADMIN MOD. AQA A Level Computer Science Coursework Guide. I've written up a guide on how to tackle the coursework part of the AQA ...

  12. OCR A Level Computer Science Revision Notes 2017

    Below is a table of problems identified for an online grocery business. The table shows which problems are computational and a reason why. Problem Description. Computational Problem. (Yes or No) Justification. Inventory levels are not updated in real-time. Yes. Real-time syncing can be achieved through algorithms.

  13. A level topics

    3.7.3 Structure and role of the processor and its components. 3.8.1 Individual (moral), social (ethical), legal and cultural issues and opportunities. On this page, you will find the topics mapped to the AS level specification, followed by the additional topics required by the A level specification.

  14. Cambridge International AS & A Level Computer Science (9618)

    Learners develop computational thinking & programming skills to solve computer science problems. Cambridge International AS and A Level Computer Science will help learners develop a range of skills such as thinking creatively, analytically, logically and critically. They will also be able to appreciate the ethical issues that arise with current ...

  15. A Level Computing Coursework Sample

    A Level Computing Coursework Sample - Free download as PDF File (.pdf), Text File (.txt) or read online for free. The document discusses the challenges of completing A Level Computing coursework and options for seeking external help. It notes that A Level Computing coursework requires a deep understanding of the subject matter as well as research and communication skills.

  16. PDF Non-exam assessment (NEA) guidance

    the coursework (COMP4) for the outgoing A-level Computing specification is in . Appendix A. ... examples of what this means, and how to deal with projects that are not of A-level standard. ... AQA A-level Computer Science - NEA Guidance V3 (November 2019) AQA Education (AQA) is a registered charity (number 1073334) and a company limited by ...

  17. A* Algorithm

    The algorithm for A* search is shown below, both in structured english and a pseudocode format. A* Search (Structured English) assign g(x) to 0 and f(x) to h(x) for the initial node and g(x) and f(x) to infinity for every other node. add all nodes to a priority queue, sorted by f(x) while the queue is not empty.

  18. OCR A Level Computer Sceince H046/H446 Programming Project Exemplar

    Hi, Depending on your target grade and other factors, you might want to consider redoing your coursework again too. In my experience, the coursework is the easiest way to get marks but it's also far too time consuming so I get if you just want to focus on the exams. With that said, you'll probably know the content for the exams already since you done it last year which means you'll have more ...

  19. Cambridge International AS & A Level Computer Science

    The torrent is split into small pieces that can be downloaded or uploaded by each computer in the swarm. Once a computer has downloaded a piece of the torrent file it can upload that piece to other computers in the swarm and become a seed. (c) Protocol 1 SMTP Example Sending email messages Protocol POP3 Example retirement of email messages

  20. OCR A Level Computer Science Revision Notes 2017

    Decomposition: Break down the issue into sub-problems such as data quality, algorithmic inefficiency, and lack of user input. Software Solutions: Propose software-related solutions like machine learning algorithms, improved data collection, and user interface changes for better user feedback. Limitations: Discuss why software solutions alone ...

  21. AQA COMP4 Coursework examples?

    My year is the first time my school has done Computing, so we have no coursework examples to guide us in the right direction. 0 Report. Reply. Reply 2. 10 years ago. ... AQA A-level Computer Science Paper 1 (7517/1A-1E) - 10th June 2024 [Exam Chat] Computer Science and ICT. 92. 284. Last reply 1 week ago.

  22. 9705 D&T coursework examples

    9705 D&T coursework examples | Online Learning area

  23. AS/A Level Computer Science

    Our AS/A level Computer Science specification provides learners with an in-depth understanding of the fundamental concepts of computer science and a broad range of flexible and interesting study opportunities. This specification enables centres to concentrate on innovative delivery of the course by having a streamlined, uncomplicated, future ...