Unit 18 Procedural Programming
· Aim
To provide learners with an understanding of the principles of procedural programming and to enable them to design and implement procedural programming solutions.
· Unit abstract
Irrespective of framework or delivery platform, the development of procedural code is still at the core of many commercial application development projects. Event driven systems and object oriented platforms all use procedural code for the critical command content of their objects, events and listeners.
This unit allows learners to become familiar with the underpinning principles of procedural programming. Many languages have the capacity to develop procedural code and it is not important which language is chosen for this unit.
Ideally, for learners who are new to programming, this unit would be considered the starting point before progressing onto one (or all) of the many programming units. Whilst the learner is not expected to develop any complex code in this unit, the foundations will enable the development of their programming skills.
· Learning outcomes
On successful completion of this unit a learner will:
- Understand the principles of procedural programming
- Be able to design procedural programming solutions
- Be able to implement procedural programming solutions
- Be able to test procedural programming solutions.
Unit content
1 Understand the principles of procedural programming
Characteristics of programming: low-level languages; high-level languages; generations eg first, second, third, fourth, fifth; programs; applications; instructions; algorithms
Types of language: procedural languages; object-oriented; event-driven; others eg script and mark-up languages; simple overviews and uses
Reasons for choice of language: organisational policy; suitability of features and tools; availability of trained staff; reliability; development and maintenance costs; expandability
Data structures: variables eg naming conventions, local and global variables, arrays (one- dimensional, two-dimensional); file structures; loops eg conditional (pre-check, post-check, break-points), fixed; conditional statements; case statements; logical operators; assignment statements; input statements; output statements
Data types: constants and literals; integer; floating point; byte; date; boolean; others eg character, string, small int; choice of data types eg additional validation, efficiency of storage
Programming syntax: command rules, variable declaration, Standards: use of comments, code layout, indentation
2 Be able to design procedural programming solutions
Requirements specification: inputs, outputs, processing, user interface; constraints eg hardware platforms, timescales for development; units; data; file structures.
Program design: tools eg structure diagrams, data flow diagrams, entity relationship models, flow charts, pseudo code
Technical documentation: requirements specification; others as appropriate to language eg form design, flowcharts, pseudo code, structured English, action charts, data dictionary, class and instance diagrams
3 Be able to implement procedural programming solutions
Modular design: elements eg functions, procedures, method, widgets, Graphical User Interface (GUI) components, symbols
Software structures: as appropriate to language chosen eg iteration, decisions, units, functions, procedures; control structures; conditional commands
Parameters: data types, passing data, return values
Scope of variables: global, local, static, overloaded results, instance
Programming: use of
programming standards; relationship to program design
4 Be able to test procedural programming solutions
Mechanisms: valid declarations, debugging code, checking naming conventions; checking functionality against requirements, error detection, error messages, compiler errors, runtime errors, in code response, dry running
Supportive documentation: test plan; test results; programmer guidance; user guidance; onscreen help
Review: design against
specification requirements, interim reviews
Learning outcomes and assessment criteria
Learning outcomes On successful completion of this unit a learner will: | Assessment criteria for pass The learner can: |
LO1 Understand the principles of procedural programming | 1.1 discuss the principles, characteristics and features of procedural programming |
LO2 Be able to design procedural programming solutions | identify the program units and data and file structures required to implement a given designdesign a procedural programming solution for a given problem |
LO3 Be able to implement procedural programming solutions | select and implement control structures to meet the design algorithmscorrectly use parameter passing mechanismsimplement a procedural programming solution based on a prepared design |
LO4 Be able to test procedural programming solutions | critically review and test a procedural programming solutionanalyse actual test results against expected results to identify discrepanciesevaluate independent feedback on a developed procedural programme solution and make recommendations for improvementscreate onscreen help to assist the users of a computer programcreate documentation for the support and maintenance of a computer program. |
Guidance
Links to National Occupational Standards, other BTEC units, other BTEC qualifications and other relevant units and qualifications
The learning outcomes associated with this unit are closely linked with:
Level 3 | Level 4 | Level 5 |
Unit 6: Software Design and Development | Unit 19: Object Oriented Programming | Unit 35 Web Applications Development |
Unit 14: Event Driven Programming | Unit 20: Event Driven Programming Solutions | Unit 39: Computer Games Design and Development |
Unit 15: Object Oriented Programming | Unit 21: Software Applications Testing | Unit 40: Distributed Software Applications |
Unit 16: Procedural Programming | Unit 22 Office Solutions Development | Unit 41: Programming in Java |
Unit 23: Mathematics for Software Development | Unit 42: Programming in .NET |
This unit has links to the Level 4 and Level 5 National Occupational Standards for IT and Telecoms Professionals, particularly the areas of competence of:
- Software Development.