CS-110
Your task is to write a (very simple:-) student record system. You should be able to store details
about students - their name, subject and a student number; as well as the level they have most
recently completed ranging from 0 (meaning they are still in the first year) through to 3 (meaning
they have graduated). It should also store their result for each level they have completed as a
number 0-100. Your program should allow the user to enter student data for as many students as
they want. When they finish entering data, it should print out in a ‘nice’ way the data of all the
students entered so far, including their average mark over all the levels they have completed.
There is no need to store data once your program is finished - you don’t need to worry about files,
or databases (we have not done either in this module).
Strategy and Advice
1. The point of this coursework is for you to start working with classes and objects. So you must
use a separate class to represent the student data.
2. Your first task is to define a Student class - the way to do this is to think of all the data that the
class must contain (hint: it’s all listed in the first paragraph:-) and then to work out what methods
you need to set and access that data; as well as calculate any additional information you need.
3. Remember it may not be appropriate to be able to set and get all data - some you may only want
set initially when you create a student object and not change later.
4. Remember also that some data you might not want to store but to calculate when you need it.
5. Think carefully about the Student class. The methods you define for it are going to be the only
way you can access and manipulate the students’ data (if you define them properly). So make
sure you consider them thoroughly.
6. Also, the Student class should only deal with storing, representing and calculating data about a
student - not anything else.
7. Once you have worked out what methods you need for the student class, you need to actually
write them. There are going to be quite a few (it will depend exactly on how you approach the
problem) but they should all be very short.
8. Finally, you need to define another class – the one that will contain the main method - that reads
student data from the user, creates new Student objects, and stores them somehow. You could
store them in an array – but remember that the task says that the user can enter as many
students as they want. So you might want to consider using an ArrayList instead.
9. The biggest area for confusion is level. Remember the number you store represents the
level they have completed. So 0 means they are in Level 1 (not Level 0 - there is no Level
0 here:-); Level 1 means they are in Level 2 and have completed Level 1, and so on.
10.The second biggest area of confusion is not understanding that there is a mark for each
level - not just one overall mark.
11.The biggest area where people fall down generally is not learning the lessons from the
first coursework.
12.One of the slightly tricker things to handle is how to access the data for the students’ results for
each level. The ‘obvious’ way is to have a method returning the data for each level - but there is
a better way to do it by thinking about parameters:-)
13.Another slightly tricky thing – also to do with results – is that, depending on what level a student
is in, they may not actually have results for every level. So you need some way to check before
you try to access data that does not exist.
14.(In fact, it would be good practice in all cases to try to ensure that if any parts of the data for a
student are missing, your program does not fail.)15.While I don’t want to encourage anyone to leave coursework to the last minute, I will – as
before – be going over material relevant to this coursework over the next two weeks.
16.Come and ask me questions if you have them (people don’t ask enough questions.…)
17.If you want to extend the problem and do more you can but in this case there are no specific
marks for that and please make sure your solution still complies with the description in the first
paragraph.
How Will This Be Marked
As with the last coursework, this one will be assessed against the assessment rubric on
Blackboard. The threshold needed to reach each level will be somewhat higher - however, this is
mostly to do with trying to get you to learn the lessons from coursework 1!
Submission
You must submit this work by 11.00 on December 8th 2013 via Blackboard. The standard College
penalty of zero tolerance for late submissions will be applied. If you submit late and believe you
have extenuating circumstances then you need to contact me as soon as you can. However, no
marks will be awarded to work submitted after the solutions have been released in any
circumstances. Marked work with feedback will be returned electronically on or by 22nd December
2012 (this is after the end of term but you will be able to access your mark and feedback via
Blackboard).