Programming Fundamentals
Software Development
Key | Description | Reference |
---|---|---|
PF-SD-01 | Explore fundamental software development steps used by programmers when designing software | SDLC |
PF-SD-01.1 | requirements definition | |
PF-SD-01.2 | determining specifications | |
PF-SD-01.3 | design | |
PF-SD-01.4 | development | |
PF-SD-01.5 | integration | |
PF-SD-01.6 | testing and debugging | |
PF-SD-01.7 | installation | |
PF-SD-01.8 | maintenance | |
PF-SD-02 | Research and evaluate the prevalence and use of online code collaboration tools |
Designing Algorithms
Key | Description | Reference |
---|---|---|
PF-DA-01 | Apply computational thinking and algorithmic design by defining the key features of standard algorithms, including sequence, selection, iteration and identifying data that should be stored | |
PF-DA-02 | Apply divide and conquer and backtracking as algorithmic design strategies | |
PF-DA-03 | Develop structured algorithms using pseudocode and flowcharts, including the use of subprograms | |
PF-DA-04 | Use modelling tools including structure charts, abstraction and refinement diagrams to support top-down and bottom-up design | |
PF-DA-05 | Analyse the logic and structure of written algorithms | |
PF-DA-05 | determining inputs and outputs | |
PF-DA-05 | determining the purpose of the algorithm | |
PF-DA-05 | desk checking and peer checking | |
PF-DA-05 | determining connections of written algorithms to other subroutines or functions | |
PF-DA-06 | Identify procedures and functions in an algorithm | |
PF-DA-07 | Experiment with object-oriented programming, imperative, logic and functional programming paradigms | Programming Paradigms |
Data for Software Engineering
Key | Description | Reference | Comment |
---|---|---|---|
PF-DSA-01 | Investigate the use of number systems for computing purposes, including binary, decimal and hexadecimal | Data Types | |
PF-DSA-02 | Represent integers using two’s complement | Data Types | |
PF-DSA-03 | Investigate standard data types | Data Types | |
PF-DSA-03.01 | char (character) and string | Data Types | |
PF-DSA-03.02 | Boolean | Data Types | |
PF-DSA-03.03 | real | Data Types | There is no real data type. float, double is the closest you get in any language |
PF-DSA-03.04 | single precision floating point | Data Types | |
PF-DSA-03.05 | integer | Data Types | |
PF-DSA-03.06 | date and time | Data Types | |
PF-DSA-04 | Create data dictionaries as a tool to describe data and data types, structure data, and record relationships | Databases | |
PF-DSA-05 | Use data structures of arrays, records, trees and sequential files | Data Structures |
Developing Solutions with Code
Key | Description | Reference | Comment |
---|---|---|---|
PF-DSC-01 | Apply skills in computational thinking and programming to develop a software solution | ||
PF-DSC-01.01 | converting an algorithm into code | ||
PF-DSC-01.02 | using control structures | ||
PF-DSC-01.03 | using data structures | ||
PF-DSC-01.04 | using standard modules | ||
PF-DSC-01.05 | creating relevant subprograms that incorporate parameter passing | ||
PF-DSC-02 | Implement data structures that support data storage | ||
PF-DSC-02.01 | single and multidimensional arrays | ||
PF-DSC-02.02 | lists | ||
PF-DSC-02.03 | trees | ||
PF-DSC-02.04 | stacks | ||
PF-DSC-02.05 | hash tables | ||
PF-DSC-03 | Compare the execution of the Waterfall and Agile project management models as applied to software development | SDLC | Odd place for this |
PF-DSC-04 | Test and evaluate solutions, considering key aspects including functionality, performance, readability of code, quality of documentation | ||
PF-DSC-05 | Use debugging tools | Missing the simplest of debugging tools, the trusted print statement | |
PF-DSC-05.01 | breakpoints | ||
PF-DSC-05.02 | single line stepping | ||
PF-DSC-05.03 | watches | ||
PF-DSC-05.04 | interfaces between functions | ||
PF-DSC-05.05 | debugging output statements | ||
PF-DSC-05.06 | debugging software available in an integrated development environment (IDE) | ||
PF-DSC-06 | Determine sets of suitable test data | ||
PF-DSC-06.01 | boundary values | ||
PF-DSC-06.02 | path coverage | ||
PF-DSC-06.03 | faulty and abnormal data | ||
PF-DSC-07 | Determine typical errors experienced when developing code, including syntax, logic and runtime, and explain their likely causes |