Question: Overview This milestone will help prepare you for Project One . In this assignment, you will start working on a project for ABC University (ABCU).

Overview

This milestone will help prepare you for Project One.

In this assignment, you will start working on a project for ABC University (ABCU). ABCU is looking for software that will help their computer science advisors access course information for students. To do this, you will utilize what you have learned about data structures. In this assignment, you will create pseudocode for the Computer Science department at ABCU. This code will demonstrate your ability to import data from a file and store it in the vector data structure.

Prompt

Create pseudocode for loading data into the vector data structure, and then using it to store and print that data. There will be no programming work in this milestone; you will be developing pseudocode that will help you implement your design in Project One.

Please note: Throughout this milestone, we are going to use the word course to refer to the courses in the curriculum instead of class, which has another meaning in object-oriented programming.

For this milestone, you will:

Design pseudocode to define how the program opens the file, reads the data from the file, parses each line, and checks for file format errors. The Course Information document, linked in the Supporting Materials section, contains all the information about all of the courses required in the Computer Science curriculum for ABCU. Each line will consist of the information about a single course, including the course number, title, and prerequisites. The Course Information document includes the course data and a diagram of how the program will execute. Your pseudocode will need to validate the sample file to ensure it is formatted correctly and check for the following:

Ensure there are at least two parameters on each line (some courses may not have any prerequisites).

Ensure any prerequisite that is provided on a line exists as a course in the file. In other words, any prerequisite at the end of a line must have another line in the file that starts with that courseNumber.

Design pseudocode to show how to create course objects and store them in the appropriate data structure. Your pseudocode should show how to create course objects so that one course object holds data from a single line from the input file. Knowing the file format will help you parse and store each token of data into the appropriate course object instance variable. You should store each course object into the vector data structure. Once the entire file has been processed, the vector data structure will have multiple course objects, one per line in the file. Hint: A loop will be needed to process all lines from the file.

Design pseudocode that will search the data structure for a specific course and print out course information and prerequisites. The advisors from ABCU want to be able to print out the course information and prerequisites from the data stored in the data structure for a given course. In the Pseudocode Document, linked in the Supporting Materials, pseudocode for printing course information using a vector data structure is provided as an example.

What to Submit

To complete this project, you must submit the following:

Pseudocode Your submission should include your completed pseudocode formatted as a Word document.

Supporting Materials

The following resources will support your work on the milestone:

Course Information This document outlines the courses and pathway you will be designing for.

Pseudocode Document This document provides sample pseudocode and a runtime analysis that you will use to support your work in this milestone.

.....................................................................................................................

CS 300 Course Information Course List This 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 text 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,

CSCI101 MATH201,Discrete Mathematics

CSCI300,Introduction to Algorithms,

CSCI200,MATH201 CSCI301,

Advanced Programming in C++,

CSCI101 CSCI350,Operating Systems,

CSCI300 CSCI400,Large Software Development,

CSCI301,CSCI350

Flowchart To 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

........................................................................................................................................................................................

CS 300 Pseudocode Document

Function Signatures

Below 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 pseudocode

int numPrerequisiteCourses(Vector 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 courses) {

}

void printCourseInformation(Vector 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 pseudocode

int numPrerequisiteCourses(Hashtable courses) {

}

void printSampleSchedule(Hashtable courses) {

}

void printCourseInformation(Hashtable courses, String courseNumber) {

}

// Tree pseudocode

int numPrerequisiteCourses(Tree courses) {

}

void printSampleSchedule(Tree courses) {

}

void printCourseInformation(Tree courses, String courseNumber) {

}

Example Runtime Analysis

When 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.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!