Filters

Other

D

Your name is required for this document. It is only stored on this local computer and no where else. Please enter your name below:

Higher Computing Science Software Design and Development: Refresher lesson

Knox badge
Higher Computing Science Software Design and Development: Refresher lesson
This is a refresher task, testing many of your skills from National 5 and from before the summer.

You are expected to produce a program that meets the following requirements.

A teacher is storing marks using a CSV file so that they can process them quickly. You can find the CSV file at http://www.bit.ly/42QrrAc.

They need to know which pupils as well as how many pupils have passed a test (60% or above) and who got the highest mark.

Some pseudocode for this is shown below:

1. INITIALISE ALL VARIABLES
2. READ MARKS IN FROM CSV FILE INTO PARALLEL ARRAYS
3. ITERATE THROUGH THE MARKS ARRAY
  3.1 CHECK IF PUPIL RECEIVED 60% or above
    3.1.1 INCREASE TOTAL BY ONE
  3.2 IF MAXIMUM AGAINST IS LESS THAN THE PUPIL'S MARKS
    3.2.1 SET MAXIMUM TO PUPIL'S MARKS
4. DISPLAY THE NUMBER OF PUPILS THAT PASSED
5. DISPLAY THE PUPIL WITH THE HIGHEST MARK SHOWING THE FIRST LETTER OF THEIR FORENAME WITH THEIR FULL SURNAME AND MARKS

They have hired you to develop this program.

The program - design

In this first step, you are expected to create a flow chart of this program. Once you have done this, show this to your teacher.

Set up the variables

Set up all initial variables. You may need to come back to this later.

Read the data from the CSV file

Using the CSV file provided, read the CSV file into parallel arrays so that you have three arrays, forenames, surnames and marks.

Do not perform step 3 of the pseudocode here, you should only be reading in the data here.

Go through the marks

Iterate through the results, checking if the pupil got more than 60%. If they did display their full forename and full surname on the screen as shown below:

Wilma Briony passed the test with 85%!

Do not display anything if the user did not pass the test.

Whilst iterating the marks, you can be checking to see if the user's marks are the top marks awarded using an algorithm to find a maximum.

Display the results

Display the results by printing them on the screen.

First, display how many pupils passed the test.

Second, display the first letter of the forename and the entire surname as well as their marks, of the pupil who got the highest mark.

Test and document your program

Test your program by debugging it, and changing the values in the CSV file to ensure it works on any CSV file given.

Ensure you have commented on your code nicely.

Provide Feedback

What did you think of this document?

!
-- DragonDocs version 0.9 --

20.08.2017

Started on DragonDocs
Created a YASS/PHP and HTML-based system for saving and retrieving data

21.08.2017
Added CSS styles to page
Added JavaScript code to the page

02.02.2018
Added the multipage option (used in my dissertation)
Added the XMLHttpRequest-based multipage requests

08.02.2018
Added the Accessibility features
Filters added

10.02.2018
Purple filter added

17.03.2018
Added the Note class
Added the Did You Know class

-- DragonDocs version 1.0 (Yosemite) --

02.10.2019
First trial of DragonDocs in teaching

04.10.2019
Added the Task, Starter, Review your learning sections

07.10.2019
Added the feedback feature
Added the Dark Mode toggle

19.09.2020
Performance gains through the removal of unnecessary code
Added the Learning Intentions and Success Criteria features
Added the school badge

31.09.2021
Changed the headings (h2) to be more consistent with my website
Added sections to the pages - sections must be preceded by a h2
Added the "I have read this section" buttons
Changed the main heading zone to gradient text like my website
Added the table of contents feature

02.02.2022
Added the Print feature
Updated the footer to feature a new gradient
Added the Test It! class
Added the green flag
Automated the table of contents using JavaScript

06.02.2022
Added the 'includes' feature to the document, allowing inclusion of other files easily
Removed the requirement that the IP address must be one of the schools I have taught at, opening these documents to the public

02.03.2022
Once a section has been read or completed, the user can now hide that section

10.10.2022
Added the Extension task class
Changed the scrollbar on Windows to match that of macOS

-- DragonDocs version 2.0 (Kilimanjaro) --

07.08.2023
Added the Save button and the ability to save 'results' or answers to a Word document

12.01.2024
Added the large numbers class
Removed the background of the page navigation

-- DragonDocs version 2.1 (Aurora) --

08.02.2024
Added the active class to active links in the bottom section

09.02.2024
Added the image upload feature

10.02.2024
Added a fix that prevents the upload of non-image files into an image upload
Added pasting images to the upload feature

11.02.2024
Added the ability to view the changelog from a document
Improved the feedback system by recording the DragonDocs User ID and the Document ID data
The feedback from DragonDocs can be accessed much easier

12.02.2024
Added the new step_by_step_mode feature, allowing sections to be viewed individually
Added the ability to lock and unlock DragonDocs

22.02.2024
Added new checkboxes to each list item in a .task or .step
Added functionality to said checkboxes to add a strikeout to steps completed

23.02.2024
Added the new 'step' class
Steps are now auto incremented in CSS so the name displays the step number
Activities are now also auto incremented to display the activity number

25.02.2024
Added the 'matcher' feature to DragonDocs
Fixed an issue in which a closed section would retain it's original height within the document navigation
Added starters and the lesson review to the navigation on the side
The learning intentions and success criteria in teaching documents have now been redesigned to match my slides design

26.02.2024
All buttons are now on the right hand side
The accessibility button now has WAI under it

-- DragonDocs version 2.2 (Serengeti) --

26.02.2024
Code has been rewritten from the ground up to be object-oriented, making additional features easier to add

28.08.2024
Changed the look of grouped multiple choice buttons

06.03.2024
Added the new dragondocs_name feature and the requires_name property which allows names to be prepended to saved documents

09.03.2024
Added code so when the user types in their name and hits the enter key it will save that data and close the modal window
Added the new DragonShow and DragonDocs Link - a connection between both services that allows the presenter to communicate with users of DragonDocs from a DragonShow
Added the new timer option which is sent from DragonShows

04.04.2024
The matcher feature is no longer embed from jamiebalfour.scot but actually a feature of DragonDocs
Made DragonDocs 100% object-oriented, meaning much better management and better performance

05.04.2024
Made subtle changes to the interface to tidy it up a bit

06.04.2024
The multiple choice questions are now also part of the object oriented interface

09.04.2024
As requested, h3 elements are now included in the 'floating navigation'
The active navigation element now becomes bold and the left border has been retired

Time left

: