Unit Principles of Computer Programming Assignment Brief 2026
| Qualification | OTHM Level 4 Diploma In Information Technology (610/1191/5) |
| Unit Reference Number | F/650/3384 |
| Unit Title | Principles of Computer Programming |
| Unit Level | 4 |
| Number of Credits | 20 |
| Total Qualification Time | 200 Hours |
| SSAs | 6.1 ICT practitioners |
| Mandatory / Optional | Mandatory |
| Unit Grading Structure | Pass / Fail |
Learning Outcomes, Assessment Criteria and Indicative Content
| Learning OutcomesThe learner will: | Assessment CriteriaThe learner can: | Indicative Content | ||
| 1. Understand the principles of computer programming. | 1.1 Describe the benefits of computer programming in society and in business.
1.2 Describe the principles of computer programming. 1.3 Summarise the historical development of computer programming. 1.4 Explain the fundamental components of a programming language. 1.5 Compare the strengths and limitations of modern computer programming languages. |
● Benefits
o Solve problems ● Sectors ● Definition, principles of programming |
||
| o KISS
oOpen/Closed entities o Coupling ● Programming history o Charles Babbage’s Analytical Engine o low & high-level languages (COBOL, FORTRAN, and Lisp) Languages JavaScript, C#, C++, Python, PHP, Ruby on Rails) o The #include and #define directives o Program Comments o SQL, Java, JavaScript, C#, C++, Python, PHP, Ruby on Rails. ● Compare; use, error handling, ease of use. |
||||
| 2. | Understand the principles of algorithms. | 2.1 Explain the concept of an algorithm.
2.2 Describe common algorithmic techniques and solutions. 2.3 Demonstrate how to create a flowchart from an algorithm. |
● History of Algorithms.
● Definition of algorithms o Input |
|
| o Definiteness o Finiteness o Effectiveness o Brute Forceo Greedy Algorithms: “take what you can get now” strategyo Divide-and-Conquer o Decrease-and-Conquer o Dynamic Programming o Transform-and-Conquer |
||||
| ● | Flowchart o Backtracking and branch-and-bound generate and test methods.o Flowchart symbols. o Information flow o Purpose and benefits |
|||
| 3. | Understand the object-oriented Programming language. | 3.1 Explain the benefits of object-oriented design.
3.2 Evaluate when to use object-oriented design methodology. 3.3 Explain how objects are used in objectoriented programming. 3.4 Explain the steps in creating an objectoriented program. 3.5 Explain how to compile a program and debug codes. |
●
● |
Benefits o Code Reuse and Recycling o Encapsulation o Design Benefits o Software MaintenanceEvaluate o Situation o Volume of code o Multiple workstreams o Project size o Change cycle |
| ● | Use o Classes and objectso Arrays o Lists |
|||
| o Stacks o Queues o Trees |
||||
| ● | Steps o Intermediate representations and their purpose.o Arrays (1- and 2-dimensions) o Implementation of queues o Stacks and lists |
|||
| ● | Compile and debug codes o Debugger o Breakpointso commandso Use of IDEs and the IDE environments (benefits and examples of IDEs) o data structure display/verification |
|||
| 4. | Understand the tools and techniques used for software development. | 4.1 Explain different types of software development techniques.
4.2 Evaluate the use of different software development tools. 4.3 Evaluate software testing methodologies. 4.4 Describe software deployment techniques. 4.5 Evaluate methods of reviewing system performance. |
●
● ● |
Different software development tools
Research and consider possible solutions and predict the overall success of the application. Research and use information relating to software testing to create a suitable test plan for your business application. |
| ● | Methods of reviewing system performance.
o Focus group |
|||
| 5. | Be able to create a software programme to solve a problem using object-oriented programming. | 5.1 Identify a problem which can be solved using object-oriented programming.
5.2 Create a flowchart to illustrate the problem and solution. 5.3 Create a defined user requirements document. 5.4 Produce a software development plan from a system design. 5.5 Develop and deploy a software solution to solve a problem. 5.6 Evaluate the software against business and user requirements. |
●
● ● ● ● ● |
Clear problem and resolution
Solution will be focused on object-oriented programming solution Mapping of solution into a flowchart Information flow Symbols Number reference |
| ● | Defined requirements | |||
| ● | Business need | |||
| ● | Evaluation methods | |||
| ● | Goals | |||
| ● | Timescales and deadlines | |||
| ● | Resources and requirements | |||
| ● | Constraints and risks | |||
| ● | Business process | |||
| ● | Design using either SQL, Java, JavaScript, C#, C++, Python, PHP, Ruby on Rails. | |||
| ● | Code writing standards, comments, documentation | |||
| ● | Use Debugger, breakpoints, commands in the chosen language, C ++/JAVA/Python/or similar an OOPL. | |||
| ● | Key components of an Integrated
Development Environment (IDE) |
|||
| ● | Use of IDEs, test plan | |||
| ● | Test plan referenced to use requirements, expected result and end result
|
|||
Scenario
There is no scenario for this task. Instead you must show your knowledge and understanding about computer programming.
Task 1 of 3
Unit Learning Outcomes
- LO 1 Understand the principles of computer programming. 1.1, 1.2, 1.3, 1.4, 1.5
- LO 4 Understand the tools and techniques used for software development. 4.1, 4.2, 4.3, 4.4, 4.5
Assignment Brief and Guidance
Part 1
You are required to write a report to show your understanding about the principles of computer programming. Your report should:
- Describe the benefits of computer programming in society and in business.
- Describe the principles of computer programming.
- Summarise the historical development of computer programming.
- Explain the fundamental components of a programming language.
- Compare the strengths and limitations of modern computer programming languages.
Part 2
You are required to write a report to show your understanding about the tools and techniques used for software development. Your report should:
- Explain different types of software development techniques.
- Evaluate the use of different software development tools.
- Evaluate software testing methodologies.
- Describe software deployment techniques.
- Evaluate methods of reviewing system performance.
Delivery and Submission
The submission is in the form of a report written in Word format for both Part 1 and 2.
- Part 1 – the recommended word limit is 750 words.
- Part 2 – the recommended word limit is 750 words.
The word limit is excluding diagrams, references, and appendices.
Referencing
You are expected to use relevant academic and reliable sources where appropriate, and clearly reference these in your work. Citations should be added to the text and placed at the end in a reference list, using the Harvard referencing style.
Task 2 of 3
Unit Learning Outcomes
- LO 2 Understand the principles of algorithms 2.1, 2.2, 2.3
Assignment Brief and Guidance
Create an algorithm that will ask a user to input the length and width of a rectangle and will then calculate the area. Display your algorithm as a flowchart. You must include an explanation of the algorithmic techniques and solutions you have used.
Delivery and Submission
The submission is in the form of a report written in Word format. The recommended word limit is 500 words excluding diagrams, references, and appendices.
Referencing
N/A
Task 3 of 3
Unit Learning Outcomes
- LO 3 Understand the object-oriented programming language. 3.1, 3.2, 3.3 ,3.4, 3.5
- LO 5 Be able to create a software programme to solve a problem using object-oriented programming. 5.1, 5.2, 5.3, 5.4, 5.5, 5.6
Assignment Brief and Guidance
Part 1
Write a report in which you:
- Explain the benefits of object-oriented design.
- Evaluate when to use object-oriented design methodology.
- Explain how objects are used in object-oriented programming.
- Explain the steps in creating an object-oriented program.
- Explain how to compile a program and debug codes.
Part 2
Discuss with your Tutor and agree on a suitable project for the programming language you have learnt. Your Tutor may give you specifications of the project or you may develop your own ideas. You are required to:
- Identify a problem which can be solved using object-oriented programming.
- Create a flowchart to illustrate the problem and solution.
- Create a defined user requirements document.
- Produce a software development plan from a system design.
- Develop and deploy a software solution to solve the problem.
- Evaluate the software against business and user requirements.
Delivery and Submission
The submission for Part 1 is a report written in Word format. The recommended word limit is 500 words excluding diagrams, references, and appendices.
The submission for Part 2 is in the form of compiled codes, executable files and any other relevant documents covering all the tasks as set out in the previous section. There is no fixed word limit for Part 2.
Referencing
N/A