• This file should have a complete file header comment
UMBC Computer Science Major Progress
• The purpose of this assignment is to tell the user what CMSC course requirements they must meet to complete the Computer Science major at UMBC.
• Your program should only report CMSC requirements, not UMBC general course requirements.
• You can find the UMBC Computer Science Major Requirements at [url removed, login to view]
• You only need to print requirements from Parts A to C for this assignment. You can ignore the additional requirements in Parts D - G.
o Part A is the list of CMSC Core Requirements:
? CMSC 201 Computer Science I
? CMSC 202 Computer Science II
? CMSC 203 Discrete Structures
? CMSC 304 Ethical and Social Issues in Information Technology
? CMSC 313 Computer Organization & Assembly Language Programming
? CMSC 331 Principles of Programming Languages
? CMSC 341 Data Structures
? CMSC 345 Software Design and Development
? CMSC 411 Computer Architecture
? CMSC 421 Principles of Operating Systems
? CMSC 441 Algorithms
o Part B is the list of required MATH courses:
? MATH 151 Calculus and Analytic Geometry I
? MATH 152 Calculus and Analytic Geometry II
? MATH 221 Linear Algebra
o Part C is the STAT requirement.
? STAT 355 Introduction to Probability and Statistics for
Scientists and Engineers
(STAT 451 may be substituted for STAT 355.)
o You can also ignore any GPA requirements for the courses.
This assignment requires much more user input than prior assignments.
• You should prompt the user for each CMSC course they have taken.
o Hint: If you ask the user how many classes they have taken, you'll know how many times to prompt the user.
• The user will enter classes in the form:
• For example, a user who has completed 201 would enter:
• For this assignment, you can assume the input will be formatted properly. Don't worry about about checking the input for errors.
Program Output: Parts A - C
After reading all of the input from the user, you need to output the requirements the user still needs to complete for the degree for each of the parts A - C.
• You should print a header before each part like:
Part <X> Requirements
• If the user has completed all of the requirements for that part, your program should indicate that instead, with:
You have satisfied the Part <X> Requirements
• For Parts A and B, a student has no choice in class selection, they must take all of the listed classes. Therefore, your program should print out each class that the user has not taken. A senior might get the following output:
o For Part A:
Part A Requirements:
You need to take CMSC 421
You need to take CMSC 441
o For Part B:
Part B Requirements:
You need to take MATH 221
• For Part C, a student must take STAT 355 or STAT 451, so if the user hasn't taken one of those courses you should indicate that:
Part C Requirements:
You need to take STAT 355 or STAT 451
• You must use lists of classes.
• There should be lists of classes that are required for sections A & B.
• Since the CMSC requirements list is quite long, simple assignment would cause wrapping in an 80-character wide window. Therefore, you should make use of [url removed, login to view]() and/or [url removed, login to view]() to create this list in its entirety.
• You'll also need a list of classes that the user has taken.
• Keep in mind that students may have taken classes that are not part of the requirements, i.e. CMSC 104 or MATH 150. The user is allowed to enter these courses as courses they've taken. Your program should accept them and place them into the user's list..
PLEASE LOOK AT THE ATTACHED FILES FOR MORE DETAILS.
MUST BE DONE BY TOMORROW.