Higher National Certificate/Diploma in Computing
Learning Outcomes and Assessment Criteria
Pass
Merit
Distinction
LO1 Examine abstract data types, concrete data structures and
algorithms
D1 Analyse the
operation, using
illustrations, of two
network shortest
path algorithms,
providing an
example of each.
P1 Create a design
...[Show More]
Higher National Certificate/Diploma in Computing
Learning Outcomes and Assessment Criteria
Pass |
Merit |
Distinction |
LO1 Examine abstract data types, concrete data structures and
algorithms
D1 Analyse the
operation, using
illustrations, of two
network shortest
path algorithms,
providing an
example of each.
P1 Create a design
specification for data
structures explaining the valid
operations that can be carried
out on the structures.
P2 Determine the operations
of a memory stack and how it
is used to implement function
calls in a computer.
M1 Illustrate, with an
example, a concrete data
structure for a First In First out
(FIFO) queue.
M2 Compare the
performance of two
sorting algorithms. |
LO2 Specify abstract data types and algorithms in a formal
notation D2 Discuss the view
that imperative ADTs
are a basis for object
orientation and, with
justification, state
whether you agree.
P3 Using an imperative
definition, specify the
abstract data type for a
software stack.
M3 Examine the advantages
of encapsulation and
information hiding when using
an ADT. |
LO3 Implement complex data structures and algorithms
D3 Critically
evaluate the
complexity of an
implemented
ADT/algorithm.
P4 Implement a complex ADT
and algorithm in an executable
programming language to
solve a well-defined problem.
P5 Implement error handling
and report test results.
M4 Demonstrate how the
implementation of an
ADT/algorithm solves a well
defined problem. |
D4 Evaluate three
benefits of using
implementation
independent data
structures. |
LO4 Assess the effectiveness of data structures and algorithms
P6Discuss how asymptotic
analysis can be used to
assess the effectiveness of
an algorithm.
P7 Determine two ways in
which the efficiency of an
algorithm can be measured,
illustrating your answer with
an example.
M5 Interpret what a trade-off is
when specifying an ADT using an
example to support your answer.
Table of Contents
Introduction............................................................................................................................7
Part 01....................................................................................................................................8
Part 02....................................................................................................................................8
1.Build a complex data structure and algorithm to solve a well-defined problem. Implement
the algorithm using a programming language............................................................................8
2.Demonstrate how the implementation of an algorithm solves a well-defined problem.......10
4.Implement error handling and report test results..................................................................12
5.Discuss how asymptotic analysis can be used to assess the effectiveness of an algorithm.. 13
6.Determine two ways in which the efficiency of an algorithm can be measured, illustrating
your answer with an example...................................................................................................14
6
Introduction
At the heart of software engineering is with the general design of the applications and on the
making of a design that is founded on the needs and requirements of end users.While
software engineering involves the full life cycle of a software project, is includes many
different components - specification, requirements gathering, design, verification, coding,
testing, quality assurance, user acceptance testing, production, and ongoing maintenance. A
data structure is an arrangement of data in a computer's memory or even disk storage. An
example of several common data structures are arrays, linked lists, queues, stacks, binary
trees, and hash tables. in this assignment we have to study the situation and answer the given
questions.
1. Build a complex data structure and algorithm to solve a welldefined problem. Implement the algorithm using a programming
language.
In the industry every data should store in order. It is very helpful to do regular works easily
and stored in order to data save more time. Hence using this data structure, we can store data
to the order. This data structure is to Implement Sorted array. A sorted array is an array data
structure in which each element is sorted in numerical, alphabetical, or some other order, and
placed at equally spaced addresses in computer memory.
Here is the source code of the data structure to implement sorted array.
1. import java.util.Arrays;
2.
3. public class SortedArray<T>
4. {
5. private T[] array;
6.
7. public SortedArray(T[] array)
8. {
9. this.array = array;
10. }
11.
12. public void sort()
13. {
14. Arrays.sort(array);
15. }
16.
17. public T[] getArray()
18. {
19. return array;
20. }
21.
22. public static void main(String...arg)
23. {
24. Integer[] inums = {10,9,8,7,6};
25. Float[] fnums = {23.9f,5.5f,10.8f,2.5f,82.0f};
26. Double[] dnums = {12.5,244.92,1.9,98.3,35.2};
27. String[] strings = {"banana","pineapple","apple","mango","orange"};
28.
29. System.out.println("The Values Before sorting");
30. System.out.println();
31.
32. System.out.println("Integer Values");
33. for (int i = 0; i < inums.length; i++)
34. System.out.print(inums[i] + "\t");
35.
36. System.out.println();
8
37. System.out.println("Floating Values");
38. for (int i = 0; i < fnums.length; i++)
39. System.out.print(fnums[i] + "\t");
40.
41. System.out.println();
42. System.out.println("Double Values");
43.
44. for (int i = 0; i < dnums.length; i++)
45. System.out.print(dnums[i] + "\t");
46.
47. System.out.println();
48. System.out.println("String Values");
49.
50. for (int i = 0; i < strings.length; i++)
51. System.out.print(strings[i] + "\t");
52.
53. SortedArray<Integer> integer = new SortedArray<Integer>(inums);
54. SortedArray<Float> floating = new SortedArray<Float>(fnums);
55. SortedArray<Double> doubles = new SortedArray<Double>(dnums);
56. SortedArray<String> string = new SortedArray<String>(strings);
57.
58. integer.sort();
59. floating.sort();
60. doubles.sort();
61. string.sort();
62.
63. inums = integer.getArray();
64. fnums = floating.getArray();
65. dnums = doubles.getArray();
66. strings = string.getArray();
67.
68. System.out.println();
69. System.out.println("The Values After sorting");
70. System.out.println();
71. System.out.println("Integer Values");
72. for (int i = 0; i < inums.length; i++)
73. System.out.print(inums[i] + "\t");
74.
75. System.out.println();
76. System.out.println("Floating Values");
77. for (int i = 0; i < fnums.length; i++)
78. System.out.print(fnums[i] + "\t");
79.
80. System.out.println();
81. System.out.println("Double Values");
82. for (int i = 0; i < dnums.length; i++)
83. System.out.print(dnums[i] + "\t");
84.
85. System.out.println();
86. System.out.println("String Values");
87. for (int i = 0; i < strings.length; i++)
88. System.out.print(strings[i] + "\t");
89. }
90. }
[Show Less]