Unit 20 Event Driven Programming Solutions
· Aim
To provide learners with an understanding of the principles of event driven programming as an underpinning technological concept in the fields of programming and systems development.
· Unit abstract
Unlike traditional programming, where the flow of control is determined by the program structure and the programmers design, the control in event driven programs is largely driven by external events and is often determined by interaction with the user. Typically, the systems involved employ pre-programmed event loops (or listeners) to continually look for information to process.
Event driven programming is a very flexible way of allowing programs to respond to many inputs or events. It is used for all GUI based applications and can be found in web based multimedia as well as mobile technologies.
This unit allows learners to become familiar with the underpinning concepts of event driven programming and subsequently to develop particular skills in one chosen language. A variety of languages have the capacity to develop event driven solutions and it is not important which language is chosen as long as the skills being developed and evidenced relate to the key event driven focus.
As with all programming, a focus on developing solutions to meet identified needs is made along with one that emphasises the importance of testing and reviewing.
· Learning outcomes
On successful completion of this unit a learner will:
- Understand the principles of event driven programming.
- Be able to design event driven programming solutions
- Be able to implement event driven programming solutions
- Be able to test and document event driven programming solutions.
Unit content
1 Understand the principles of event driven programming
Characteristics: key characteristics eg event handlers, listeners, trigger functions, event loops, forms
Features: key features eg flexibility, suitability for Graphical User Interface (GUI) environments, simplicity of programming, ease of development, potential portability
Programming languages: available languages eg Visual Studio .Net environment, Action Script, Java, C++
Development environments: environments eg for a given GUI, Java Runtime, mobile phones, multimedia, web based
2 Be able to design event driven programming solutions
Development: selection eg identification of programming language, identification of programming libraries, selection of development environment
Design methodology: options eg reuse of existing system, adaptation of code, use of open source
Design method: tools eg GUI template, graphical interface, design guides, state and interaction diagrams, screen layouts, data storage event procedures and descriptions, data and file structures
Specification: contents eg input, output, processes, user need, purpose
Creation of application: use of development environment eg mobile, handheld, web based, desktop, dedicated device; debugging delivery environment
Interaction: considerations eg exchange of data with other systems, compliance, compatibility, recognition of standards employed
3 Be able to implement event driven programming solutions
Triggers: types eg key press, alarm, system event, touch screen event, mouse click, external trigger, network event, incoming data, incoming call, Global Positioning Systems (GPS) data change
Tools and techniques: tools eg use of tool boxes and controls, debugging tools; techniques eg selection, loops, event handlers, triggers, listeners, objects and object properties, menus
Data: properties eg variables, data types, declaring variables, scope of variables, constants
Programming: coding eg use of methods, use of ‘traditional coding’ Control structures: types eg subroutines, branching, interrupts, signals Complexity: multiple events; user interaction
Errors: handling eg management of extremes, use of system imposed statements
IDE: typical elements eg source code editor, compiler, interpreter,
build automation tools, debugger
4 Be able to test and document event driven programming solutions
Testing: mechanisms eg valid declarations; debugging code; comment code; naming conventions; checking functionality against requirements; documentation
Impact testing: types eg range testing, input testing, load testing, system compatibility
Onscreen help: methods eg pop-ups, help menu, hot-spots
Documentation: technical documentation to include eg designs, delivery system,
platform, environment, file structures, coding, constraints, maintenance
requirements
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 event driven programming | 1.1 discuss the principles, characteristics and features of event driven programming |
LO2 Be able to design event driven programming solutions | design an event driven programming solution to a given problemidentify the screen components and data and file structures required to implement a given design |
LO3 Be able to implement event driven programming solutions | implement an event driven solution based on a prepared designimplement event handling using control structures to meet the design algorithmsidentify and implement opportunities for error handling and reportingmake effective use of an Integrated Development Environment (IDE) including code and screen templates |
LO4 Be able to test and document event driven programming solutions | critically review and test an event driven programming solutionanalyse actual test results against expected results to identify discrepanciesevaluate independent feedback on a developed event driven 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 18: Procedural Programming | Unit 35: Web Applications Development |
Unit 14: Event Driven Programming | Unit 19: Object Oriented Programming | Unit 39: Computer Games Design 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.