unit 19:object oriented programme

Unit 19: Object Oriented Programming 

Unit code:K/601/1295

QCF Level 4:BTEC Higher National

Credit value:15


To provide learners with an understanding of the principles of object oriented programming as an underpinning technological concept in the field of programming, data management and systems development.

Unit abstract

Object oriented programming is an industry-proven method for developing reliable modular programs and is popular in software engineering and systems development. Consistent use of object oriented techniques can lead to shorter development life cycles, increased productivity, adaptable code, reuse of different technologies, the interaction of different systems using common platforms and therefore lower the cost of producing and maintaining systems.

The development of systems with objects simplifies the task of creating and maintaining complex applications. Object oriented programming is a way of modelling software that maps programming code to the real world.

In terms of impact, object oriented technology can be found in many systems, from commercial operating systems to mobile phones and in many multimedia applications. The majority of ;programming languages are object oriented in focus, with the exceptions preferring to offer specialist programming resources. It is dominant in Visual Studio, C++, Java, the Microsoft .Net environment, Action Script and many other systems.

Learners taking this unit will have the opportunity to develop their understanding of the object oriented paradigm and develop code suited to a range of platforms using the object oriented methodology.

Learning outcomes

On successful completion of this unit a learner will:

1     Understand the principles of object oriented programming

2     Be able to design object oriented programming solutions

3     Be able to implement object oriented programming solutions

4     Be able to test and document object oriented programming solutions.


Unit content

1     Understand the principles of object oriented programming

Characteristics of objects: types eg constructors, destructors; classification; features eg inheritance, polymorphism, encapsulation, public classes, private classes, public methods, private methods, message passing; interpreted, open source, common libraries

Variables: public instance variables; private instance variables; static references

Software engineering: features eg modularity, encapsulation, reuse, method overloading, instance variables, classes, abstract classes, interfaces

Classes: characteristics eg identification attributes, control of scope of attributes and methods, inheritance, aggregation, association, polymorphism

2     Be able to design object oriented 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 class responsibilities collaboration cards, class diagram, identification of dependencies and inheritances, data and file structures.

System delivery: style eg scripted, interpreted, compiled

Programming platform: types eg GUI, script, command line

Delivery environment: types eg mobile, handheld, web based, desktop, dedicated device

Interaction: considerations eg exchange of data with other systems, compliance, compatibility, recognition of standards employed

Design refinement: clarification of a design using principles of maximum coherence and minimum coupling between the classes

3     Be able to implement object oriented programming solutions

Coding: use of conventional language commands; pre-defined eg class library, downloaded, imported, reversion code

Control structures: types eg subroutines, branching, iteration, interrupts, signals

Complexity: inclusion of eg multiple classes, application of inheritance in created code, reuse of objects

IDE: typical elements eg source code editor, compiler, interpreter, build automation tools, debugger

4     Be able to test and document object oriented programming solutions

Testing: mechanisms eg valid declarations, debugging code, comment code, naming conventions, checking functionality against requirements; documentation

Errors: handling eg management of extremes, use of system imposed statements

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 requirement

Learning outcomes and assessment criteria

Learning outcomes

On successful completion of this unit a learner will:

Assessment criteria for pass

The learner can:


Understand the principles of object oriented programming

1.1 discuss the principles, characteristics and features of objected oriented programming


Be able to design object oriented programming solutions

2.1 identify the objects and data and file structures required to implement a given design

2.2 design an object oriented programming solution to a given problem


Be able to implement object oriented programming solutions

3.1 implement an objected oriented solution based on a prepared design

3.2 define relationships between objects to implement design requirements

3.3 implement object behaviours using control structures to meet the design algorithms

3.4 make effective use of an Integrated Development Environment (IDE), including code and screen templates


Be able to test and document object oriented programming solutions

4.1 critically review and test an object orientated programming solution
4.2 analyse actual test results against expected results to identify discrepancies

4.3 evaluate independent feedback on a developed object oriented programme solution and make recommendations for improvements
4.4 create onscreen help to assist the users of a computer program

4.5 create documentation for the support and maintenance of a computer program.


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 20: Event Driven Programming Solutions

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.

Essential requirements

Many of the object oriented programming languages are free and accessible. Centres may need to ensure that in the case of mobile platforms the applicable free emulators are available or where security policies dictate, local workstations are equipped with virtualised operating systems containing the programming.

Learners must have access to facilities, which allow them the opportunity to fully evidence all of the criteria of the unit. If this cannot be guaranteed then centres should not attempt to deliver this unit.




Kaldahl B EZ Flash MX: Animation, Action Script and Gaming for Macromedia Flash (Trafford Publishing, 2004) ISBN 1412006171

Lemay L and Cadenhead R Sams Teach Yourself Java 2 in 21 Days, 4th Edition (Sams, 2004) ISBN 0672326280

Schildt H C++: A Beginner’s Guide, 2nd Edition (McGraw-Hill Education, 2003) ISBN 0072232153

Templeman J and Olson A Microsoft Visual C++ .NET Step by Step: Version 2003 (Microsoft Press US, 2003) ISBN 0735619077




Employer engagement and vocational contexts

Working with a local programming-based organisation or using internet-based open source projects would enhance the learners’ experience and offer a relevant vocational context.