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.
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.
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.
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
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 on 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).
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!