ASSIGMENT PROCEDURAL PROGRAMMING, Summaries of Software Engineering

ASSIGMENT ASSIGMENT ASSIGMENT ASSIGMENT ASSIGMENT V V ASSIGMENT

Typology: Summaries

2020/2021

Uploaded on 11/12/2021

nguyen-quoc-hung-fgw-hcm
nguyen-quoc-hung-fgw-hcm 🇻🇳

1 document

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
aAssignment 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
procedural programming
M1 Discuss on characteristics
and features of procedural
programming
D1 Critically evaluate the
design of your solution
against the
characteristics and
features of procedural
programming.
P2 Identify the program units
and data and file structures
required to implement a
given design
M2 Review the design of a
procedural programming
solution.
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download ASSIGMENT PROCEDURAL PROGRAMMING and more Summaries Software Engineering in PDF only on Docsity!

aAssignment 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 procedural programming M1 Discuss on characteristics and features of procedural programming D 1 Critically evaluate the design of your solution against the characteristics and features of procedural programming. P2 Identify the program units and data and file structures required to implement a given design M2 Review the design of a procedural programming solution. 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 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.

It is also a numeric data type used to store numbers that may have a fractional component, like monetary values do (707.07, 0.7, 707.00). Please note that number is often used as a data type that includes both int and float types. Character (char) It is used to store a single letter, digit, punctuation mark, symbol, or blank space. String (str or text) It is a sequence of characters and the most commonly used data type to store text. Additionally, a string can also include digits and symbols, however, it is always treated as text. A phone number is usually stored as a string (+1- 999 - 666 - 3333) but can also be stored as an integer (9996663333). Boolean (bool) It represents the values true and false. When working with the boolean data type, it is helpful to keep in mind that sometimes a boolean value is also represented as 0 (for false) and 1 (for true). Enumerated type (enum) It contains a small set of predefined unique values (also known as elements or enumerators) that can be compared and assigned to a variable of enumerated data type. The values of an enumerated type can be text-based or numerical. In fact, the boolean data type is a pre-defined enumeration of the values true and false. For example, if rock and jazz are the enumerators, an enumerated type variable genre can be assigned either of the two values, but not both. Assuming that you are asked to fill in your preferences on a music app and are asked to choose either one of the two genres via a dropdown menu, the variable genre will store either rock or jazz. With enumerated type, values can be stored and retrieved as numeric indices (0, 1, 2) or strings. Array Also known as a list, an array is a data type that stores a number of elements in a specific order, typically all of the same type. Since an

Data Structures

A data structure is a collection of data type ‘values’ which are stored and organized in such a way that it allows for efficient access and modification. In some cases a data structure can become the underlying implementation for a particular data type. For example, composite data types are data structures that are composed of scalar data types and/or other composite types, whereas an abstract data type will define a set of behaviours (almost like an ‘interface’ in a sense) for which a particular data structure can be used as the concrete implementation for that data type. When we think of data structures, there are generally four forms: 1.Linear: arrays, lists 2.Tree: binary, heaps, space partitioning etc. 3.Hash: distributed hash table, hash tree etc. 4.Graphs: decision, directed, acyclic etc. Note: for a more complete reference, please see this Wikipedia article. Let’s now take a look at the properties that make up a few of the more well known data structures.

Loop statements:

1 while loop Repeats a statement or group of statements while a given condition is true. It tests the condition before executing the loop body. 2 for loop Executes a sequence of statements multiple times and abbreviates the code that manages the loop variable. 3 do...while loop It is more like a while statement, except that it tests the condition at the end of the loop body.

Example For Loop:

Example While:

Example: Do…While

P3: Design a procedural programming solution

for a given problem

What is a Flowchart?

A flowchart is a graphical representations of steps. It was originated from computer science as a tool for representing algorithms and programming logic but had extended to use in all other kinds of processes. Nowadays, flowcharts play an extremely important role in displaying information and

Show All Information:

Show Lowest Grade:

Show Highest Grade:

The Project Management Institute (PMI) Project Management Book of Knowledge (PMBOK) defines the Work Breakdown Structure as a “deliverable oriented hierarchical decomposition of the work to be executed by the project team.” There are two types of WBS: 1) Deliverable-Based and 2) Phase-Based. The most common and preferred approach is the Deliverable-Based approach. The main difference between the two approaches are the Elements identified in the first Level of the WBS.

A WBS to breakdown a problem into small ones:

WBS Components The parts of the WBS include: Tasks – a number, ID, title, and description of each task. Task Owner – who is responsible for completing the task. Task Dependency and Predecessors – linking two tasks together if one depends on the completion of the other. Start and Finish Date of Task – estimates the time each task will take and ultimately the entire project. Duration – how long will each task take on the calendar (usually number of days or hours). Work Estimate – how many hours/days of work are required to complete the task (combining all resource hours together if working in parallel). Task Status – whether each task is assigned to an owner/resource, started, in progress, late, complete, etc. Gantt Chart – a visualization of the WBS with tasks represented graphically over time

Explain:

D1 Critically evaluate the design of your solution against

the characteristics and features of procedural programming.

Advantages and Disadvantages of Procedural Programming Procedural Programming comes with its own set of pros and cons, some of which are mentioned below. Advantages 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 The program flow can be tracked easily Disadvantages The program code is harder to write when Procedural Programming is employed The Procedural code is often not reusable, which may pose the need to recreate the code if is needed to use in another application Difficult to relate with real-world objects The importance is given to the operation rather than the data, which might pose issues in some data- sensitive cases The data is exposed to the whole program, making it not so much security friendly There are different types of programming paradigm as we mentioned before, which are nothing but a style of programming. It is important to understand that the paradigm does not cater to a specific language but to the way the program is written. Below is a comparison between Procedural Programming and Object-Oriented Programming.

References :

  1. hackr.io.What is Procedural Programming? https://hackr.io/blog/procedural- programming ( 30/10/2021)
  2. hackr.io. Discuss key features of procedural programming. https://hackr.io/blog/procedural-programming (30/10/2021)
  3. knowledgeboat.Characteristics of procedural programming. https://www.knowledgeboat.com/question/what-are-the-characteristics-of- procedural-programming--28311496451138200/ (30/10/2021.
  4. dataled.Data type https://dataled.academy/guides/data-types/ ( 30/10/2021)
  5. adeaca .A WBS to breakdown a problem into small ones. https://www.adeaca.com/blog/faq-items/what-is-a-work-breakdown-structure/ (30/10/2021)
  6. workbreakdownstructure. What is WBS?. https://www.workbreakdownstructure.com/ (30/10/2021)
  7. math.libretexts. Conditional statements. https://math.libretexts.org/Bookshelves/Mathematical_Logic_and_Proof/Book%3A_ Mathematical_Reasoning__Writing_and_Proof_(Sundstrom)/1%3A_Introduction_to _Writing_Proofs_in_Mathematics/1.1%3A_Statements_and_Conditional_Statement s (30/10/2021)
  8. visual-paradigm.What is a Flowchart? https://www.visual- paradigm.com/tutorials/flowchart-tutorial/ ( 1/11/2021)
  9. tutorialspoint.Loop Statement. https://www.tutorialspoint.com/cprogramming/c_loops.htm (1/11/2021)
  10. hackr.io.Advantages and Disadvantages of Procedural programming https://hackr.io/blog/procedural-programming/ (1/11/2021)