Assignment Brief - Unit - 1 - Programming - AB - Spring2023
Assignment Brief - Unit - 1 - Programming - AB - Spring2023
Assignment Brief - Unit - 1 - Programming - AB - Spring2023
Version: 1
Assessment Brief
Student Name/ID Number/Section
Submission Format
The Assignment is divided into two parts that should be submitted on the specified dates. Each student should
individually submit his work:
Part1:
1. An individual written reports that contains the requirements of this part that include a fully commented
source code and screenshots.
2. An In-Class task that where you suppose to write a code that solve the assigned problems and upload it to
the eLearning system. that contains source codes of an assigned problem, which should be uploaded to e-
learning.
Part2:
1. An individual written reports that contains the requirements of this part that include a fully commented
source code and screenshots.
2. The source code of your executable version of your application, which should be uploaded to GitHub.
3. An oral discussion to discuss your submission. Instructions, date, and time of the discussion will be
announced later.
Report Guidelines: Your report should be:
▪ written in a concise, formal business style using single spacing and font size 12 with use of appropriate
structure, including headings, paragraphs, and subsections.
▪ supported with research and referenced using the Harvard referencing system.
▪ 3,000–5,000 words, although you will not be penalised for exceeding the total word limit.
▪ Submitted in a form of “docx” softcopy to the university’s eLearning system by the decided deadline
through the following link: https://elearning.htu.edu.jo/
▪ In your report, you should make use of headings, paragraphs, and subsections as appropriate.
▪ Written in a formal business style using single spacing and font size 12, of times roman.
▪ Must be supported with research and referenced using the Harvard referencing system.
▪ The citation percentage should not exceed 20% and plagiarism is forbidden.
2|Page
Unit Learning Outcomes
LO1. Define basic algorithms to carry out an operation and outline the process of programming an application.
LO2. Explain the characteristics of procedural, object-oriented, and event-driven programming.
LO3. Implement basic algorithms in code using an IDE.
LO4. Determine the debugging process and explain the importance of a coding standard
Assignment Brief and Guidance
Your R&D team has been given an age calculator and sorting project that needs to select the
youngest end eldest person for various purposes (such as the vacancy system, hiring procedures,
and scholarships nominations). To have an accurate system, you must convert the entered age
to seconds first. The system will accept the age as day/month/year for a set of people (i.e., 5
persons). Your code should work perfectly, and it should be completely commented.
Part1
Task1 of Part1(Report)
1.1.1 Outline the steps involved in the process of building an application from writing to
execution and describe how you used these steps to build your system (Report).
1.1.2 Explain what an algorithm is, with examples of their use, choose an algorithm of
your interest and explain it in common applications and how the algorithm is utilized,
comparing the efficiency of using algorithm against brute forcing approach (try every
single solution), and how it will relate to the application development process in 1.1
(Report).
1.1.3 There are many algorithms that are used to solve a variety of problems. The development
of Age Calculator systems is one of the most interesting fields that utilizes algorithms
significantly. Write an algorithm for the Age calculator system that you are asked to
develop. (Report)
1.1.3.1 Describe the steps of your algorithm in pseudo code or flowchart (Report).
1.1.3.2 Sort the elements in the array in descending manner. (Code)
1.1.3.3 Discuss the sorting algorithm that you choose, built in sorting is forbidden. (Report)
1.1.3.4 Demonstrate that your algorithm is a good algorithm. (Report)
Sample Run
1.1.4 the use of an IDE for development of applications contrasted with not using an IDE
such as notepad and Terminal compilation, you Should include a minimum of 5
aspects of comparison with screenshots. (Screenshots of Code) (Report).
3
You currently work as a junior software developer for a software development company that
produces software for digital platforms. As you are part of the R&D team, your role includes
investigation into new processes that can benefit the company. One area of research that you
have been tasked with is the use of algorithms and how they can be used to build more efficient
software. This will have an impact on the software developed as efficient and reliable software.
The R&D team has been asked to develop a system that creates a pool of items which represents
a set of numbers for a certain domain of study (i.e., temperatures degrees, student’s grades,
items prices, … etc.).
The proposed system supposed to manipulate those items in order get to get a statistical
representation of the data in the pool according to a specific criterion related to the domain of
the study.
As a member of the R&D team you have to provide two different solutions for the problem
where one of them must be optimized in terms of complexity or simplicity or readability, ….
etc.
Your code must adhere to coding standards.
In this task you will be asked to provide the following items for a specific problem that will be
determined in the in-class task
2.1.1 Create a fully working and documented executable source (in Java) of application
(that will be provided in a class on the determined date) (Code).
2.1.2 Enhance the written code in 1, using the features of the IDE to manage the
development process, provide evidence of how the IDE was used to manage the
development process of your code implementations. (Code)
2.1.3 Evaluate the implementation of an algorithm for a chosen problem in a suitable
language and the relationship between the written algorithm and the code variant.
(Code), problem solving techniques such as (Pseudo code and flow chart, …etc.) will
be provided.
4
Part2
Task1 of Part2:
2.1.1 Define what is meant by a programming paradigm and explain the characteristics of
different programming paradigms (Procedural, Object-Oriented, and Event-Driven)
(Report).
2.1.2 Develop Java code examples for a certain scenario of your choice that implements
the features and the characteristics of the different programming paradigms
(Procedural, Object-Oriented, and Event-Driven). You should utilize the concepts of
Encapsulation, Composition, Inheritance, and Polymorphism in your Object-
Oriented code. (Code).
The implementations better to be on the same scenario.
2.1.3 Compare and contrast the features and characteristics of each paradigm that you have
used in developing your code in (2.1.2) (Screenshots of Code) (Report).
2.1.4 Critically evaluate the code examples that you have developed in (2.1.2) in terms of
code structure and characteristics for each paradigm (Screenshots of Code) (Report).
Task2 of Part 2:
2.2.1 Explain the debugging process that you have followed in writing your code. Provide
examples of different error types that you have dealt with and how you solved them.
Show how you used the available debugging facilities in the IDE to solve each error
(Screenshots of Code and facilities) (Report).
2.2.2 Evaluate how the debugging process can be used to help develop more secure, robust
applications (Report).
2.2.3 Outline the coding standards that you have used in your code (at least 5 of them),
and critically evaluate the role and purpose of coding standards and why it is
necessary to follow those standards in a team as well as for the individual.
(Screenshots of Code) (Report).
5
Learning Outcomes and Assessment
Criteria
LO1 Define basic algorithms to carry out an operation and outline the process of
D1 Evaluate the
programming an application implementation of an
algorithm in a suitable
P1 Define an algorithm and outline the process M1 Analyse the process of writing code, language and the relationship
in building an application. including the potential challenges faced. between the written
P2 Determine the steps taken from writing algorithm and the code
code to execution. variant.
LO2 Explain the characteristics of procedural, object orientated and D2 Critically evaluate the
event-driven programming source code of an application
that implements the
procedural, object-orientated
P3 Discuss what procedural, object oriented M2 Compare the procedural, and event-driven paradigms,
and event driven paradigms are; their object-orientated and event driven
in terms of the code structure
characteristics and the relationship between them. paradigms used in given source code
of an application.
and characteristics.
LO4 Determine the debugging process and explain the importance of a coding D4 Evaluate the role and
standard purpose of a coding standard
and why it is necessary in a
team as well as for the
P5 Explain the debugging process and the M4 Examine how the debugging
individual.
debugging facilities available in the IDE. process can be used to help develop
P6 Explain the coding standard you have used more secure, robust applications.
in your code.
6
Page 7 of 6
When submitting evidence for assessment, each student must sign a declaration confirming
that the work is their own.
Student name: Assessor name:
Program: Computing
Plagiarism
Plagiarism is a particular form of cheating. Plagiarism must be avoided at all costs and students who break the rules,
however innocently, may be penalized. It is your responsibility to ensure that you understand correct referencing
practices. As a university level student, you are expected to use appropriate references throughout and keep carefully
detailed notes of all your sources of materials for material you have used in your work, including any material
downloaded from the Internet. Please consult the relevant unit lecturer or your course tutor if you need any further
advice.
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand theconsequences of
plagiarism. I understand that making a false declaration is a form of malpractice.
Student Date
signature: :