Division of Applied Sciences, Computing & Engineering.
Added on - 16 Sep 2019
Division of Applied Sciences, Computing & EngineeringComputing BSc ProgrammesTask A:You are create a program design to support your companies design of network routingdesign. This will initially be at the command line to prove the concept and then extended.Your organisation needs to model and simulate its shortest path design based on theDijkstra’s shortest path algorithmShortest-paths is a broadly useful problem-solving model•Maps•Robot navigation.•Texture mapping.•Typesetting in TeX.•Urban traffic planning.•Optimal pipelining of VLSI chip.•Subroutine in advanced algorithms.•Telemarketer operator scheduling.•Routing of telecommunications messages.•Approximating piecewise linear functions.•Network routing protocols (OSPF, BGP, RIP).•Exploiting arbitrage opportunities in currency exchange.•Optimal truck routing through given traffic congestion pattern.Code for this problem is to be created in Python using the command line for proof ofconcept and to be based on a file to be provided (See guidance ).1.Open the file and read on the data into suitable data structure.2.Perform the shortest path calculation.3.Output the results to the VDU.4.Save the results to a file.1
Task B.Your algorithm has proven to be successful and a GUI version is urgently required by thenetwork team. You are therefore requested to create a GUI version of the original designwith the following demands1. Input from a data file2, Graphical display of the graph.3.The calculated shortest path to be highlighted4.A save file option5.The ability to create a route graphically adding nodes and lines using the mouse.Guidance:Your tutor will act as the Network specialist, will be available for interview during class / labsessions.A router diagram will be provided.You may solve the shortest path by simple (manual calculation) but for a more advanceapproach you will implement the Dijkstra algorithm to demonstrate a deeper understandingof the issue.Further guidance:You are to use TkInter for the GUI developmentThe design of a realistic and easy-to-understand user interface is expected.Your solution should include classes, methods and event/general functions as appropriate.Refer to the Assessment criteria below for guidance on how to pass this assignment. Yourwork will be assessed on how you define / model the requirements in your designdocumentation and how you communicate your design decisions. You may obtain furtherguidance from the module tutor.Submission: (All submissions are through the relevant assessment Moodle on Moodle)2
•A full report containing your design documentation•Testing and debugging•Demonstrate your GUI solution.Assessment:To obtain a ‘C’ all the criteria listed must be achieved. Higher grades will be given for workof higher quality. For example a ‘B’ – ‘B+’ for work of high quality in some areas and a ‘A’for work of high quality in all or most areas.Learning OutcomesAssessment CriteriaTo achieve each outcome a student must demonstratethe ability to:Implementprogramdesigns in an object-oriented programminglanguage.Investigate software design methodologies andpractices to produce appropriate analysis, design,requirement and user documentationQuality will be demonstrated by the following:1.Creativity and adaptability2.Showing synthesis of concepts3.Breadth and depth of the solution design4.Autonomy and independence5.Coherence of design6.Extent of exploitation of the GUI3