You are on page 1of 5

Higher National Certificate/Diploma in

Computing
Assessment Brief
Student Name/ID Number

Unit Number and Title 19: Data Structures & Algorithms

Academic Year 2022

Unit Tutor B. Fernando

Assignment Title Ceylon Shipping

Issue Date 17-July-2022

Submission Date 31st August 2022

IV Name & Date B. Samarakkody – 10-07-22

Submission Format

The submission is in the form of three(3) documents:

Part 1: A ten-minute Microsoft® PowerPoint® style presentation to be presented to your colleagues.


Presentation schedule will be informed in due time. The presentation can include links to
performance data with additional speaker notes and a bibliography using the Harvard referencing
system.
The presentation slides for the findings should be submitted with speaker notes as one copy (Save
PDF with notes). You are required to make effective use of headings, bullet points and subsections
as appropriate. Your research should be referenced using the Harvard referencing system. The
recommended word limit is 500 words, including speaker notes, although you will not be penalised
for exceeding the total word limit.
Part 2,3 and 4 : A formal individual written report (saved in either a Microsoft® Word® or PDF
format). This should be written in a concise, formal business style using single spacing and font size
12. You are required to make use of headings, paragraphs and subsections as appropriate, and all
work must be supported with research and referenced using the Harvard referencing system. Please
also provide a bibliography using the Harvard referencing system for your sources. The
recommended word limit is 2,000–2,500 words, although you will not be penalised for exceeding the
total word limit. Use illustrations of graphical shapes to represent data structures wherever possible.
Part 3: Original sources files of program codes in a Zip file

HNC/HND Computing 4
Unit Learning Outcomes

LO1 Examine abstract data types, concrete data structures and algorithms.

LO2 Specify abstract data types and algorithms in a formal notation.


LO3 Implement complex data structures and Algorithms
LO4 Assess the effectiveness of data structures and algorithms

Assignment Brief and Guidance

Ceylon shipping is a local shipping company which started its operations very recently. It was started
with a low capital with which 2 ships were purchased initially. You are hired as the Software engineer
at the company. The management insisted that an Information system must be used to efficiently
manage ship loading data. Since off-the-shelf packages are very expensive, you were tasked with
developing an in-house system for this purpose.
The system will be primarily used to record and maintain Shipping container records of
loading for each new voyage. Generally, following details needs to be recorded for each container.
You are to assume that the company only undertakes containers packed with single type of item
within each.
• Container Number – This is a globally unique number of 11 digits (1st 4 digits – Alphabetic, 7 digits-
Numeric, 1 digit – check digit number). E.g. AXPN1200345
• Content – Example : Wheat Floor Weight
• Destination Port – Example: Colombo, Sri Lanka

Generally, each ship can carry about 1500 containers. They need to be loaded to the ship according
to the order of unloading at each destination port in which the last container to unload in a pile will
be at the bottom of stack. This will be a convenient approach for efficient handling of cargo.
When packed containers are brought to the port terminal to load, the new system will record
each container detail into a database under the new voyage. Thereafter, the software will be used to
group containers into stacks to establish loading order. Each stack must be arranged so that ship
can load and unload them without effecting any other container. The size of each stack and the
number of stacks will be decided by the crew of the ship. A container stack may have a maximum of
12 containers.

Part 1 : You will need to prepare a presentation for the management on how to create a
design specification for data structures, explaining the valid operations that can be carried out on
the data structures related to above scenario with following elements.
1.1. Describe briefly, an Abstract Data Type (ADT) suitable to handle the core data element
needed to develop the information system of above scenario. Clearly mention properties
and operations of the ADT.
1.2. Describe sample operations of a single memory stack for each new pile of containers to be
loaded on to the ship and how it is used to implement function calls in the officer’s computer
1.3. Provide an Illustration with appropriate labels of the ADT you designed.
1.4. Perform a brief comparison of two sorting algorithms (Use sketches/diagrams wherever
possible).

HNC/HND Computing 5
1.5. Describe two network shortest path algorithms using illustrations. Provide an example of
application for each.

Part 2 : You will need to provide a formal written report that includes the following with use of
illustrations as much as possible:
2.1. Write an imperative definition for the above described ADT using the example of software
stack.
2.2. Explain in detail the advantages of encapsulation and information hiding when using an ADT.
(Max 300 words)
2.3. “Imperative ADTs are viewed as a basis for object orientation”. Discuss this concept and
provide justification whether you agree on this or not (Max. 300 words).

Part 3 : You are required to demonstrate core implementation of the design.


3.1. The core module of the required software must perform creation and management of a
single container stack. Write the algorithm for this using the complex ADT you designed
above using java or C++ code. (Core function is adequate. Mention the language).
3.2. Enhance the above code in previous task to support error handling. Show output result with
changes.
3.3. Describe briefly how above program code can become the base of container loading
operation at Ceylon shipping for each new Voyage. (Max 300 words)
3.4. Critically evaluate the complexity of such implemented ADT/algorithms identifying the
challenges and conveniences (Max 300 words)

Part 4 : Once the software was developed and implemented, you are required to assess the
effectiveness of the solution given. Asymptotic Analysis is a common method used for this.
4.1. Briefly explain in general terms how asymptotic analysis can help to measure the success of
algorithms like above in a practical scenario. (Max 300 words)
4.2. Briefly explain with examples and illustrations on 2 methods to measure the efficiency of
algorithms. (Max 300 words)
4.3. Considering the implemented ADT above, explain what a trade-off option for this would be.
An example is compulsory (Max 300 words)
4.4. Describe 3 advantages of using implementation independent Data Structure specifications.
(Max 300 words)

HNC/HND Computing 6
Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO1 Examine abstract data types, concrete data structures and


algorithms
D1 Analyse the operation, using
P1 Create a design M1 Illustrate, with an example, a illustrations, of two network
specification for data concrete data structure for a shortest path algorithms,
structures explaining the First in Last out (FILO) queue. providing an example of each.
valid operations that can be M2 Compare the performance
carried out on the structures. of two sorting algorithms.

P2 Determine the operations


of a memory stack and how it
is used to implement
function calls in a computer.

LO2 Specify abstract data types and algorithms in a formal


notation
D2 Discuss the view that
P3 Using an imperative M3 Examine the imperative ADTs are a basis for
definition, specify the advantages of object orientation and, with
abstract data type for a justification, state whether you
encapsulation and
software stack. agree.
information hiding when
using an ADT.

HNC/HND Computing 7
Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO3 Implement complex data structures and


algorithms

D3 Critically evaluate the


P4 Implement a complex ADT M4 Demonstrate how the
complexity of an
and algorithm in an implementation of an
Implemented ADT/algorithm.
executable programming ADT/algorithm solves a
language to solve a well- well-defined problem.
defined problem.

P5 Implement error
handling and report test
results.

LO4 Assess the effectiveness of data structures and algorithms

P6 Discuss how M5 Interpret what a


asymptotic analysis can trade-off is when D4 Evaluate three benefits
be used to assess the specifying an ADT using of using implementation
effectiveness of an an example to support your independent data
algorithm. answer. structures.

P7 Determine two ways


in which the efficiency of
an algorithm can be
measured, illustrating
your answer with an
example.

HNC/HND Computing 8

You might also like