Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Project 3: Student Class List Problem Write an application which stores the courses taken by a student and prints out a report. Data will be

image text in transcribed

image text in transcribed

image text in transcribed

Project 3: Student Class List Problem Write an application which stores the courses taken by a student and prints out a report. Data will be read from a data.txt file. Once all data has been read from the data.txt file, your program should print a report as shown in the Program Output section below. After the list of courses has been printed, you should then calculate and display the cumulative GPA of all courses in the list. Important Constraints 1. 2. You must implement a linked list as the underlying data structure. Course entries will be stored in the linked list structure. 3. This must be done using classes and objects in OOP style. Each class will be in a separate module (see below) and the application code that reads the data from the data.txt file will be in file main.py. Course ADT (course.py) You will implement a Course ADT which implements the following methods: constructor: must have default values for all parameters and must validate all parameters. number(): retrieve Course Number as an integer name(): retrieve Course Name as a string credit_hr(): retrieve Credits as a floating-point number grade(): retrieve Grade as a numeric value in range 4.0 0.0 str__(): returns a string representing a single Course as shown in the Program Output section The courses taken by the student will be provided in a data file. You will have to parse the data from that file and store it in a Linked List of courses. CourseList ADT (courselist.py) Your CourseList ADT must use a Linked List implementation. The course list must be able to hold an unlimited number of Courses. The CourseList ADT implements the following methods: constructor to initialize all needed data for an empty list insert(Course): insert the specified Course in Course Number ascending order remove(number): remove the first occurrence of the specified Course remove_all(number): removes ALL occurrences of the specified Course find(number): find the first occurrance of the specified course in the list or return -1 size(): return the number of items in the list calculate_gpa(): return the GPA using all courses in the list is_sorted(): return True if the list is sorted by Course Number, False otherwise str LO: returns a string with each Course's data on a separate line (as shown in the Program Output) _iter_0 and next_0: the linked list must be iterable . Program Output C:\Users\Dana Doggett\OneDrive\Documents\UVU\Spring 2020\cs2420\Projects Project 2>python main.py Current List: (5) cs1030 Introduction to Computers Grade:3.2 Credit Hours: 2.0 cs1400 Introduction to Programming Grade:3.6 Credit Hours: 4.0 cs1410 C++ Programming Grade:2.6 Credit Hours: 4.0 cs2420 Introduction to Data Structures Grade:3.2 Credit Hours: 4.0 cs2819 Computer Architecture Grade:3.8 Credit Hours: 3.0 Cumulative GPA: 3.259 C:\Users\Dana Doggett\OneDrive\Documents\UVU\Spring 2020\cs2420\Projects\Project 2> Figure 1. Example Program Output Grading (100 points) pylint will be run on corse.py and courselist.py. Expected minimum score for each file is 8.5. Score is the sum of: Percentage of test cases passed x 80 points min(Coding style score/8.5, 1) x 20 points Possible adjustment due to physical inspection of the code, to make sure you actually implemented things. What to Submit in Canvas . main.py (driver file) course.py courselist.py A link to a short video showing results of your code running, 1 minute max. Post the video on Youtube, for example, with a unlisted link, and submit the link in comments to your submission. data_-832937263.txt 1400, Introduction to Programming,4,3.6 1410, C++ Programming,4,2.6 2810, Computer Architecture,3,3.8 2420, Introduction to Data Structures,4,3.2 1030, Introduction to Computers,2,3.2

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Internals A Deep Dive Into How Distributed Data Systems Work

Authors: Alex Petrov

1st Edition

1492040347, 978-1492040347

Students also viewed these Databases questions

Question

How do modern Dashboards differ from earlier implementations?

Answered: 1 week ago