HND Assignment BriefSession: February 2021Programme titleBTEC Higher National Diploma (HND) in ComputingUnit number and title19Data Structures and Algorithms (L5)Assignment number & title1 of 1Data Structures and Algorithms (L5)Unit Leader–Assessor (s)S. R. Pandey & A. IfeoluwaIssue Date22/02/2021Final assignmentsubmission deadline07 – 12 June 2021Late submission deadline14 – 19 June 2021The learners are required to follow the strict … Continue reading “Data Structures and Algorithms | My Assignment Tutor”
HND Assignment BriefSession: February 2021Programme titleBTEC Higher National Diploma (HND) in ComputingUnit number and title19Data Structures and Algorithms (L5)Assignment number & title1 of 1Data Structures and Algorithms (L5)Unit Leader–Assessor (s)S. R. Pandey & A. IfeoluwaIssue Date22/02/2021Final assignmentsubmission deadline07 – 12 June 2021Late submission deadline14 – 19 June 2021The learners are required to follow the strict deadline set by the Collegefor submissions of assignments in accordance with the BTEC level 4 – 7submission guidelines and College policy on submissions.Resubmission deadlineTBAFeedbackFormative feedback will be available in class during the semester.Final feedback will be available within 2 – 3 weeks of the assignmentsubmission date. GeneralGuidelines• The work you submit must be in your own words. If you use a quote or anillustration from somewhere you must give the source.• Include a list of references at the end of your document. You must give allyour sources of information.• Make sure your work is clearly presented and that you use readilyunderstandable English.• Wherever possible use a word processor and its “spell-checker”. Internal verifierAmjad AlamSignature (IV of thebrief) *Date17/02/2021 Department of Information Technology Page 2 of 6 ICON College of Technology and ManagementBTEC HND in ComputingUnit 19: Data Structures and Algorithms (L5)Session: February 2021CourseworkRecommended maximum words 3,000 You are strongly advised to read “Preparation guidelines of the CourseworkDocument” before answering your assignment.ASSIGNMENTAim & ObjectiveThis coursework is designed to demonstrate the broad understanding and knowledge of themodule, assessing, and evaluating the student’s strength and level of analysis; divided into 4Section. The coursework should be submitted as one document in a report format in finalsubmission.Assignment Scenario:ScenarioData structures provide a means to manage large amounts of data efficiently for uses such aslarge databases and internet indexing services. Usually, efficient data structures are key todesigning efficient algorithms. Some formal design methods and programming languagesemphasize data structures, rather than algorithms, as the key organizing factor in software design.Data structures can be used to organize the storage and retrieval of information stored in bothmain memory and secondary memory. Primitive data structures like int, float, char, etc. are simpleways for programming languages to represent basic values but in order to store multiple values ina single variable, there is a need of Non-primitive data structures which includes arrays, lists,stacks, trees, and so forth. The use of these data structures can also be employed using objectoriented programming languages like C# or Java, a class is a data structure that organizesattributes and functions in such a way that they can be easily replicated. In each case, the way thedata is “structured” makes it easy to retrieve or manipulate.You have been asked to write a report covering the points stated below in relation to ADTs and itsmanagement. You must also present your programming skills related to abstract data types usingC#.LO1The implementation of a data structure usually requires writing a set of procedures that create andmanipulate instances of that structure. The different form of data structure and its operations givesrise to its different application like Arrays, Stack, Queue, Linked Lists, graph data structure, Tree,Hash tables, etc. Understanding the above nature of data structure, you are required to produce adesign specification for any three data structure explaining the valid operations that can be carriedout on the structures. To implement and make use of Stack, you need to define its commonoperations and how it is used to implement function calls in a computer. To further test the use ofQueue, you need to illustrate with an example of a concrete data structure for “First in First out”(FIFO) Queue and its common operations.Department of Information Technology Page 3 of 6Sorting is a common operation in many applications, but efficient algorithms are selected andmade use to develop the programs, therefore you are required to compare the performance of theany two types of Sorting.Visualizations are a powerful way to simplify and interpret the underlying patterns in data. Use ofgraphs is one such visualization technique. It is incredibly useful and helps businesses makebetter data-driven decisions. In order to present your understanding on the concepts of graphs,you need to present your findings on “Graph theory”, by analysing on any two network shortestpath algorithms from Bellman Ford’s Algorithm, Dijkstra’s Algorithm & Floyd–Warshall’s Algorithm.LO2In many modern days application, Stacks are used for the undo buttons. The recent most changesare pushed into the stack. Even the back button on the browser works with the help of the stackwhere all the recently visited web pages are pushed into the stack. Making a note to the aboveconcepts on stack, you need to Identify an abstract data type for a First in Last out (FILO) – stackand its different associated functions and support with some programming example. Based on theapplication of OOPS in data structures, you need to examine the advantages of encapsulation andinformation hiding when using an ADT. Present your views along with justification on whyimperative ADTs is considered a basis for object orientation.LO3A college have asked you to produce a console-based application to store staffs information andthe department in which they are working. The application should have the following functionalities:a) Add new staffs (staff id, first name, last name and mobile number, email, department name)b) Add new department (e.g. academic department, account department, HR department, QAdepartment etc)c) Remove staff record based on ID or Phone numberd) Search staff record based on phone number or IDe) Display the all staffs ID, first name, last name based on the departmentf) List of departmentsCreate your own data structure for the above problem and using Array, List or Linked list as a basedata storage, create and develop the application in C#. Your built application could implementencapsulation, Inheritance and polymorphism.Note: Above illustrations provided is just an initial outline. You could analyse, plan, and design theapplication in your own wayIn your built application, you should implement error handling measures in your programming codeand demonstrate its use in your assignment. To further support your findings, you shoulddemonstrate your implementation of the data structure and the methods in solving the aboveproblem by providing screenshots and test case of each output. Once you have implemented theabove program, you need to critically evaluate the complexity of your implemented ADT/algorithm.LO4To evaluate your built application, you need to first discuss on how Asymptotic analysis can beused in understanding the complexity of algorithms with an example. To measure the efficiency ofyour developed application, determine two ways in which you can measure its efficiency,illustrating your answer with an example. While writing a code on any problem, sometimes weneed to sacrifice time over space or vice versa, you need to Interpret on “what is trade-off” with oneexample to support your answer (you can take any part/ section of your programming code in yourDepartment of Information Technology Page 4 of 6built application to justify your arguments). In addition, you could also evaluate three benefits ofusing and implementing independent data structures in your built applications, in order to presentyour overall understanding on ADT.AppendicesNote: You should attach all the supporting documents as a separate file in the appendix section ofyour assignment.Relevant InformationTo gain a Pass in a BTEC HND Unit, you must meet ALL the Pass criteria; to gain a Merit, you must meetALL the Merit and Pass criteria; and to gain a Distinction, you must meet ALL the Distinction, Merit and Passcriteria.1. Learning Outcomes and Assessment Criteria Learning Outcomes and Assessment CriteriaPassMeritDistinctionLO1 Examine abstract data types, concrete data structures and algorithmsP1 Create a design specificationfor data structures explaining thevalid operations that can becarried out on the structures.P2 Determine the operations of amemory stack and how it is usedto implement function calls in acomputer.M1 Illustrate, with an example, aconcrete data structure for a First InFirst out (FIFO) queue.M2 Compare the performance of twosorting algorithms.D1 Analyse the operation, usingillustrations, of two networkshortest path algorithms,providing an example of each.LO2 Specify abstract data types and algorithms in a formal notationP3 Using an imperative definition,specify the abstract data type fora software stack.M3 Examine the advantages ofencapsulation and information hidingwhen using an ADT.D2 Discuss the view thatimperative ADTs are a basis forobject orientation and, withjustification, state whether youagree.LO3 Implement complex data structures and algorithmsP4 Implement a complex ADT andalgorithm in an executableprogramming language to solve awell-defined problem.P5 Implement error handling andreport test results.M4 Demonstrate how theimplementation of an ADT/algorithmsolves a well-defined problem.D3 Critically evaluate thecomplexity of animplementedADT/algorithm.LO4 Assess the effectiveness of data structures and algorithms Department of Information Technology Page 5 of 6 P6 Discuss how asymptoticanalysis can be used to assessthe effectiveness of an algorithm.P7 Determine two ways in whichthe efficiency of an algorithm canbe measured, illustrating youranswer with an example.M5 Interpret what a trade-off is whenspecifying an ADT using an example tosupport your answer.D4 Evaluate three benefits ofusing implementationindependent data structures. 2. Preparation guidelines of the Coursework Documenta. All coursework must be word processed.b. Avoid using “Text box” in writing your assignment.c. Document margins must not be more than 2.54 cm (1 inch) or less than 1.9cm (3/4 inch).d. Font size must be within the range of 10 point to 14 points including the headings and body text(preferred font size is 11) in Arial.e. Standard and commonly used type face, such as Arial and Times New Roman, should be used.f. All figures, graphs and tables must be numbered.g. Material taken from external sources must be properly referred and cited within the text using Harvardsystemh. Do not use Wikipedia as a reference.3. Plagiarism and CollusionAny act of plagiarism or collusion will be seriously dealt with according to the College regulations. In thiscontext the definitions and scope of plagiarism and collusion are presented below:Plagiarism is presenting somebody else’s work as your own. It includes copying information directly fromthe Web or books without referencing the material, submitting joint coursework as an individual effort.Collusion is copying another student’s coursework, stealing coursework from another student andsubmitting it as your own work.Suspected plagiarism or collusion will be investigated and if found to have occurred will be dealt withaccording to the College procedure (For details on Plagiarism & Collusion please see the StudentHandbook).4. Submissiona. Initial submission of coursework to the tutors is compulsory in each unit of the course.b. The student must check their assignments on ICON VLE with plagiarism software Turnitin to makesure the similarity index for their assignment stays within the College approved level. A student cancheck the similarity index of their assignment up to five times in the Draft Assignment submissionpoint located in the home page of the ICON VLE.c. All Final coursework must be submitted to the Final submission point into the Unit (not to theTutor). The student would be allowed to submit only once and that is the final submission.d. Any computer files generated such as program code (software), graphic files that form part of thecoursework must be submitted as an attachment to the assignment with all documentation.e. Any portfolio for a Unit must be submitted as an attachment in the assignment5. Good practicea. Make backup of your work in different media (hard disk, memory stick, etc.) to avoid distress due toloss or damage of your original copy.6. Extension and Late Submissiona. If you need an extension for a valid reason, you must request one using an Exceptional ExtenuatingCircumstances (EEC) form available from the Examination Office and ICON VLE. Please note thatDepartment of Information Technology Page 6 of 6the tutors do not have the authority to extend the coursework deadlines and therefore do not askthem to award a coursework extension. The completed form must be accompanied by evidencesuch as a medical certificate in the event of you being sick and should be submitted to theExamination Office.b. Late submission will be accepted and marked according to the College procedure. It should be notedthat late submission may not be graded for Merit and Distinction.c. All late coursework must be submitted to the Late submission point into the unit (not to the Tutor)in the ICON VLE. A student is allowed to submit only once and that is also treated as the finalsubmission.d. If you fail in the Final or Late submission, you can resubmit in the Resubmission window.7. Submission deadlines Formative feedbackWeek 12Final Submission07 – 12 June 2021Late submission14 – 19 June 2021 Submit to: Online to the ICON VLE onlyGlossary:Analyse: Break an issue or topic into smaller parts by looking in depth at each part. Support each part witharguments and evidence for and against (Pros and cons)Evaluate: When you evaluate you look at the arguments for and against an issue.Critically Evaluate/Analyse: When you critically evaluate you look at the arguments for and against anissue. You look at the strengths and weaknesses of the arguments. This could be from an article you readin a journal or from a text book.Discuss: When you discuss you look at both sides of a discussion. You look at both sides of the arguments.Then you look at the reason why it is important (for) then you look at the reason why it is important (against).Explain: When you explain you must say why it is important or not important.Describe: When you give an account or representation of in words.Identify: When you identify you look at the most important points.Define: State or describe the nature, scope or meaning.Implement: Put into action/use/effectCompare: Identify similarities and differencesExplore: To find out aboutRecommend: Suggest/put forward as being appropriate, with reasons why