QuestionI need help with the evaluation section of this project.CompetenciesIn this project, you will demonstrate your mastery of the following competencies:Apply non-coding development methodologies for outlining an algorithmic designEvaluate complex data structures that solve a given problem using advanced algorithmic designsScenarioThe academic advisors in the Computer Science department at ABCU are very happy with the pseudocode you completed. You are now prepared to move forward with expanding the pseudocode to directly respond to the two items advising hopes to accomplish with this program. Remember, your program will need to do the following:Print a list of all the Computer Science courses in alphanumeric order.For a given course, print out its title and prerequisites.You will be writing pseudocode to address each of advising’s requirements, and you will do so for each of the data structures you already started to explore in the previous assignments (vector, hash table, and tree). Then you will perform a runtime analysis to determine which data structure will be the best to use when you begin coding in the next project.DirectionsIn previous milestones, you wrote a description for the Course object that will be stored in different data structures. To be able to determine the running time of each of those data structures in this application, you will need to finish writing all the pseudocode for the rest of the code and perform a Big O analysis.PseudocodeResubmit pseudocode from previous pseudocode assignments and update as necessary. In the previous assignments, you created pseudocode for each of the three data structures (vector, hash table, and tree). Be sure to resubmit the following pseudocode for each data structure.Design pseudocode to define how the program opens the file, reads the data from the file, parses each line, and checks for formatting errors.Your pseudocode should show how to create course objects, so that one course object holds data from a single line from the input file.Design pseudocode that will print out course information and prerequisites.Create pseudocode for a menu. The menu will need to perform the following:Load Data Structure: Load the file data into the data structure. Note that before you can print the course information or the sorted list of courses, you must load the data into the data structure.Print Course List: This will print an alphanumerically ordered list of all the courses in the Computer Science department.Print Course: This will print the course title and the prerequisites for any individual course.Exit: This will exit you out of the program.Design pseudocode that will print out the list of the courses in the Computer Science program in alphanumeric order. Continue working with the Pseudocode Document linked in the Supporting Materials section. Note that you will be designing for the same three data structures that you have been using in your previous pseudocode milestones (vector, hash table, and tree). This time you will create the final pieces of pseudocode that you will need for ABCU’s advising program. To complete this part of the process, do the following:Sort the course information by alphanumeric course number from lowest to highest.Print the sorted list to a display.EvaluationEvaluate the run-time and memory of data structures that could be used to address the requirements. In a previous assignment, you created pseudocode to do the following:Define how the program opens the file, reads the data from the file, parses each line, and checks for formatting errors.Show how to create course objects, so that one course object holds data from a single line from the input file.Specify the cost per line of code and the number of times the line will execute. Assume there are n courses stored in the data structure.Assume the cost for a line to execute is 1 unless it is calling a function, in which case the cost will be the running time of that function.Based on the advisor’s requirements, analyze each data structure (vector, hash table, and tree). Explain the advantages and disadvantages of each structure in your evaluation.Now that you have analyzed all three data structures, make a recommendation for which data structure you will plan to use in your code. Provide justification for your recommendation, based on the Big O analysis results and your analysis of the three data structures.What to SubmitTo complete this project, you must submit the following:Pseudocode and Runtime AnalysisYour submission should be formatted in a double-spaced, 1-2 page Word document that includes your completed pseudocode, your runtime analysis in a chart, and your analysis of both the advantages and disadvantages for each structure.Supporting MaterialsThe following resources may help support your work on the project:Course InformationThis document outlines the courses and pathway you will be designing for.Pseudocode DocumentThis document provides sample pseudocode and a runtime analysis that you will use to support your work in this project. You have already completed work in this document during previous milestones. During this project, you should make updates and additions to your pseudocode based on the directions and rubric. Note that the original Pseudocode Document is only provided again for reference.CS 300 Pseudocode DocumentFunction SignaturesBelow are the function signatures that you can fill in to address each of the three program requirements using each of the data structures. The pseudocode for printing course information, if a vector is the data structure, is also given to you below (depicted in bold).// Vector pseudocodeint numPrerequisiteCourses(Vector<Course> courses, Course c) { totalPrerequisites = prerequisites of course c for each prerequisite p in totalPrerequisites add prerequisites of p to totalPrerequisites print number of totalPrerequisites}void printSampleSchedule(Vector<Course> courses) {}void printCourseInformation(Vector<Course> courses, String courseNumber) { for all courses if the course is the same as courseNumber print out the course information for each prerequisite of the course print the prerequisite course information}// Hashtable pseudocodeint numPrerequisiteCourses(Hashtable<Course> courses) {}void printSampleSchedule(Hashtable<Course> courses) {}void printCourseInformation(Hashtable<Course> courses, String courseNumber) {}// Tree pseudocodeint numPrerequisiteCourses(Tree<Course> courses) {}void printSampleSchedule(Tree<Course> courses) {}void printCourseInformation(Tree<Course> courses, String courseNumber) {} Example Runtime AnalysisWhen you are ready to begin analyzing the runtime for the data structures that you have created pseudocode for, use the chart below to support your work. This example is for printing course information when using the vector data structure. As a reminder, this is the same pairing that was bolded in the pseudocode from the first part of this document.CodeLine Cost# Times ExecutesTotal Costfor all courses1nn if the course is the same as courseNumber1nn print out the course information111 for each prerequisite of the course1nn print the prerequisite course information1nnTotal Cost4n + 1RuntimeO(n)CS 300 Course InformationThis document outlines all of the courses that the advising team will need you to include in the program you are developing. Once you start coding, the same information will be provided to you in a file that can be used as an input for your program. For now, you only need to understand all of the course data inputs and will reference them while you create your pseudocode.Note that the course data is composed of comma-separated values and contains the fields courseNumber, name, prerequisite1, prerequisite2,…,prerequisiteN. While the courseNumber and name will be shown on every line, a course may have 0, 1, or more prerequisites. A prerequisite will be listed using only its courseNumber.The course data is as follows:CSCI100,Introduction to Computer Science CSCI101,Introduction to Programming in C++,CSCI100 CSCI200,Data Structures,CSCI101MATH201,Discrete MathematicsCSCI300,Introduction to Algorithms,CSCI200,MATH201 CSCI301,Advanced Programming in C++,CSCI101 CSCI350,Operating Systems,CSCI300CSCI400,Large Software Development,CSCI301,CSCI350FlowchartTo get started with your design, you could create a flowchart and diagram how the program will execute. If you were to visualize this as a flowchart, the above curriculum would look like this:Computer ScienceEngineering & TechnologySoftware engineering CS 300

Order your essay today and save 20% with the discount code ESSAYHELP