Assignment Data Structures - Algorithms
Assignment Data Structures - Algorithms
Computing
Assessment Brief
Student Name/ID Number
Submission Format
HNC/HND Computing 4
Unit Learning Outcomes
LO1 Examine abstract data types, concrete data structures and algorithms.
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 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
HNC/HND Computing 7
Learning Outcomes and Assessment Criteria
P5 Implement error
handling and report test
results.
HNC/HND Computing 8