You are on page 1of 9

Assignment Brief 1 (RQF)

Higher National Certificate/Diploma in Computing

Unit Number and Title Unit 0: IT Fundamental & Procedural Programming


Academic Year 2021
Unit Tutor
Assignment Title Analysis and Design a solution for procedural programming problem
Issue Date
Submission Date
IV Name & Date

Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO1 Understand the principles of procedural programming


LO2 Be able to design procedural programming solutions

P1 Provide an introduction to M1 Discuss on characteristics D1 Critically evaluate the


procedural programming and features of procedural design of your solution
programming against the characteristics
and features of
P2 Identify the program units M2 Review the design of a procedural programming.
and data and file structures procedural programming
required to implement a given solution.
design

P3. Design a procedural


programming solution for a
given problem

Assignment Brief
Scenario:
A math teacher wants to manage grades of a class. He asks you to help him to write a small
application to do that. He needs to enter student IDs, student’s grades and store these
information into 2 separate arrays (integer array for IDs and float array for grades). Then
he needs to print all student IDs together with their grades. Finally, he needs to know

1
which student has highest grade and lowest grade. Your program should be menu based
with the options above. When an option is done, the program should go back to the main
menu so he can choose another option. There should be an option to quit program.
Task 1
To prove your programming ability to be appointed to this small project, please prepare
an illustrated guide on programming in general and a particular emphasis on procedural
programming. Here you will need to include introduction to computer programming
languages and discuss key features of procedural programming.
Task 2
Your next task is to do the analysis for the scenario mentioned above by doing the
following subtasks
• Identify the variables and data types required in the program.
• Identify and describe 2 different selection structures, including the condition(s) to
check; state why they are needed and where they can be used in the context of the
scenario.
• Identify and describe any iteration constructs.
• Split the program into functions (sub-functions) and draw a hierarchy diagram to
illustrate the structure of your program.

Task 3
You need to use a drawing tool to draw design diagram for your program, includes:
• A use case diagram for actions required
• Flow chart diagrams for: menu operation, printing IDs and grades, finding max
grade and finding min grade.
• Review / evaluate your design, state clearly pros vs cons and which needs to
improve, using characteristics of procedural programming as bases to discuss.

Write a report for 3 tasks above and submit the report to CMS in PDF format.

Submission Format
The submission is in the form of an individual written report. This should be written in a
concise, formal business style using single spacing and font size 12. You are required to make
use of headings, paragraphs and subsections as appropriate, and all work must be supported
with research and referenced using the Harvard referencing system. Please also provide a
bibliography using the Harvard referencing system.

2
Contents
Assignment Brief 1 (RQF) ............................................................................................ 1
Higher National Certificate/Diploma in Computing ........................................ 1
P1 Provide an introduction to procedural programming ............................ 4
P2 Identify the program units and data and file structures required to
implement a given design ........................................................................................... 5
P3. Design a procedural programming solution for a given problem .... 6
References .......................................................................................................................... 9

3
P1 Provide an introduction to procedural programming
• General concepts:
- “Procedural Programming may be the first programming paradigm that a new
developer will learn. Fundamentally, the procedural code is the one that directly
instructs a device on how to finish a task in logical steps. This paradigm uses a
linear top-down approach and treats data and procedures as two different
entities. Based on the concept of a procedure call, Procedural Programming
divides the program into procedures, which are also known as routines or
functions, simply containing a series of steps to be carried out. Simply put,
Procedural Programming involves writing down a list of instructions to tell the
computer what it should do step-by-step to finish the task at hand.”[1]

• Characteristics

- “Procedural Programming is excellent for general-purpose programming ,the coded


simplicity along with ease of implementation of compilers and interpreters, a large
variety of books and online course material available on tested algorithms, making
it easier to learn along the way, the source code is portable, therefore, it can be
used to target a different CPU as well,the code can be reused in different parts of
the program, without the need to copy it, through Procedural Programming
technique, the memory requirement also slashes and the program flow can be
tracked easily...”[2]

Problem statement:
A math teacher wants to manage grades of a class. He asks you to help him to write a small
application to do that. He needs to enter student IDs, student’s grades and store these
information into 2 separate arrays (integer array for IDs and float array for grades). Then he
needs to print all student IDs together with their grades. Finally, he needs to know which
student has highest grade and lowest grade. Your program should be menu based with the
options above. When an option is done, the program should go back to the main menu so
he can choose another option. There should be an option to quit program.

4
P2 Identify the program units and data and file
structures required to implement a given design

• Identify the variables and data types required in the program.


- In the program there are variables string. Data types float and integer
• Identify and describe 2 different selection structures, including the
condition(s) to check; state why they are needed and where they can
be used in the context of the scenario.
- float and integer data types are very necessary in the program because these
two data types will be the best choice in the program because it does not take
up too much memory but still fulfils the job well. In the program, there are 2
variables that are the score and the student's ID because the float data type is
very necessary because it will store non-integer numbers in the grade and the
integer data type will store integers in the student ID.
• Identify and describe any iteration constructs.
- in the teacher-request program when a request is completed, the program
returns to the main menu where the teacher can select another option. so
must use loop because without loop the program will end and can't go back to
the main menu as requested by the teacher.
• Split the program into functions (sub-functions) and draw a hierarchy
diagram to illustrate the structure of your program

1.1 Display Menu


1. Show Menu
1.2 Select An Option
Point Management

2.1 Input Student's Name

2.2 Store Student's Name


2. Input
Information
2.3 Input Student's Grade
3. Print All
Information
2.4 Store Student's Grade

4.1 Find Lowest Grade

4. Show Statistics 4.2 Find Highest Grade

4.3 Display Lowest And Highest Grade

5
P3. Design a procedural programming solution for a
given problem
• A use case diagram for actions required

use case 1

• Flow chart diagrams for: menu operation, printing IDs and grades, finding max grade
and finding min grade.

flowchart 1 menu operation

6
flowchart 3 printing IDs and grades

flowchart 2 finding max grade and finding min


grade.

7
• Review / evaluate your design, state clearly pros vs cons and which
needs to improve, using characteristics of procedural programming as
bases to discuss.
- This program is not perfect in my opinion. The advantage can be fast operation
because of using data types that use less memory, simple usage. The
disadvantage in my opinion is still a bit lengthy, what needs to be improved is
to reduce user manipulation but still give a complete and accurate result.

8
References
[1] Sagar Bhatia,2021, What is Procedural Programming? Available at:
https://hackr.io/blog/procedural-programming
[2] Sagar Bhatia,2021, Advantages and Disadvantages of Procedural Programming
Available at: https://hackr.io/blog/procedural-programming

You might also like