It’s time of year again, time to think about your A Level Computing project. Hopefully, in your first year, your teachers will have given you all the skills you need to begin to tackle this. If they haven’t – then they’ll probably start with this early on in your second year. You should be familiar with
· Programming in your language of choice (C#, VB.NET, Python etc)
· Object Oriented Programming (OOP)
· Database design and programming with SQL
· Server-side web programming using XML and JSON
But now you need to start your project. If you use the summer wisely you should be able to get a good start on the outline of your analysis, design and programming. But how to begin? Well, this series of articles should give you an idea of how to start, what order to do things in, what you need for your write up and when things are due in by.
Firstly, Get A Client!
This is the hard bit. Most people attempting a computing project will
Have no idea for a project but have a client who does
Have an idea for a project but no client.
Firstly, you need a client. Your client needs to be a real person who you can talk to, ideally an adult who has a genuine need for a software solution to a problem they have.
Now, you need a real client because one of the things you need to prove is evidence of ‘continual interaction with your client”. This means
You either need to have face to face interviews which you need to sign and date
Evidence of emails going back and forward between the two of you
Your client needs to evaluate the program at the end
This should show you asking questions about how the program works, or what it is going to look like.
If your ‘client’ is a classmate, or a friend in another school you are going to run into problems, because you might need to ask them something, and they might not answer quickly enough.
More than likely though when you need them to carry out an evaluation in march they
Have forgotten what they asked you to do, so give you a poor evaluation which could impact on your marks
Are too busy with their own revision for their own A levels to be able to help.
The best clients are your teachers, other members of staff at your school or college, or family friends with a genuine business need.
Next, Get a Project!
After getting a client, this is obviously the next hardest thing. Common mistakes that people make when choosing a project are:
Picking a project that is too complicated to be able to solve in time
Picking a project where the client has asked for too many things to be achieved in time
Picking a project that is too simple for A level.
Many years ago, a student wanted to write a program that would connect to the Google Webservice API. Knowing that this would be a challenge, as it required knowledge of XML programming, I asked the student to write a small program to connect to a web service over the summer and display the code in the console.
After 5 weeks of trying and failing, the student admitted defeat, and we worked out a simpler program to do.
Another student had a client who wanted his program to do about 25 different things, from saving data to files to accessing a database. After reviewing this list of objectives, we stripped things down to a more manageable list of about 12.
Another student wanted to build a database to add, update and store some simple information. This project was too simple, so we worked out some programmatic complexity, involving writing a custom encryption algorithm to encrypt and decrypt data going into and out of the database.
The main thing is talk with your teacher SOONER rather than LATER, discuss ideas with them as they will be able to point you in the right direction. They might also have some project ideas in their back pocket – I certainly had 9 backup projects, of various degrees of complexity should any student get stuck.
OK, I’ve got a project, I’ve got a client – Now What.
The hardest part of any project is the beginning. You CANNOT go charging into things by writing your code in Main() and putting your head down and going for it!
You need to do a little bit of thinking first. If you don’t it’s going to go horribly, horribly wrong.
Step 1 – Start your interviews
Your client is key. Start to ask them questions (and don’t forget to keep the emails, or write up the interview answers)
If they want to store information – then you’re looking at text files or a database
If it’s a database – what categories of information are they storing – that’s your tables
What information is coming in and out? That’s your SQL queries
If it’s a text file – you need to read and write code, usually this would be in a FileIO Object, so there’s a class for you
Once they tell you what the program is going to do – there are some functions or object behavior for you
Step 2 – start to look at your program structure
What bits is your program going to need?
If it’s a website – you’ll need HTML pages and possibly some form of scripting
If it’s a database - what software will you use – I recommend PHP MySQL or SQL Lite (DO NOT use Access)
How many tables will you need? Can you identify the primary keys, foreign keys and any fields? (you can always add more later)
Can you identify any classes?
Can you identify any object behavior?
Can you identify any functions – things your program needs to do?
Once you have some of these you can start to put some ideas down on paper – in your analysis document and your design document.
Don’t worry – they don’t need to be the finished article – AQA accepts that your design will be ongoing, so don’t be surprised if you are still putting things in your design document in the February half term.
Step 3 – start some simple programming
In your IDE of choice create a new program and give it a name. It’s a simple step, but the first one
If you know some of the tables you need, create them and a few columns
Put in no more than 10 records – you don’t get marks for having hundreds of rows of data – just enough to prove your project works
Then you need to get your program to talk to your database – get that to work with a simple SQL script that executes SELECT * from tblLogin script.
If you are building a website – start with the homepage, and think about a colourscheme and house style
Start to look at menus and page navigation options
Create a simple class that can do something – connect to a database, print to a file, print out a menu to a console
If a windows form, start to build the start form and add your buttons and event handlers
Many students don’t know where to start so they don’t. Always start with a simple, small task that you can achieve. The other steps quickly follow.
In all honesty, if you are going to build a website or webform, you are entering a layer of extra complexity by event driven programming, where things happen in the wrong order.
Keep everything simple by writing a console program – as it’s all about what your program DOES, not what it looks like!
Step 4 – begin your Write Up!
You’ve barely started here, but three are certain sections in your Analysis and design documents that you can start to complete.
In your analysis you can:
Research other programs that do something similar to yours
Find out who is going to be the end user
Work out some of the objectives (THIS IS CRITICAL and will be covered in a later article)
Record your interviews
Start to think about your Data Flow diagram or your system flowcharts
In your Design document you can
Start to identify any tables, key fields, non-key fields
Start to identify any classes, their properties and their methods
Start to look at your UI designs and navigation diagrams.
Step 5 – Keep an Eye on the time!
Let’s work backwards!
Your printed-out project needs to be written up and marked by your school and college.
It then physically needs to be with AQA on May 15th.
Which means your school or college will need to post them by about May 12 to guarantee they meet the deadline.
However, your school also needs to deal with any appeals that you might lodge (if you are not happy with marking). They need to find someone, not linked to your school, get your project to them, allow time for the project to be remarked, and your project to be returned to your school.
This should take about 10 days, so now we are at beginning of May
Your project needs to be marked by your teachers at your school. Each one of these needs to be read, marked and commented on, and will take about 2 weeks.
We are now at Mid April (roughly) which is when your project should be handed in.
However that is usually smack in the middle of the Easter Holidays, so most schools set a deadline of the last day of term
This is the beginning of April.
This is when your project needs to be handed in, finished, printed out. You will not submit your working program, all the evidence that the thing works is in your source code, your testing and your evaluation.
Don’t forget also that your project will be running in the background. It is worth 20% of your A Level, which is why you only sit two exam papers.
At the same time you will be studying your other A levels, as well as the Second Year Computer Science Theory.
If you leave it too late to get started you’ll run into problems.
I hope you found this useful, in other articles, we will go into what is required for the various sections of the final write up, how your project is marked and how to get into the higher mark bands for your writeup!