Application
This unit applies to programmers who are required to develop program code.
Programming languages form the underpinning software infrastructure of all computer data processing. It is important that the stages of the development methodology are followed within the scope of any project or scenario, and the relevant supporting documentation produced.
Prerequisites
Not applicable.
Elements and Performance Criteria
1. Code using advanced data structures | 1.1 Design dynamic data structures 1.2 Implement and use dynamic data structures, including double-linked lists and binary trees for coding |
2. Code using advanced algorithms | 2.1 Code using hashing techniques 2.2 Consider and record the advantages and disadvantages of at least three sorting algorithms 2.3 Code at least one sorting algorithm 2.4 Code advanced searching techniques for use with complex data structures |
3. Write simple multi-process application | 3.1 Demonstrate use of the features of the language that enable inter-process communication through at least one mechanism 3.2 Demonstrate use of features of the language that allow for operating system ‘signals’ to be captured and responded to |
4. Use third-party libraries | 4.1 Use a third-party library in the construction of an application 4.2 Reference third-party documentation 4.3 Use procedural techniques to write an application to work within a graphical user interface (GUI) environment |
5. Debug code | 5.1 Use integrated development environment (IDE) debugging facilities or a stand-alone debugger 5.2 Use program debugging techniques to detect and resolve errors of syntactical, logical and design origin |
6. Document activities | 6.1 Demonstrate use of source code version control 6.2 Demonstrate adherence to guidelines for developing maintainable code and to a set of provided coding standards 6.3 Apply suitable internal documentation to all code created using documentation tools available in the target language |
7. Test code | 7.1 Design and document tests to be undertaken 7.2 Undertake limited testing of produced code to ensure it complies with program specification 7.3 Capture test results |
8. Create an application | 8.1 Develop a solution from a program specification design document 8.2 Design the algorithm, and construct and test applications in response to a problem description and language |
Required Skills
Required skills
analytical skills to read and interpret program specifications
literacy skills to write technical documentation
problem-solving skills to solve bugs in program code
technical skills to:
debug, program and test code in specified language
use an IDE
work with version control.
Required knowledge
detailed knowledge of:
range of programming languages
languages in a GUI environment
techniques for developing large scale applications
procedures for programming with complex data structures
procedures for using third-party supplied library for standard programming features.
Evidence Required
The evidence guide provides advice on assessment and must be read in conjunction with the performance criteria, required skills and knowledge, range statement and the Assessment Guidelines for the Training Package.
Overview of assessment | |
Critical aspects for assessment and evidence required to demonstrate competency in this unit | Evidence of the ability to: design application programs using a range of tools to support programming activities produce design documentation for these programs build application programs according to the design document these programs conduct testing procedures on these programs to ensure validity analyse test results to determine program’s accuracy. |
Context of and specific resources for assessment | Assessment must ensure access to: software development environment technical requirements appropriate learning and assessment support when required modified equipment for people with special needs. |
Method of assessment | A range of assessment methods should be used to assess practical skills and knowledge. The following examples are appropriate for this unit: evaluation of candidate’s program response to specifications review of candidate design, program and testing documentation verbal or written questioning to determine candidate’s knowledge of: user requirements programming techniques testing techniques. |
Guidance information for assessment | Holistic assessment with other units relevant to the industry sector, workplace and job role is recommended, where appropriate. Assessment processes and techniques must be culturally appropriate, and suitable to the communication skill level, language, literacy and numeracy capacity of the candidate and the work being performed. Indigenous people and other people from a non-English speaking background may need additional support. In cases where practical assessment is used it should be combined with targeted questioning to assess required knowledge. |
Range Statement
The range statement relates to the unit of competency as a whole. It allows for different work environments and situations that may affect performance. Bold italicised wording, if used in the performance criteria, is detailed below. Essential operating conditions that may be present with training and assessment (depending on the work situation, needs of the candidate, accessibility of the item, and local industry and regional contexts) may also be included.
Dynamic data structures may include: | binary trees double-linked lists. |
Mechanism may include: | pipes sockets. |
Integrated development environment may include: | C Code Warrior Eclipse J-Edit VB Visual C++ Visual Studio suite. |
Coding standards may include: | C coding standard GNU. |
Language may include: | C C++ Java Small Talk VB VB.NET. |
Sectors
Programming and software development
Employability Skills
This unit contains employability skills.
Licensing Information
No licensing, legislative, regulatory or certification requirements apply to this unit at the time of endorsement but users should confirm requirements with the relevant federal, state or territory authority.