Choral Shield Coursework

  • Peter Thoresen

    The supplementary files for the Choral Society task now includes the database (for Microsoft Access only), so I finally got around to trying to complete the task.

    My numbers seemed too big, so I looked a bit closer…

    The random orders spreadsheet creates 500 orders across 3 nights, 3 areas per night, with from 1 to 10 tickets per order.

    This means approx 55 orders per area, with a random average of 5.5 tickets per order = 302 tickets per area each night.

    However each area only has 200 seats.

    One of the options is create a report showing the number of free seats left in each area on Friday night!

    Clear evidence that noone actually tries these tasks out themselves before it is sent to schools.

    That said, this database task is so much easier than the Diving Championship.

    Mrs Janet McDonald

    I’ve tried the programming bit of the task – haven’t got to the database bit yet. I’ve also come across a couple of issues:

    1) the task says that the sample data files list ticket orders as either “S” for tickets bought from the school office or “W” for tickets bought from the website. If you look at the sample data files, they actually use “O” (online?) for tickets bought from the website.

    2) there are 4 files of sample data and you get each in 3 different formats; excel, csv and txt. They are all numbered (Eg Excel1, csv1, txt1)… but they don’t actually match up. The data in the excel files has been generated using random number functions… so everytime you open one of the Excel files you get a different set of data from that which you had before. You have to use the csv files (where the data is fixed) if you want to (as I did) use excel functions to check if the results of your program are correct. And what was the point in 4 versions of the same Excel file that all regenerate everytime you open them? (a quick copy and ‘paste values’ would have solved the problem)

    Totally seperate notes;
    1) I’m using python and I’m struggling to format the output as per the task sheet (bold / underlined / centred) – any suggestions, or does it matter?

    2) The task as for a user interface design… doesn’t seem to require much in the way of a user interface… especially not in a language like python. What are others looking for from pupils here?

    Scott McBride

    I am currently working through Choral and haven’t even looked at the others. Like you, I noticed the W 0r O issue. I will be using the word version of the Assignment and changing the tasks rather than the csv etc.

    I cannot comment on the Python as i am using Visual Basic 2013. sorry.

    On a plus point, I am enjoying it more then the Nat 5 Assignment and the old Higher coursework.

    Mrs Janet McDonald

    Update on the python problems…

    I’ve cracked the centring and fudged the underlining… still can’t print in bold tho’… Any suggestions gratefully received. I’ve googled it but the solutions I’ve found there don’t work!

    …still don’t see that a user interface design is going to amount to much – even in VB it would only be a form, a picture box and 1or2 buttons wouldn’t it?!


    Peter Thoresen

    There is no mention of formatted output in any of the course assessment specifications for N4/N5/H.

    As such I would not expect pupils to be underlining, emboldening or centring unless the program environment makes this very simple. Otherwise the task will be disadvantaging many pupils for an aspect of programming that is not a required part of the course.

    For interface design with Python I normally expect to see how the program displays prompts, handles invalid inputs, etc. As this program has no interaction with user, the interface design is incredibly simple – the summary content of the data, and possibly a “Friday data saved to …”

    Of course, a pupil could design their program to ask for the names of the files to be imported/exported,to check for file existence, and/or valid data as it is read from the file. However as this is not a required part of the task I would steer them away from adding unnecessary complexity.

    Scott McBride

    I have just ran the query asking ‘how many seats are left in each area’ and I am a minimum of 140 seats double booked. Not a very sensible system……Sounds like British Airways….

    I shall ask them to avoid that query as it makes no sense.

    Apart from that it is fairly straight forward.

    The program was completed in VB2013 and it is complicated to read in a comma separated document. This will need to be heavily supported by myself to make it possible for all.

    I have avoided all formatting in the output.

    Susan Thomson

    I am about to start using this assignment with my Higher class. I have managed to work around all the issues with the incorrect data in the files. The only thing I am stuck with now is what the pupils are expected to write with regards to the information to be supplied to the foyer display screen (see bottom of pages 11 and 12). Is it just about converting the report into a standard file format for using it with the foyer display screen? Or is it something else?

    Susan Thomson

    Scott McBride


    I have worked through the solution and i just said something like, the live data could be included in a simple webpage that would be displayed on a monitor….

    I really do not have a clue what to put for that. That will mean that the screen will be live without having to create a report?

    I also just left in the fact that it will be over-booked be about 100% on one of the queries.

    Susan Thomson

    Hi Scott

    Many thanks for this. I suppose the pupils could say that the database could be linked to a webpage dynamically so that the information is always up to date. I have no idea what the relevance of the report is…unless it simply means that the data will be displayed on the web page using the report layout?

    With regards to the excess orders in the files, I was planning to tell the pupils to assume that each area has 400 seats, rather than 200, so that the numbers from the files will make more sense. I don’t have time to create new files to work with. It would be great if the SQA could clarify these issues for us, I have wasted so much time trying to get this assessment to work for myself,before the kids go near it!

    Thanks again. Your input is much appreciated.


    Susan Thomson

    One more problem…How would you do normal, extreme and exceptional testing on the Choral Shield program?

    My thoughts…

    Normal – Run it with one of the supplied files. Calculate what the totals (booking methods and grand total) should be manually, and compare them to the outputs (although manual calculation is rather time-consuming)

    Extreme – stuck with this one!

    Exceptional – Delete the final entry from one of the files and see how robust the program is? – it crashes!

    Any ideas on how to approach this would be appreciated.


    Ray Krachan


    What I did for testing was to get the pupils to load up 4 different files, to show that the results are different, and the most popular method is accurate.

    Some created their own text file with simple data like 10 ‘online’ tickets for a Thursday, so they are able to easily calculate what the result should be.

    Scott McBride

    It’s very difficult to do the regular test table of normal, extreme and exceptional.

    I created a spreadsheet to calculate one of the files and produce same calculations as program. I only did this as I wanted to be sure my solution had worked.

    Like Ray said, it would be a good idea for the kids to make up some simple test data files and run them, maybe 10 entries?

    In relation to your post about the overbooking. I see no reason for you to change it. Just get them to create query as it is just the data supplied……. Not all of them will do it as they only have to do some of the queries… Airlines overbook all the time, it’s a teaching point, some real world issues….

    I am not even doing new higher this year and I am already stressed…

Viewing 12 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic.