1. The Python code for answering the questions can be either submitted as one single jupyter notebook or multiple jupyter notebooks. 2. Prepare a short report/note on explaining your assumptions/your design choices/functionality, etc. to understand your code in a better manner. It is also a good practice to use comments extensively in your cod to be easy for other people to understand.   Python Programming Question: As part of this question, you will need to develop a program using object-oriented features of Python language for the following program specification. Program Specification Let's imagine a hypothetical situation that our college has now planned to introduce a new Diploma programme for Data Science with the following four courses: 1. Python Programming Course 2. Data Mining and Machine Learning Course 3. Visual Analytics Course 4. Text Analytics Course Imagine that you are hired as a lead developer to develop a system for managing the Diploma Programme for Data Science. You are asked to develop the system (a program) in the Python language by duly incorporating object-oriented programming features so that the system will be easy to maintain, debug and also to extend the functionality later on if necessary. The following are the key requirements of diploma programme for Data Science. a) In order to ensure the quality of the students graduating from this programme, the course management has introduced 5 mandatory assignments in each course. The mandatory assignments from each course are graded as either Pass or Fail. A student has to pass at least 3 out of 5 mandatory assignments for that course to pass a  course. b) In order to pass the whole diploma programme in Data Science successfully, a student needs to pass all the courses individually, by meeting up the requirements of passing 3 out of 5 mandatory assignments, in each course of the diploma programme. c) Additionally, a student can also get a diploma certificate with distinction, if the student passes at least 17 mandatory assignments (out of a total of 20 assignments) from all the courses. Please note that this design choice chosen by course coordinators will make sure that a student, who wants a distinction, will have to pass all the 5 mandatory assignments from at least one single course (and 4 out of 5 assignments for the remaining 3 courses) to qualify for the distinction. Finally, if some of the requirements are not clear from the above requirements specification, please make suitable assumptions and describe/specify your assumptions about the functionality in the report.   Your Program   You MUST develop a program using Python language that will satisfy the functionality specified above. Based on your understanding and interpretation, there are many ways to develop such a program to satisfy above requirement specification. Therefore, please use your creativity to come up with a suitable design, that is which class will contain which functionality, which methods and so on. Please also keep your main focus to use various good programming techniques and practices that you have learnt in this course. For example, you should use proper exception handling with appropriate error messages at suitable places where you can expect exceptions and errors in your programme. The final output of your implementation should be a bunch of Python classes with some example code for testing the use cases/ scenarios such as   1. Adding/deleting a new course 2. Creating and adding students to a course, 3. Grading of the mandatory assignments i.e., a pass/fail for a student etc. 4. To get an overview at the diploma programme/course level to see how many students passed the programme and similarly 5. Test code to show the lists of students: a) who passed with distinction, b) passed and c) failed.   Program should have the following classes with the functionality/methods (but not limited to) as outlined briefly:   DiplomaProgramme - add course - remove course - list students who passed - list students who passed with distinction   Course - add student - remove student - pass a student's mandatory assignment - fail a student's mandatory assignment   Student - student information such as name, unique ID - abc123 - information of signed up courses - information mandatory assignments passed/fail - print method to print student's info  If possible add/modify it suitably to handle the given specification

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
100%

1. The Python code for answering the questions can be either submitted as one single jupyter notebook or multiple jupyter notebooks.

2. Prepare a short report/note on explaining your assumptions/your design choices/functionality, etc. to understand your code in a better manner. It is also a good practice to use comments extensively in your cod to be easy for other people to understand.  

Python Programming Question:

As part of this question, you will need to develop a program using object-oriented features of Python language for the following program specification. Program Specification Let's imagine a hypothetical situation that our college has now planned to introduce a new Diploma programme for Data Science with the following four courses:

1. Python Programming Course

2. Data Mining and Machine Learning Course

3. Visual Analytics Course

4. Text Analytics Course

Imagine that you are hired as a lead developer to develop a system for managing the Diploma Programme for Data Science. You are asked to develop the system (a program) in the Python language by duly incorporating object-oriented programming features so that the system will be easy to maintain, debug and also to extend the functionality later on if necessary.

The following are the key requirements of diploma programme for Data Science.

a) In order to ensure the quality of the students graduating from this programme, the course management has introduced 5 mandatory assignments in each course. The mandatory assignments from each course are graded as either Pass or Fail. A student has to pass at least 3 out of 5 mandatory assignments for that course to pass a  course.

b) In order to pass the whole diploma programme in Data Science successfully, a student needs to pass all the courses individually, by meeting up the requirements of passing 3 out of 5 mandatory assignments, in each course of the diploma programme.

c) Additionally, a student can also get a diploma certificate with distinction, if the student passes at least 17 mandatory assignments (out of a total of 20 assignments) from all the courses. Please note that this design choice chosen by course coordinators will make sure that a student, who wants a distinction, will have to pass all the 5 mandatory assignments from at least one single course (and 4 out of 5 assignments for the remaining 3 courses) to qualify for the distinction. Finally, if some of the requirements are not clear from the above requirements specification, please make suitable assumptions and describe/specify your assumptions about the functionality in the report.  

Your Program  

You MUST develop a program using Python language that will satisfy the functionality specified above. Based on your understanding and interpretation, there are many ways to develop such a program to satisfy above requirement specification. Therefore, please use your creativity to come up with a suitable design, that is which class will contain which functionality, which methods and so on. Please also keep your main focus to use various good programming techniques and practices that you have learnt in this course. For example, you should use proper exception handling with appropriate error messages at suitable places where you can expect exceptions and errors in your programme. The final output of your implementation should be a bunch of Python classes with some example code for testing the use cases/ scenarios such as  

1. Adding/deleting a new course

2. Creating and adding students to a course,

3. Grading of the mandatory assignments i.e., a pass/fail for a student etc. 4. To get an overview at the diploma programme/course level to see how many students passed the programme and similarly

5. Test code to show the lists of students:

a) who passed with distinction,

b) passed and

c) failed.  

Program should have the following classes with the functionality/methods (but not limited to) as outlined briefly:  

DiplomaProgramme

- add course

- remove course

- list students who passed

- list students who passed with distinction  

Course

- add student

- remove student

- pass a student's mandatory assignment

- fail a student's mandatory assignment  

Student

- student information such as name, unique ID - abc123

- information of signed up courses

- information mandatory assignments passed/fail

- print method to print student's info 

If possible add/modify it suitably to handle the given specification

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 6 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY