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

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

A-level Computer Science - Coursework exampler

A-level Computer Science - Coursework exampler

Subject: Computing

Age range: 16+

Resource type: Unit of work

A-levelEx

Last updated

11 October 2021

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

computer science a level coursework examples

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

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

Tes paid licence How can I reuse this?

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

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

A-level Computer Science (Coursework exemplar and notes)

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

Your rating is required to reflect your happiness.

It's good to leave some feedback.

Something went wrong, please try again later.

This resource hasn't been reviewed yet

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

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

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

Cambridge International AS & A Level Computer Science

Topic outline.

  • Select activity Please rotate your device. Please rotate your device.

Syllabus content

  • Select activity Syllabus content - what you need to know about Syllabus content - what you need to know about

There are four components that you will need to take:

  • Paper 1 (Theory Fundamentals)

Paper 2 (Fundamental Problem-solving and Programming Skills)

  • Paper 3 (Advanced theory)
  • Paper 4 (Practical)

Key concepts

Key concepts are essential ideas that help you to develop a deep understanding of your subject and make links between different aspects of the course. The key concepts for Cambridge International AS & A Level Computer Science are:

• Computational thinking

Computational thinking is a set of fundamental skills that help produce a solution to a problem. Skills such as abstraction, decomposition and algorithmic thinking are used to study a problem and design a solution that can be implemented. This may involve using a range of technologies and programming languages.

• Programming paradigms

A programming paradigm is a way of thinking about or approaching problems. There are many different programming styles that can be used, which are suited to unique functions, tools and specific situations. An understanding of programming paradigms is essential to ensure they are used appropriately, when designing and building programs.

• C ommunication

Communication is a core requirement of computer systems. It includes the ability to transfer data from one device or component to another and an understanding of the rules and methods that are used in this data transfer. Communication could range from the internal transfer of data within a computer system, to the transfer of a video across the internet.

• Comput er architecture and hardware 

Computer architecture is the design of the internal operation of a computer system. It includes the rules that dictate how components and data are organised, how data are communicated between components, to allow hardware to function. There is a range of architectures, with different components and rules, that are appropriate for different scenarios.

All computers comprise of a combination of hardware components, ranging from internal components, such as the Central Processing Unit (CPU) and main memory, to peripherals. To produce effective and efficient programs to run on hardware, it is important to understand how the components work independently and together to produce a system that can be used. Hardware needs software to be able to perform a task. Software allows hardware to become functional. This enables the user to communicate with the hardware to perform tasks.

• Data representation and structures  

Computers use binary and understanding how a binary number can be interpreted in many different ways is important. Programming requires an understanding of how data can be organised for efficient access and/or transfer. 

These key concepts help you to gain:

• a greater depth as well as breadth of subject knowledge 

• confidence, especially in applying your knowledge and skills in new situations

• the vocabulary to discuss the subject conceptually and show how different aspects link together

• a level of mastery of their subject to help them enter higher education. 

Make sure you always check the latest syllabus, which is available at  www.cambridgeinternational.org .

  • Select activity How you will be assessed How you will be assessed
  • Select activity Please rotate your device Please rotate your device
  • Select activity What skills will be assessed? What skills will be assessed?
  • Select activity The examiners take account of the following skills... The examiners take account of the following skills areas (assessment objectives) in the examinations: AO1: Knowledge with understanding Demonstrate knowledge and understanding of the principles and concepts of computer science including abstraction, logic, algorithms and data representation. AO2: Application Apply knowledge and understanding of the principles and concepts of computer science, including to analyse problems in computational terms. AO3: Design, program and evaluation Design, program and evaluate computer systems to solve problems, making reasoned judgements about these.
  • Select activity Command words Command words
  • Select activity The flipcards below include command words used in ... The flipcards below include command words used in the assessment for this syllabus. The use of the command word will relate to the subject context.
  • Select activity Example candidate response Example candidate response
  • Select activity All information and advice in this section is spec... All information and advice in this section is specific to the example question and response being demonstrated. It should give you an idea of how your responses might be viewed by an examiner but it is not a list of what to do in all questions. In your own examination, you will need to pay careful attention to what each question is asking you to do.

computer science a level coursework examples

Example candidate response and examiner comments

  • Select activity (a)Application layerTransport (layer)Internet (lay... (a) Application layer Transport (layer) Internet (layer) Network (access layer) [See examiner comment] (b) (i) Peer – to – peer. (ii) File sharing. (iii) BitTorrent client software is made available, this is used to load the torrent descriptor for the required file by computers joining it swarm. A server, called tracker, keeps records of all the computers joining the swarm and allows them to connect to each other by sharing their IP addresses. The torrent is split into small pieces that can be downloaded or uploaded by each computer in the swarm. Once a computer has downloaded a piece of the torrent file it can upload that piece to other computers in the swarm and become a seed. (c) Protocol 1 SMTP Example Sending email messages Protocol POP3 Example retirement of email messages [See examiner comment] [Total mark awarded]
  • Select activity Revision Revision
  • Select activity Explore the advice below to help you revise and pr... Explore the advice below to help you revise and prepare for the examinations.  It is divided into general advice for all papers and more specific advice for each of the papers.
  • Find out when the examinations are and plan your revision so you have enough time for each topic. A revision timetable will help you
  • Find out how long each paper is and how many questions you have to answer
  • Know the meaning of the command words used in questions and how to apply them to the information given. Highlight the command words in past papers and check what they mean. There is a list on page 11 of this guide
  • Make revision notes; try different styles of notes. See the Learner Guide: Planning, Reflection and Revision  which as ideas about note-taking. Discover what works best for you
  • Work for short periods then have a break. Revise small sections of the syllabus at a time
  • Build your confidence by practising questions on each of the topics
  • Make sure you practice lots of past examination questions so that you are familiar with the format of the examination papers. You could time yourself when doing a paper so that you know how quickly you need to work in the real examination
  • Look at mark schemes to help you understand how the marks are awarded for each question
  • Make sure you are familar with the technical terminology that you need for this syllabus. Your teacher will be able to advise you on what is expected.
  • Read the instructions carefully and answer all the questions
  • Check the number of marks for each question or part question. This helps you to judge how long you should be spending on the response. You don't want to spend too long on some questions and then run out of time at the end
  • Do not leave out questions or parts of questions. Remember, no answer means no mark
  • If a question has several parts, then the parts with more marks will need more time and more developed answers
  • You do not have to answer the questions in the order they are printed in the answer booklet. You may be able to do a later question more easily then come back to an earlier one for another try
  • Identify the command words – you could underline or highlight them
  • Identify the technical terms and perhaps underline them too
  • Try to put the question into your own words to understand what it is really asking.
  • Read all parts of a question before starting your answer. Think carefully about what is needed for each part. You will not need to repeat material
  • Use your knowledge and understanding
  • Do not write everything you know about a topic. Only use the information you need to answer the question.
  • Make sure that you have answered everything that a question asks. Sometimes one part requires two things, e.g. 'Calculate...' and 'Show your working.'. It is easy to concentrate on the first request and forget about the second one
  • Always show your working. Marks are usually awarded for using correct steps in the method even if you make a mistake somewhere
  • Don't cross out any working in a calculation until you have replaced it by trying again. Even if you know it's not correct you may still be able to get method marks. If you have made more than two attempts, make sure you cross out all except the one you want marked
  • Make sure all your numbers are clear, for example make sure your '1' doesn't look like a '7'
  • If you need to change a word or a number, it is better to cross out your work and rewrite it. Don't try to write over the top of your previous work as it will be difficult to read and you may not get the marks
  • Don't write any pseudocode answers in two columns in the examination. It is difficult for the examiners to read and follow your working.
  • Always use the logic gate symbols from the syllabus when drawing logic circuits
  • Always use the opcodes given on the syllabus or shown on the examination paper when writing assembly language instructions
  • Try and use capital letters when writing assembly language opcodes, SQL, or pseudocode commands so they can be clearly recognised as commands by the examiner
  • Where possible use SQL and pseudocode commands that are given in the syllabus, any other commands should be identified and explained.
  • Try and use capital letters when writing pseudocode commands so they can be clearly recognised as commands by the examiner
  • Where possible use pseudocode commands that are given in the syllabus, any other commands should be identified and explained
  • Annotate pseudocode with comments
  • Fully label diagrams.
  • Remember you will need to write and test programs in the examination

Visual Basic

  • Be able to use your chosen programming language in console mode
  • Get plenty of practice at debugging and testing programs using your chosen programming language
  • Where possible use the same programming language for all your answers.

Drag colour option

  • Select activity Paper 1 - Theory Fundamentals Paper 1 - Theory Fundamentals
  • Select activity 1.1 Data Representation 1.2 Multimedia 1.3 Compres... 1.1 Data Representation 1.2 Multimedia 1.3 Compression 1.4 Communication 1.5 Hardware 1.6 Processor Fundamentals 1.7 System Software 1.8 Security, privacy and data integrity 1.9 Ethics and ownership 1.10 Databases TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
  • Select activity Paper 2 - Fundamental Problem-solving and Programm... Paper 2 - Fundamental Problem-solving and Programming Skills
  • Select activity 2.1 Computational thinking skills 2.2 Algorithm De... 2.1 Computational thinking skills 2.2 Algorithm Design 2.3 Data types and structures 2.4 Programming 2.5 Software Development TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
  • Select activity Paper 3 - Advanced Theory Paper 3 - Advanced Theory
  • Select activity 3.1 Data Representation 3.2 Communication and inte... 3.1 Data Representation 3.2 Communication and internet technologies 3.3 Hardware 3.4 System Software 3.5 Security 3.6 Artificial Intelligence (AI) 3.7 Algorithms TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
  • Select activity Paper 4 - Practical Paper 4 - Practical
  • Select activity 4.1 Programming 4.1 Programming
  • Select activity Useful websites Useful websites
  • Select activity The websites listed below are reliable useful reso... The websites listed below are reliable useful resources to help you study for your Cambridge International AS and A Level Computer Science.

www.w3schools.com/

www.jetbrains.com/idea/documentation/

www.jetbrains.com/idea/download/#section=windows -

https://visualstudio.microsoft.com/vs/express/

www.python.org/downloads/

Prolog 

www.swi-prolog.org/

British Computer Society Glossary

www.bcs.org/category/5656

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

  • Centre Services
  • Associate Extranet
  • All About Maths

AS and A-level Computer Science

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

4.14 Non-exam assessment - the computing practical project

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

 Non-exam assessment - the computing practical project

Purpose of the project

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

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

Types of problem/investigation

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

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

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

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

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

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

Project documentation structure

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

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

Using a level of response mark scheme

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

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

Step 1 Determine a level

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

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

Step 2 Determine a mark

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

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

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

Marking criteria

Analysis (9 marks), documented design (12 marks), technical solution (42 marks), completeness of solution (15 marks), techniques used (27 marks).

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

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

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

Example technical skills

Table 1: example technical skills.

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

Table 2: Coding styles

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

Testing (8 marks)

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

Evaluation (4 marks)

Project tasks that are not of a-level standard.

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

Guide to non-exam assessment documentation

Students are expected to:

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

A fully scoped analysis is one that has:

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

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

Technical solution

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

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

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

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

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

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

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

Assessment objective breakdown for non-exam assessment

Isaac Computer Science

You need to enable JavaScript to access Isaac Computer Science.

CIE A Level Computer Science

Unit 1 – information representation, 1.1 data representation.

  • Binary & Denary Number Systems
  • Hexadecimal Number Systems
  • Binary and Decimal Prefixes
  • One’s Compliment and Two’s Compliment
  • Binary Addition and Subtraction
  • Binary Coded Decimal
  • ASCII, Extended ASCII and Unicode
  • Binary Addition

1.2 Multimedia – Graphics, Sound

  • Bitmap Images
  • Vector Images
  • Bitmaps vs Vectors
  • Encoding & Compressing Video
  • Encoding Sound

1.3 Compression

  • The need for compression
  • Lossy vs Lossless Compression
  • Compression algorithms

Unit 2 – Communication

2.1 networks including the internet.

  • Purpose of networking of devices
  • Client-Server vs Peer to Peer
  • Thin and Thick Clients
  • Network Topologies
  • Cloud Computing
  • Wired and Wireless Networks
  • Network Hardware
  • Network routing and collisions(CSMA/CD)
  • Bit Streaming
  • WWW and the Internet
  • Internet Hardware
  • IPv4 & IPv6 Addresses
  • Subnets & Network Masks
  • Public vs Private IP Addresses
  • Static Vs Dynamic IP, DHCP
  • URLs, DNS and Serving Web Pages
  • Client Side & Server Side Scripting

Unit 2 Past Paper Questions

Unit 3 – Hardware

3.1 computers and their components.

  • Input Devices
  • Laser Printer
  • Primary Storage
  • Secondary Storage Devices
  • Embedded Systems
  • Virtual and Augmented Reality
  • RAM and ROM
  • SRAM vs DRAM
  • ROM,PROM,EPROM,EEPROM
  • Open & Closed Loop Systems

CIE Teacher Support Materials Input/Output Devices

3.2 Logic Gates and Logic Circuits

  • Logic Gates
  • Logic Circuits
  • Truth Tables

Unit 4 – Processor Fundamentals

4.1 central processing unit (cpu) architecture.

  • VON Neumann Architecture
  • Motherboard Ports
  • Fetch  – Execute Cycle
  • Register Transfer Notation
  • ALU,CU,IAS, System Clock
  • CPU Performance Factors

4.2 Assembly Language

  • Assembly Language Vs Machine Code & The assembly process
  • Grouping Instruction Sets
  • Modes of addressing
  • Dynamic Link Libraries

4.3 Bit manipulation

  • Binary Shifts
  • Bit Manipulation & Bitwise Operations

Unit 5 – System Software

5.1 operating systems.

  • Purpose of an Operating System
  • Operating System User Interface Types
  • Management tasks
  • Utility Software
  • Program Libraries

5.2 Language Translators

  • Assembler Software
  • Interpreters

Unit 6 – Security, privacy and data integrity

6.1 data security.

  • Security, Privacy and Integrity
  • Data and System Security
  • Computer & Network Threats
  • Security / Threat reduction measures
  • Backing Up Data

6.2 Data Integrity

  • Methods of data validation
  • Methods of data verification

Unit 6 Past Paper Questions

Unit 7 – Ethics and Ownership

7.1 ethics and ownership.

  • Copyright legislation
  • Software Licences
  • Ethical implications of artificial intelligence
  • IEEE Code of Ethics Rules
  • IEEE/ACM Software Engineering Guiding Principles

CIE Ethics Teacher Materials

Unit 8 – Databases

8.1 database concepts.

  • Introduction to Relational Databases
  • Entity relationship diagrams
  • Referential Integrity
  • Normalisation process  – First, Second, Third Normal Form

8.2 Database Management System (DBMS)

  • Features of a database management system & Query Processor
  • DBMS Software Tools
  • Backup Procedures
  • Online,Offline, Onsite,Offsite Backups

8.3 Data Definition Language (DDL) and Data Manipulation Language (DML)

  • Role of Data Definition Language
  • Role of Data Manipulation Language
  • SQL Language
  • SQL DDL Queries
  • SQL DML Queries

Helpful Resources

  • Databases Past Paper Questions
  • SQL Practice Games
  • SQLite3 Cheat Sheet

Unit  9 – Algorithm Design and Problem-Solving

9.1 computational thinking skills.

  • Input, process, Output
  • Abstraction
  • Decomposition
  • Abstraction & Decomposition
  • Step-wise refinement

9.2 Algorithms

  • Identifier names and tables
  • Logic statements

Unit 10 – Data Types and structures

10.1 data types and records.

  • Selection of data types
  • User Defined Types (Record, Enumerator, Set)

10.2 Arrays

  • 1 Dimensional Arrays
  • 2 Dimensional Arrays

Search Algorithms

  • Linear Search
  • Binary Search

Sorting Algorithms

  • Bubble Sort
  • Insertion Sort
  • Lower and Upper Bounds
  • Reading/Writing Text Files
  • Reading/Writing CSV Files

10.4 Introduction to Abstract Data Types (ADT)

  • Introduction to abstract data types
  • Linked List

Unit 11 – Programming

11.1 programming basics.

  • Basic input, processing & output
  • Conditionals
  • Dictionaries
  • Subroutines

CIE Pseudocode

  • Introduction, Input, Output, Variables
  • If & Case Statements
  • File Handling
  • Functions & Procedures

Abstract Data Types

(Also create a cheat sheet and add it here)

11.2 Constructs

  • Programming Constructs

11.3 Structured Programming

  • Functions Exercises
  • Input Parameters
  • Efficient code

Unit 12 – Software Development

12.1 program development life cycle.

  • Development life cycles
  • Waterfall model
  • Rapid Application Development

12.2 Program Design

  • Structure Charts
  • State Transition Diagrams

13. Program Testing & Maintenance

  • Integrated Development Environments
  • Syntax, Runtime & Logical Errors
  • Methods of Testing
  • Choosing Test Data
  • Program Maintenance

Unit 13 – Data Representation (A – level)

13.1 user defined types.

  • Classes, Objects & Instances

13.2 File Organisation & Access

  • File organisation and access
  • Hash Tables & Hashing Functions

13.3 Floating-point numbers, representation and manipulation

Unit 14  – Communication & Internet Technologies

14.1 protocols.

  • The need for protocols
  • Protocol stack
  • TCP/IP Protocol Suite
  • HTTP,FTP,POP3,IMAP,SMTP,BitTorrent

14.2 Circuit switching, packet switching

  • Circuit Switching
  • Packet Switching
  • Function of a router

Unit 15 – Hardware & Virtual Machines

15.1 processors, parallel processing and virtual machines.

  • RISC & CISC Computers
  • Interrupt Handling in RISC & CISC
  • Pipelining & Registers
  • SISD,SIMD,MISD,MIMD
  • Massively Parallel Computers
  • Virtual Machines

15.2 Boolean Algebra and Logic Circuits

  • Half Adders & Full Adders
  • Flip Flop Circuits
  • Karnaugh Maps
  • Boolean Algebra Simplification Examples

Unit 16 – System Software

16.1 purposes of an operating system (os).

Process Management

16.2 Translation Software

  • Compilers and compilation stages
  • Syntax Diagrams
  • Backus-Naur Form
  • Reverse Polish Notation

Unit 17 – Security

17.1 encryption, encryption protocols and digital certificates.

  • Symmetric Encryption
  • Asymmetric Encryption
  • Digital Certificates
  • Transport Layer Security & Digital Certificates (SSL/TLS)
  • Quantum Cryptography

Unit 18 – Artificial Intelligence

18.1 artificial intelligence.

  • Artificial Intelligence, Machine Learning and Deep Learning
  • Classification, Regression, Clustering & Reinforcement  &
  • Dijkstra’s Algorithm
  • A* Algorithm
  • Deep Learning & Neural Networks
  • Supervised, Unsupervised Learning & Reinforcement Learning
  • Back Propagation

Artificial Intelligence Exam Questions

Unit 19 – Computational thinking and problem solving

19.1 algorithms.

Big O Notation with searching and sorting algorithms

  • Binary Tree

19.2 Recursion

  • Maze Solving Recursive Algorithm

Unit 20 – Further Programming

20.1 programming paradigms.

  • Low Level Programming
  • Imperative (Procedural) Programming
  • Object Orientated Programming
  • Declarative Programming

20.2 File Processing and Exception Handling

June 2021-2023 9618 Syllabus

Folder Structure

Pseudocode Guide

AS & A Level Exam Components

Paper 1 -Theory Fundamentals

  • Sections 1 to 8
  • 90 minute exam (25% of A level)

Paper 2 – Problem-solving and  Programming

  • Sections  9 to 12
  • 120 minute exam (25% of A level)
  • Includes writing algorithms in code *, Pseudocode & Flowcharts

Paper 3 – Advanced Theory

  • Sections 13 to 20
  • 90 minute exam (25% of A level)

Paper 4 – Practical

  • Sections 19 to 20
  • 150 minute exam (25% of A level)
  • Answered on computer
  • Students will submit program code* and evidence of testing
  • No email or internet access

* Permitted Programming languages – Java, VB.net or Python.  No other languages are allowed.

Exam Practice

Past papers, mark schemes & specimen papers.

Past Papers & Mark Schemes

Specimen Papers 2021+

Printable revision resources

Paper 4 Practice Tasks

Paper 4 Programming Skills CheckList

Year 11 Transition work

Course Book

Course book for 9618 specification.

Hodder Education: Cambridge International AS & A Level Computer Science Course Book.

This is the book we will be using from 2020 onward, as it is tailored towards the specific requirements of the course and offers a full structured approach to the CIE A level Computer Science 9618 course content.

computer science a level coursework examples

The Hodder Education CIE Computer Science book for the new 2021 -2023 Specification. Available on paper and Kindle.

  • Eduqas Home chevron_right
  • Qualifications

AS/A Level Computer Science

Apply now and join our team of examiners.

*Subject dependent, based on marking a full allocation and completion of training (which we pay you to attend).

  • Key Documents
  • Past Papers / Mark Schemes

The Eduqas A level in Computer Science encourages learners to develop: • an understanding of, and the ability to apply, the fundamental principles and concepts of computer science, including abstraction, decomposition, logic, algorithms and data representation • the ability to analyse problems in computational terms through practical experience of solving such problems, including writing programs to do so • the capacity for thinking creatively, innovatively, analytically, logically and critically • the capacity to see relationships between different aspects of computer science • the ability to articulate the individual (moral), social (ethical), legal and cultural opportunities and risks of digital technology.

Computers are widely used in all aspects of business, industry, government, education, leisure and the home. In this increasingly technological age, a study of computer science, and particularly how computers are used in the solution of a variety of problems, is not only valuable to the learners themselves but also essential to the future well-being of the country. Computer science integrates well with subjects across the curriculum. It demands both logical discipline and imaginative creativity in the selection and design of algorithms and the writing, testing and debugging of programs; it relies on an understanding of the rules of language at a fundamental level; it encourages an awareness of the management and organisation of computer systems; it extends the learners’ horizons beyond the school or college environment in the appreciation of the effects of computer science on society and individuals. For these reasons, computer science is as relevant to a learner studying arts subjects as it is to one studying science subjects.

The Eduqas A level in Computer Science has been designed to give an indepth understanding of the fundamental concepts of computer science and a broad scope of study opportunities. This specification has been designed to free centres to concentrate on innovative delivery of the course by having a streamlined, uncomplicated, future-proof structure, with realistic technological requirements.

There are no prior learning requirements. Any requirements set for entry to a course following this specification are at the discretion of centres. It is reasonable to assume that many learners will have achieved qualifications equivalent to Level 2 at KS4. Skills in Numeracy/Mathematics, Literacy/English and Information Communication Technology will provide a good basis for progression to this Level 3 qualification. Some learners will have already gained knowledge, understanding and skills through their study of Computer Science at GCSE

Why choose Eduqas ?

  • Coursework that mirrors industry practice.
  • Access to our   digital resources website  which hosts a wealth of free material, as well as  Question Bank  our free online question paper builder.
  • Programming skills assessed on-screen.

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

This subject uses e-submission for submission of candidate work for moderated or assessed units.

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

We offer an extensive range of free digital educational resources.

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

  • Digital Resources
  • Online Exam Review

These free digital resources support the teaching and learning of subjects offered by WJEC. Teachers will need to determine how they utilise the resources in the classroom to ensure their greatest effect. 

View Resources

WJEC/EDUQAS NON-ENDORSED TITLES

Access a collection of interactive units that bring together a number of elements including general data, exam questions, their marking schemes and examiner comments, which will lead you through a review of exam questions.

Visit OER Website

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

photo of Gareth Gillard

Download your free Guide to Switching! 

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

  • Menu  Close 
  • Search 

Coursework will help you educate yourself in your research area and more broadly in computer science. You may enroll in courses as long as you are here, including courses in other departments. Select courses are offered during the summer.

Students should aim to take 8 graduate courses within their first two years. Students who began the program in the Fall 2022 or later must follow the current   Coursework Completion Worksheet , which stipulates that more than half of all courses (at least 5 out of 8) must be taught in the Department of Computer Science. Of those courses, 4 out of the 5 core   course distribution areas   must be satisfied. The course distribution areas include Theory, Applications, Systems, Software, and Reasoning. The remaining courses may be faculty advisor-approved electives inside or outside of the Computer Science Department. When their coursework requirements are complete, students must submit the appropriate coursework completion worksheet, signed by their advisor, to the department’s Academic Program Manager.

Students who were admitted to the program prior to Fall 2019 may choose to use the current coursework requirements or fulfill their coursework requirements using the guidelines set forth in the   Pre-2019 Course Requirements Worksheet . These included at least 6 core CS courses—2 each from the Analysis, Applications, and Systems areas—and 2 electives.

Some students prefer to get this requirement out of the way in their first year. However, 4 graduate courses per semester leaves little time for research and teaching. Your decision will depend on your funding situation, your personal preference, and your advisor’s recommendation.

Every semester, your advisor must approve your course registration and you must register for approximately 15–20 credits of “PhD Research” (601.809-810). This is in addition to any other courses you are taking and applies to you even if you’ve completed all of your coursework requirements. The Registrar caps the credit limit at 25 credits each semester. PhD students should register for at least 20 credits every semester, so you will want to adjust the variable credit amount for your PhD Research section depending on your full course load.

Every semester, all students must attend a fair number of Computer Science Seminars.  SIS enrollment in the Computer Science Seminar (601.801-802) course is required for first- and second-year PhD students only.

Responsible Conduct of Research Course

Before you begin your second year, you must take the in-person mini-course, AS.360.625 Responsible Conduct of Research. This is under 10 hours and is offered during the summer, fall, intersession, and spring sessions. Failure to comply with this requirement by the end of your first year of enrollment may result in your inability to conduct research and receive the associated stipend/salary.

Academic Ethics

This mandatory module and quiz is embedded in the WSE online orientation and is part of every graduate student’s degree requirements. You will see the course EN.500.603 added to your SIS enrollment. Do not drop this course!

Frequently Asked Questions

How do i know if a cs course can be used as one of the 8 graduate courses.

Eligible CS courses are generally numbered xxx.600 and above. The rarely used Independent Study (601.805-806) may be taken for graduate credit and a letter grade under a faculty member’s supervision. Courses do not count unless they are taken for a grade; thus, you cannot count pass/fail seminars or the required department seminar series (601.801-802). Also, courses are ordinarily 3 credits; a 1-credit course counts as only one-third of a course and 3 such courses can serve to count for 1 full course. 

Effective Fall 2017, only courses that are 600-level and above are eligible to be put toward the CS coursework requirements, except for documented and approved exceptions. This is a WSE-wide initiative and will not impact courses taken prior to the Fall 2017 semester.

How do I know if a non-CS course can be used as one of the 8 graduate courses?

Any graduate course offered by a full-time JHU program is eligible, with advisor approval. Your advisor must agree that the course is relevant to your degree—either to computer science generally or to your specific program of study and research. Graduate level courses in most departments are numbered 600 and above.

How do I know if a course can be used in one of the core CS distribution areas?

The official  designation list  is available on the CS website. For CS courses, designations are also listed in the Academic Catalogue .

Do I have to do well in my courses?

You need at least a C- for a course to count, and your average grade for the 8 courses must be at least a B+. What you learn will also help you in your GBO Exam, your research, and your future career. But ultimately, the world will judge you on your research, not your grades.

Can I fulfill any of these requirements using graduate courses taken elsewhere?

Yes, if the courses have not been counted toward an undergraduate degree or taken as an undergraduate in another institution. They must be of comparable rigor and appropriate for the requirements in question, as attested by a syllabus, problem sets, or other course materials. You may apply up to 2 appropriate non-JHU courses toward the course requirements with your advisor’s approval. If you are willing to forego JHU’s MSE degree (typically because you already earned a Master’s elsewhere), then you may apply more than 2 appropriate non-JHU courses toward the PhD requirements with the approval of the Director of Graduate Studies; this may include up to 4 appropriate courses from JHU’s Engineering for Professionals programs.

IMAGES

  1. A-level Computer Science

    computer science a level coursework examples

  2. A-level Computer Science

    computer science a level coursework examples

  3. A Level Computer Science Coursework Advice. Talking through my project with tips for top marks

    computer science a level coursework examples

  4. A-Level Computer Science

    computer science a level coursework examples

  5. A-Level Computer Science

    computer science a level coursework examples

  6. WJEC A Level Computer Science

    computer science a level coursework examples

VIDEO

  1. A Level

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

  3. 04 Operating Systems

  4. Computer Science Coursework

  5. OCR Computer Science A-Level Programming Project

  6. Coordinating the Machine's Activities : Computer Science Assignment Help by Classof1.com

COMMENTS

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

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

    The new H046/H446 spec is basically the opposite, it favours complexity and coding over the volume of paperwork in the report. It even removed the need to produce a user guide, a positive if you're someone like me who hates coursework.

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

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

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

    A-level project template: Below is a possible layout you could follow for your project, this is taken from Example top grade project: 514655-programming-project-set-a-high.pdf but I have added the ...

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

  6. AS and A Level

    OCR AS and A Level Computer Science - H046, H446 (from 2015)) qualification information including specification, exam materials, teaching resources, learning resources ... For question examples see our question papers, marks schemes and reports. ... For free online courses to support marking and moderation sign into My Cambridge and click OCR ...

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

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

  9. A-level Computer Science

    This document is an example of a coursework (Programming Project) done for A level Computer Science with OCR. It follows the 2015 specification. ... A-level Computer Science (Coursework exemplar and notes) A bundle which contains the notes and examplar for OCR A-level Computer Science. Save more than 50% by purchasing this bundle.

  10. Cambridge International AS & A Level Computer Science

    The key concepts for Cambridge International AS & A Level Computer Science are: • Computational thinking. Computational thinking is a set of fundamental skills that help produce a solution to a problem. Skills such as abstraction, decomposition and algorithmic thinking are used to study a problem and design a solution that can be implemented.

  11. AQA

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

  12. PDF Non-exam assessment (NEA) guidance

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

  13. Isaac Computer Science

    The free online learning platform for GCSE and A level Computer Science students and teachers. Discover our computer science revision and homework questions today.

  14. AS/A Level Computer Science 9618

    Course Book for 9618 Specification. Hodder Education: Cambridge International AS & A Level Computer Science Course Book. This is the book we will be using from 2020 onward, as it is tailored towards the specific requirements of the course and offers a full structured approach to the CIE A level Computer Science 9618 course content.

  15. How Do I Complete the AQA A Level Computer Science NEA?

    A video all about the programming project that students studying AQA's A level Computer Science qualification will have to complete. It's worth 20% of the ov...

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

    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.

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

    AQA A Level Computer Science Coursework Guide. I've written up a guide on how to tackle the coursework part of the AQA Comp Sci course. It's a real pain since the examiners don't give you much to go on. I was quite lucky to have the right mix of random-ass diagrams and paragraphs to get 67/75 last year so I've written about what I did.

  18. A level computer science nea example?

    What is an A level Computer Science NEA project? An NEA project, also known as coursework, is a practical programming project that students undertake as part of their A level Computer Science course. It allows students to apply their knowledge and skills to create a solution to a real-world problem. Example of an A level Computer Science NEA ...

  19. AS and A Level Computer Science

    The Eduqas A level in Computer Science has been designed to give an indepth understanding of the fundamental concepts of computer science and a broad scope of study opportunities. This specification has been designed to free centres to concentrate on innovative delivery of the course by having a streamlined, uncomplicated, future-proof ...

  20. NEA Examples For AQA A Level Computer Science

    2.2 Problems with the current system. 2.3 Algorithms used with the current system. 3 Stake Holders. 3.1 Introduction. 3.2 Identification of Prospective Users. 3.3 Record of Client Interviews. 3.4 Identification of User Need and Acceptable Limitations. 4 Background. 4.1 Description of Proposed Solution.

  21. AQA Computer Science NEA Example Projects

    AQA Computer Science NEA Example Projects. Hello, could anyone share Y13 Computer Science projects from last year as an example for what I should/should not do. I am asking because my teacher doesnt have any examples due to the fact that this NEA is brand new and was first examined last year I think. It would be appreciated if you shared pre ...

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

  23. Online Computer Science & Engineering Degrees

    A master's degree in computer science is a graduate program focused on advanced concepts in computer science, such as software development, machine learning, data visualization, natural language processing, cybersecurity, and more. At this level, you'll often choose a field to specialize in.. Computer science master's programs build on your technical skill set while strengthening key ...

  24. Coursework

    Students should aim to take 8 graduate courses within their first two years. Students who began the program in the Fall 2022 or later must follow the current Coursework Completion Worksheet, which stipulates that more than half of all courses (at least 5 out of 8) must be taught in the Department of Computer Science.Of those courses, 4 out of the 5 core course distribution areas must be satisfied.

  25. A* grade on the A level Computer Science Project

    Whilst I am doing OCR Computer Science the only real advice I can offer you is simply meet the objectives. Marking CS projects is an objective thing, and you just have to satisfy the criteria given by OCR in their specification as best you can. I'm currently on track to receive ~90%+ and this is what I'm doing. In terms of your design phase, try to make as many useful prototypes on paper ...

  26. Faculty Colloquium: "Introduction to Recursion"

    Abstract: The aim of this lecture is to introduce the concept of Recursion in computing to students in an introductory Data Structures and Algorithms course. The prerequisite for this class is a basic understanding of programming in C, the use of GDB, and some basic data structures like bags, lists and arrays. The lecture will start with a brief review of programming in C and the use of GDB ...