Unit 41 Programming in Java
· Unit aim
To provide learners with an understanding of the principles of programming in Java, exploring the object oriented nature of the language and the multi-platform versatility offered.
· 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 lifecycles, 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.
Java is synonymous with the object orient paradigm offering all the features of the technology in a format that can be used on many differing systems. The development of systems with Java objects simplifies the task of creating and maintaining complex applications.
Many environments use Java as its ‘underpinning’ framework, with Java applications found on mobile phones, dedicated systems, web-based multimedia, security and control systems as well as traditional applications and bespoke operating systems.
Learners taking this unit will have the opportunity to develop their understanding of the Java programming language and develop code suited to a range of platforms. The unit is not specific to one instance of the Java programming language and may be used to deploy, among others, mobile applications, bespoke applications or web-based solutions.
· Learning outcomes
On successful completion of this unit a learner will:
- Understand the principles of programming in Java
- Be able to design Java solutions
- Be able to implement Java solutions
- Be able to test and document Java solutions.
Unit content
1 Understand the principles of programming in Java
Characteristics: Java Virtual Machine (JVM); Java platform; classed-based; object-oriented; compilers; class libraries; applications; applets; object models; enforced error handling; concurrency; threads, multi-platform
Reasons for choice of language: organisational policy; suitability of features and tools; availability of trained staff; reliability; development and maintenance costs; expandability
Object models: inheritance; polymorphism; encapsulation; public classes; private classes; public methods; private methods
Data structures: public instance variables; private instance variables; naming conventions; 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
Environment: features eg interpreted, run time environment, system specific libraries
Programming syntax: features eg command rules, variable declaration, class/method declaration
Standards: features eg use of comments, code layout, indentation
2 Be able to design Java solutions
Requirements specification: overview eg inputs, outputs, processing, user interface; constraints eg hardware platforms, timescales for development; delivery environment eg mobile, hand-held, web based, desktop; interaction eg data exchange, compliance, compatibility, standards
Program design: tools eg structure diagrams, data flow diagrams, entity relationship models, flow charts, pseudo code, class diagrams, class responsibilities, collaboration cards; inheritance
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 Java solutions
Classes: features eg identification attributes, methods, control of scope of attributes and methods, inheritance, aggregation, association, polymorphism
Programming: use of conventional language commands; use of library classes; pre-defined eg class libraries, downloaded, imported
Complexity: multiple classes; inheritance; reuse of objects; application of polymorphism
4 Be able to test and document Java solutions
Mechanisms: methods eg valid declarations, debugging code, checking naming conventions, checking functionality against requirements, error detection, error messages, compiler errors, runtime errors, in code response, dry running
Feedback: record feedback, eg surveys, questionnaire, interviews; analyze feedback; present results
Supportive documentation: test plan; test results; programmer guidance; user guidance
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 programming in Java | discuss the principles, characteristics and features of programming in Javacritically evaluate the environmental flexibility of programming in Java |
LO2 Be able to design Java solutions | design a Java programming solution to a given problemexplain the components and data and file structures required to implement a given design |
LO3 Be able to implement Java solutions | implement a Java programming solution based on a prepared designdefine relationships between objects to implement design requirementsimplement object behaviours 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 Java solutions | critically review and test a Java programming solutionanalyse actual test results against expected results to identify discrepanciesevaluate independent feedback on a developed Java program solution and make recommendations for improvementscreate user documentation for the developed Java program solutioncreate technical documentation for the support and maintenance of a Java program solution. |
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 39: Computer Games Design and Development |
Unit 14: Event Driven Programming | Unit 19: Object Oriented Programming | Unit 40: Distributed Software Applications |
Unit 15: Object Oriented Programming | Unit 20: Event Driven Programming Solutions | Unit 42: Programming in .NET |
Unit 16: Procedural Programming | Unit 21: Software Applications Testing | |
Unit 22: Office Solutions Development | ||
Unit 23: Mathematics for Software Development |
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.