Learning Aim A4
Explain how computational thinking skills are applied in finding solutions that
can be interpreted into software applications.
P1
Explain how principles of computer programming are applied in different
languages to produce software applications.
Discuss the various types of programming languages and what they are used for.
Give examples of languages and what domain they are used in.
For example:
High-level languages vs low-level languages
Declarative vs imperative
Front-end vs back-end
P2
Describe the following program constructs and show how they are implemented
in Java (state that Java is C based) vs Python:
Variable declaration (typed vs untyped)
Assignment statement
Selection (if statements)
Iteration (loops)
Arrays
Subroutines (methods / functions)
Indentation vs braces
Explain how the principles of software design are used to produce high-quality
software applications that meet the needs of users.
Explain what attributes of software can affect its quality.
Discuss the following:
P3 Usability
Performance / efficiency (choice of algorithm and language)
Maintainability and upgradability (easy to read code and commenting)
Robustness (exception handling and validation)
Platform independence / portability
Analyse how computational thinking skills can impact software design and the
M1
quality of the software applications produced.
Evaluate how computational thinking skills can impact software design and the
D1
quality of the software applications produced.
Learning Aim B
Produce a design for a computer program to meet client requirements
1, Explain the stages of the SDLC (software development lifecycle) and state
what you will do at each stage. You must discuss the following stages:
a) Analysis of the requirements
b) Design
c) Implementation
d) Testing
e) Maintenance
The following design documentation needs to have at least one mistake which
you will fix in P5.
2, Describe briefly what your program will do. State that you will use arrays to
store data and methods will be called for each function of the program.
P4
3, Create a story board for the program
4, Write pseudocode for the intended program or three flowcharts (one for a
particular method).
5, Create a test table with the actual result and corrections columns being
empty. The table should have the following columns:
Test no Description Expected Actual result Corrections
result
1
You need 10 tests.
Review the design with others to identify and inform improvements to the
proposed solution
P5
Receive an email from the client (the school) explaining what you need to fix in
the design. Screenshot the email and then fix the design.
M2 Justify design decisions, showing how the design will result in an effective
solution
Justify why you chose the following over the alternatives:
Programming language
Predefined code (e.g. Scanner) and library code
GUI vs CLI
Data structures and data storage (e.g. 1D arrays vs 2D arrays, linked
lists, text files, a database etc)
The control structures (e.g. if statements vs switch statements. While
loops vs for loops)
Multiple methods vs one method
Error handling methods vs no error handling
Learning Aim C
Produce a computer program that meets client requirements
C.P6
Screenshots of the working program and the code.
Optimise the computer program to meet client requirements
Your client feedback should ask you to implement two of the following, or any
two reasonable improvements.
1. Error handling
M3 2. Searching
3. Sorting
4. Storing data to a file
5. Allowing for the addition of students to teams
6. Allowing students or teams to enter only one contest
The code must have comments.
Review the extent to which the final computer program meets client
P7 requirements
Complete the test table with 10 tests.
Evaluate the final design and optimised software application against client
requirements
Evaluate the strengths and weaknesses of your design and program. You can
evaluate the following:
D2 Meeting client requirements. If not explain why.
Usability
Efficiency (e.g. did you use slow searching and sorting algorithms)
Robustness and error handling
Suggest improvements that could be made to make it suitable for a real-world
application.
You can evaluate the work you have done at each stage of the SDLC.
Demonstrate individual responsibility, creativity and effective self-
management in the design, development and review of the computer program
D3 The overall project must be of a high standard. The theory and documentation
must be detailed and well-referenced. The assignment must be submitted on
time. Behaviour must be good.