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

404 Not found

Isaac Computer Science

You need to enable JavaScript to access Isaac Computer Science.

knowt logo

A-Level Computer Science

Explore top a.level flashcards.

Linkers, Loaders & Libraries

When programming, we often use libraries built into programming languages to make coding solutions quicker and easier. These are linked in, by linkers, and loaded by loaders when your code runs.

Illustrative background for Libraries

  • Libraries exist in most programming languages and offer shorthand ways to achieve a task.
  • These libraries are pre-written, compiled, tested and checked pieces of code that developers can rely on to help shorten code.
  • For example, the print function in python.

Illustrative background for Linkers

  • Libraries can be statically linked or dynamically linked.
  • Statically linked libraries are included in the object or machine code when it is compiled.
  • This increases the binary footprint of the code, but the library becomes built into the code meaning an end user doesn’t need it to be installed.

Illustrative background for Dynamically linked libraries

Dynamically linked libraries

  • Dynamically linked libraries are not built into the code.
  • These libraries are loaded in when the object or machine code is passed to the CPU to run, just when it needs it.
  • Dynamically linked libraries mean your binary footprint is smaller, but the library needs to be installed on the computer.

Illustrative background for Loaders

  • Loaders are a type of program that loads the program you're trying to run.
  • Loaders are a part of the operating system that find a good place for object or machine code to sit in memory.
  • For statically linked libraries all of the code and the library are loaded into memory, which takes up more room.
  • For dynamically linked libraries, the loader will load the library into memory when the program needs it.

1 Components of a Computer

1.1 Structure & Function of the Processor

1.1.1 Structure of the CPU

1.1.2 Fetch, Decode, Execute Cycle

1.1.3 Factors Affecting CPU Performance

1.1.4 CPU Architecture

1.2 Types of Processors

1.2.1 CISC & RISC

1.2.2 Multicore & Parallel Cores

1.3 Input, Output & Storage

1.3.1 Computer Systems

1.3.2 Magnetic Storage

1.3.3 Optical Storage

1.3.4 Types of Optical Storage

1.3.5 Types of Memory

1.3.6 Flash Memory

1.3.7 Virtual Memory

2 Software & Software Development

2.1 Systems Software

2.1.1 Operating Systems

2.1.2 Managing Memory

2.1.3 Paging, Segmentation & Virtual Memory

2.1.4 Device Management & Drivers

2.1.5 Interrupts

2.1.6 Scheduling

2.1.7 Types of Operating System

2.2 Applications Generation

2.2.1 Applications Software & Utilities

2.2.2 Encryption & Defragmentation

2.2.3 Data Compression & Backup

2.2.4 Open Source vs Proprietary Software

2.2.5 Translators

2.2.6 Compiling a Program

2.2.7 Linkers, Loaders & Libraries

2.3 Software Development

2.3.1 Algorithmic Thinking

2.3.2 Waterfall Lifecycle

2.3.3 Agile Methodology

2.3.4 Extreme Programming

2.3.5 Spiral Methodology

2.3.6 Rapid Application Development

2.4 Types of Programming Language

2.4.1 Types of Programming Languages

2.4.2 Programming Paradigms

2.4.3 Assembly & Machine Code

2.4.4 Modes of Addressing Memory

2.4.5 Object-Oriented Languages

2.4.6 Encapsulation & Polymorphism

3 Exchanging Data

3.1 Compression, Encryption & Hashing

3.1.1 Compression

3.1.2 Encryption

3.2 Databases

3.2.1 Databases

3.2.2 Managing Databases

3.2.4 Principles of Data Storage

3.3 Networks

3.3.1 Networks Introduction

3.3.2 Types of Networks

3.3.3 Network Protocols

3.3.4 The Internet

3.3.5 DNS & Web Hosting

3.3.6 Layers

3.3.7 Packet Switching

3.3.8 Network Hardware

3.3.9 Firewalls

3.3.10 Proxies

3.3.11 Client-Server Model

3.3.12 Peer-to-Peer Model

3.4 Web Technologies

3.4.2 CSS & JavaScript

3.4.3 Search Engine Indexing

3.4.4 Server & Client-Side Processing

4 Data Types, Data Structures & Algorithms

4.1 Data Types

4.1.1 Data Types

4.1.2 Arrays & Strings

4.1.3 Representing Numbers

4.1.4 Binary Arithmetic

4.1.5 Hexadecimal

4.1.6 Converting Binary Numbers

4.1.7 Floating Points in Binary

4.1.8 Floating Point Arithmetic

4.1.9 Bitwise Manipulation

4.1.10 Character Sets

4.2 Data Structures

4.2.1 Arrays, Linked Lists & Queues

4.2.2 Graphs, Hash Tables & Stacks

4.2.3 Trees

4.3 Boolean Algebra

4.3.1 Computational Logic

4.3.2 Boolean Logic

4.3.3 Karnaugh Maps

4.3.4 Boolean Identities

4.3.5 Flip Flops & Adder Circuits

5 Legal, Moral, Cultural & Ethical Issues

5.1 Computing Related Legislation

5.1.1 Data Protection Act (1998)

5.1.2 Computer Misuse Act (1990)

5.1.3 Copyright Designs and Patents Act (1988)

5.1.4 Regulation of Investigatory Powers Act (2000)

5.2 Moral & Ethical Issues

5.2.1 Online Activity Tracking

5.2.2 Censorship

5.2.3 Cultural Issues

5.2.4 Environmental Issues

5.2.5 Layout, Colour Paradigms & Character Sets

6 Elements of Computational Thinking

6.1 Thinking Abstractly

6.1.1 Abstraction

6.2 Thinking Procedurally

6.2.1 Decomposition

6.3 Thinking Logically

6.3.1 Pseudocode & Flow Diagrams

7 Problem Solving & Programming

7.1 Programming Techniques

7.1.1 Programming Fundamentals

7.1.2 Modularity

7.2 Programming Construction

7.2.1 Integrated Development Environments

7.2.2 Testing

8 Algorithms

8.1 Algorithms

8.1.1 Interpreting, Correcting & Completing Algorithm

8.1.2 Sort Algorithms

8.1.3 Insertion & Merge Sort

8.1.4 Search Algorithms

Jump to other topics

Go student ad image

Unlock your full potential with GoStudent tutoring

Affordable 1:1 tutoring from the comfort of your home

Tutors are matched to your specific learning needs

30+ school subjects covered

Compiling a Program

Algorithmic Thinking

  • International
  • Schools directory
  • Resources Jobs Schools directory News Search

A-level Computer Science (Coursework exemplar and notes)

A-level Computer Science (Coursework exemplar and notes)

A-levelEx

Last updated

11 October 2021

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

Resources included (2)

A-level Computer Science - Coursework exampler

A-level Computer Science - Coursework exampler

A-level Computer Science OCR notes

A-level Computer Science OCR notes

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

Tes paid licence How can I reuse this?

Your rating is required to reflect your happiness.

It's good to leave some feedback.

Something went wrong, please try again later.

No coursework examplar

Hello sfleming6, I checked the download to see what was wrong and it seems like the notes were uploaded as the coursework examplar. This has now been fixed and the coursework examplar should be downloadable. Most sincere apologies for any inconveniences.

Empty reply does not make any sense for the end user

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:

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, assessment overview.

Students must take all three components to be awarded the OCR A Level in Computer Science.

* Indicates the inclusion of synoptic assessment.

Content overview

Component 01: computer systems.

Students are introduced to the internal workings of the (CPU), data exchange, software development, data types and legal and ethical issues. The resulting knowledge and understanding will underpin their work in component 03.

  • The characteristics of contemporary processors, input, output and storage devices
  • Types of software and the different methodologies used to develop software
  • Data exchange between different systems
  • Data types, data structures and algorithms
  • Legal, moral, cultural and ethical issues.

Component 02: Algorithms and programming

This builds on component 01 to include computational thinking and problem-solving.

  • What is meant by computational thinking (thinking abstractly, thinking ahead, thinking procedurally etc.)
  • Problem solving and programming – how computers and programs can be used to solve problems
  • Algorithms and how they can be used to describe and solve problems.

Component 03: Programming project

Students are expected to apply the principles of computational thinking to a practical coding programming project. They will analyse, design, develop, test, evaluate and document a program written in a suitable programming language. The project is designed to be independently chosen by the student and provides them with the flexibility to investigate projects within the diverse field of computer science. We support a wide and diverse range of languages.

ocr a level computer science coursework ideas

Students must take both components to be awarded the OCR AS Level in Computer Science.

* Indicates the inclusion of synoptic assessment

Component 01: Computing principles

Students are introduced to the fundamental technical principles of computing.

This component covers:

ocr a level computer science coursework ideas

IMAGES

  1. A-level Computer Science

    ocr a level computer science coursework ideas

  2. A-level Computer Science

    ocr a level computer science coursework ideas

  3. OCR A and AS Level Computer Science Revision Mats / Knowledge

    ocr a level computer science coursework ideas

  4. OCR A Level Computer Science Revision Notes by shortfinmako

    ocr a level computer science coursework ideas

  5. OCR GCE A Level Computer Science Programming Project Implementation

    ocr a level computer science coursework ideas

  6. OCR AS/A-level Computer Science Workbook 1: Computer systems by Sarah

    ocr a level computer science coursework ideas

VIDEO

  1. User Acceptance Testing

  2. LCCS Coursework 2023/24: Basic Requirements

  3. a level computer science project

  4. OCR AS/A LEVEL Computer Science

  5. IFSA Tech Career Accelerator (2023)

  6. Crack That 2019 Theory Paper for AQA A Level Paper 2

COMMENTS

  1. 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.

  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. PDF OCR A Level Computer Science Project Setting Guidance

    OCR produces Candidate Sample Work to help centres in both identifying and assessing A Level projects. The Candidate Sample Work covers a range of projects from High to Low grades, giving ideas of how projects have been developed. Links to Candidate Sample Work (Candidate Exemplars) may be found on the H446 webpage, under the Assessment tab.

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

    This article brings some of the best A-Level Computers Science NEA Project Ideas. Computer science is an subject that holds academic concepts and is existence tested at the end of 2 years of computer science. In this article, you intention learn with A-level of computer science NEO project ideas. 18.

  5. PDF Exemplar Candidate Work

    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 different parts of the ...

  6. 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...

  7. A Level Computer Science: top tips for planning the NEA ...

    It also gives the candidate a back up if things go wrong with their main idea. TIP: Encourage students to generate a minimum of five initial ideas for a project and explore them all. 2. Preparing the proposals to send to us for checking. Teachers should review the project proposals before submitting to us.

  8. Programming project guides

    Our PDF programming project guides support students and teachers producing the documentation for the A level non-examined assessment (NEA). There are two versions of our guide books: Documenting programming projects OCR H446 (58 pages) - ideal for all other types of projects. As the mark scheme is written to cover a diverse range of projects ...

  9. Tackling A Level projects in Computer Science OCR H446

    The key to success is to plan and write a strong report, evidencing what has been carried out. Tackling A Level projects in Computer Science for OCR H446 is the essential student guide for completing the project and, in particular, the report, with confidence and independence. It contains clear and concise instruction and examples of what needs ...

  10. PDF Documenting Programming Projects OCR A Level Computer Science H446

    Consider the complexity of the algorithms you study on the A Level Computer Science course as a benchmark. These include linear search, binary search, hashing functions, bubble sort, insertion sort, merge sort, quick sort, PageRank, Dijkstra and A* algorithm. Consider the data structures. These include arrays, lists, graphs, hash tables and trees.

  11. PDF Tackling A Level Projects in

    A Level Computer Science OCR H446. Tackling A Level Projects in Computer Science OCR A Level Computer Science H446 ... if you use a teacher, remember that many teachers have coursework or mock exams to mark which may be around the time that you want them to start testing your ... who could act as an advisor to help generate ideas and give you ...

  12. A level topics

    This is an overview of the OCR A level Computer Science specification, with links to the Isaac Computer Science topics. Because the topics are written to cover the specifications of more than one examination board, content will not always be grouped in the same way as in the specification. You can also use the search bar to locate content.

  13. Summer 2022 NEA: Programming project for A Level Computer Science

    21 March 2022. Vinay Thawait - Subject Advisor, Computer Science, IT and Creative iMedia. Here at OCR we've had lots of queries from centres in recent weeks about marking coursework, or non-exam assessment (NEA). For A Level Computer Science (H446), this means the programming project. There have been questions about how to apply the mark ...

  14. A Level Computer Science Project Ideas

    In this, the 2nd of 2 videos I'll be explaining how to plan your A Level Computer Science Project to meet the complexity requirements for the exam boards wit...

  15. 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.

  16. OCR: A-Level Computer Science Study Guides: Notes

    If you've got a specific chapter or question in mind, use the search bar above to browse our millions of A-Level Computer Science notes or flashcards. OR you can use the buttons at the top of this page to pick a specific A-Level Computer Science and AQA, OCR, WJEC to explore all the flashcard sets we've got on that particular topic. They ...

  17. 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.

  18. Linkers, Loaders & Libraries

    Loaders are a part of the operating system that find a good place for object or machine code to sit in memory. For statically linked libraries all of the code and the library are loaded into memory, which takes up more room. For dynamically linked libraries, the loader will load the library into memory when the program needs it.

  19. A-level Computer Science (Coursework exemplar and notes)

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

  20. AS and A Level

    Planning. Delivery guides. Schemes of work. Teaching activities. Topic exploration packs. Teacher guides. Promoting your subject. OCR AS and A Level Computer Science - H046, H446 (from 2015)) qualification information including specification, exam materials, teaching resources, learning resources.

  21. A Level computer science coursework ideas help!!!

    Joannu. Look at the coursework specifications and pick something around what would get you the highest mark. For example, complex code that you can explain and justify the benefits of doing it is very important in my specification (OCR) but obviously don't make something that's too complicated that you wont finish in the given time. Making a ...

  22. AS and A Level

    Students must take both components to be awarded the OCR AS Level in Computer Science. Students are introduced to the fundamental technical principles of computing. Legal, moral, cultural and ethical issues. This builds on component 01 to include computational thinking and problem-solving.