Reference no: EM132304262
Assignment: Grade Calculator
To write an algorithm/ flowchart, and implement the algorithm using Python programming language for given specifications/requirements.
Purpose of the assessment
This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements in them:
c. Apply principles of abstraction and problem solving in an object-oriented programming language
d. Apply knowledge of programming constructs in developing computer programs
e. Create programs based on incremental development processes of designing, coding, testing and debugging.
To write an algorithm/flowchart, and implement the algorithm using Python programming language for given specifications/requirements.
Assignment description:
The students shall develop a logic to calculate the final grade for MN404 unit. They may refer to the MN404 Unit Description to calculate the final grade of a student. The logic has to be represented either as a flowchart, or as an algorithm. Further, a program has to be coded to implement the logic and generate grade as per MIT's policy.
Generally, in a project you should write a program that contains an introductory docstring. This documentation should describe what the program will do (analysis) and how it will do it (design the program in the form of a pseudocode algorithm). Include suitable prompts for all inputs, and label all outputs appropriately. After you have coded a program, be sure to test it with a reasonable set of legitimate inputs. The assignment report has to include the following specification sections:
Specifications:
1. User Requirements: Include all the requirements here
2. Analysis
Analysis often requires the programmer to learn some things about the problem domain and what information the user will have to provide. In addition, it should specify what the program is going to do.
In this case, the problem domain would be on the rules/policies to compute the final grade, hurdles, percentage contributed by each assessment and number of assessments etc. For policies, please refer the MN404 unit description.
The user shall provide the marks scored in all the assessments. The program has to compute the final grade scored or decisions for supplementary assessments if the score is between 40% to 49%. The user inputs and the final output have to be user friendly and with proper terminal based interface.
Inputs:For instance - Sample set 1:
Assessment Type
|
Raw marks
|
Percentage
|
In Class Test
|
20/30
|
10*20/30 = 6.66
|
Assignment 1
|
45/60
|
45*20/60 = 15
|
Assignment 2
|
55/80
|
55*20/80 =13.75
|
Lab/PBL
|
9/10
|
9
|
Final Exam
|
35/60
|
35*40/60 = 23.33
|
|
|
67.74
|
Check if the hurdles are cleared. For example: min. score in the Final exam has to be 40%
Output of the program
The grade of Name, MIT idis Credit
Other Possible outcomes:
If the total score is between 40 and 50 then suggest Supplementary FE.
If unable to attend FE then suggest deferred Exam.
3. Design:
The design phase has to describe how the program is going to do it. This usually involves writing an algorithm. In fact, algorithms are more often written in a somewhat stylized version of English called pseudocode.
Although there are no precise rules governing the syntax of pseudocode, in your pseudocode you should strive to describe the essential elements of the program in a clear and concise manner. Note that this pseudocode closely resembles Python code, so the transition to the coding step should be straightforward.
Pl note: This phase (Steps 1-3) has to be completed and present in week 10 lab class.
4. Implementation Phase:
In this phase the complete code in python without any syntax and semantic errors has to be submitted. The complete code with proper indentation has to be presented along withsample inputs and outputs.
5. Testing:
Only thorough testing can one build confidence that a program is working correctly. Testing is a deliberate process that requires some planning and discipline on the programmer's part. It would be much easier to turn the program in after the first successful run to meet a deadline or to move on to the next assignment. However, your grade, your job, or people's lives might be affected by the slipshod testing of software.
Once all the errors are debugged, set of all possible inputs are to be provided. Even though the range of the input numbers on a computer is finite, testing all of the possible combinations of inputs would be impractical. The challenge is to find a smaller set of inputs, called a test suite, from which we can conclude that the program islikely to givecorrect output for all inputs. The number and types of input samples have to cover all possible cases of grades and decisions, such as supplementary assignment 1 or 2, sup. In-Class test and/or final exam., and deferred cases as well.
6. Trouble shooting:
Sometimes, the unexpected happens. This could be the result of a technical problem, a
limitation,or user error. Please mention five challengesyou have faced while carrying out yourassignment 2.Also explain how you overcome all the challenges.
7. Comments / Documentation:
Tips related to comments and doc strings:
a. Begin a program with a statement of purpose and other information helpful to programmers
b. Accompany a variable definition with a comment that explains the variable's purpose
c. Precede major segments of code with brief comments that explain their purpose
d. Include comments to explain the workings of complex or tricky sections of code
In summary:
The program has to perform the following:
• Read the assessments marks for all five components. Provide a good interface with appropriate prompts.
• Compute (analyse+ design) the grade based on the policies/strategies mentioned in UD.
• Generate outputs and also provide decisions for supplementary assessments and deferred tests.
Attachment:- Fundamentals of Operating Systems and Java Programming.rar