Java Python MAT 181
Programming for Scientific Applications
Assignment 2 – To be submitted via E-learning on or before
2023 / 24 Sem 2
Tuesday, 12.00noon, 19th June 2024
Preface
In this assignment, it will contribute towards 15% of your course. This is an individual assignment.
Assignment 2 is aimed to fulfil the second and third course outcomes as the following
No | Course Outcome | Program Outcome | TL | Marks |
CO2 | Construct accurate and efficient programs using simple and advanced programming structures (modular programming, files manipulation, pointers) which add values to the computer programs | PO2- Practical Skills | P5 | 12.5 |
CO3 | Organize a programming task efficiently | PO8 - Entrepreneurial Skills | A4 | 2.5 |
Objective: Learn to use 2D arrays and pointers to manipulate and analyze
student marks. This includes calculating average marks per subject and per student, and categorizing students based on their average scores.
Instructions:
1. Define a 2D array containing marks of 10 students for the subjects: Mathematics, History, English, and Science.
2. Calculate and print the average marks for each subject.
3. Calculate and print the average score for each student.
4. Label each student as "Really weak", "Weak", "Average", "Good", or
"Excellent" based on their average score using the thresholds: 20, 40, 55, 70, 85. (Hint: Use If)
5. Record your live coding and explanation.
6. Demonstrate the code and show its final output.
7. Take note that using functions and pointers will allow you to obtain full score.
Submission Specifications
1. Written report is not needed.
2. Submit video only. You should explain the meaning of the lines as or after you finish typing the line. Reduce your video size. Use Handbrake to compress your video before you submit.
3. Upload your C++ file as well.
Rubrics
CO2 | Construct accurate and efficient programs using simple and advanced programming structures (modular programming, files manipulation, pointers) which add values to the computer programs | PO2- Practical Skills |
Attribute | Excellent | Good | Fair | Bad | Poor | Score |
Accurate and Efficient Program | Comprehensive use of 2D arrays, accurate calculations, effective labeling, and efficient use of pointers. | Mostly correct implementation with minor errors or inefficiencies. Effective use of most advanced structures. | Basic implementation with correct 2D arrays, averages, and labels. Minimal or incorrect use of pointers. | Partial implementation with significant errors. Minimal use of advanced structures. | Incor MAT 181 Programming for Scientific Applications 2023 / 24 Sem 2 Assignment 2C/C++ rect or incomplete implementation with numerous errors and no use of advanced structures. | |
9 | 7 | 5 | 3 | 1 | ||
Modular Programming | Code is well- organized with clear modularity, using functions efficiently. | Code is mostly organized with some modularity but could be improved. | Code is somewhat organized but lacks clear modularity. | Code is poorly organized with minimal modularity. | Code is unorganized with no modularity. | |
3.5 | 2.5 | 1.5 | 0.5 | 0 |
CO3 | Organize a programming task efficiently | PO8 - Entrepreneurial Skills |
Attribute | Excellent | Good | Fair | Bad | Poor | Score |
Explanation of Code and Organization | Clear and thorough explanation of code, approach, and logic. Demonstrates deep understanding. Efficiently organizes and presents the task. | Good explanation with some minor gaps. Shows understanding of the approach. Well- organized presentation with minor issues. | Basic explanation with some understanding of the logic. Somewhat organized but lacks clarity or structure. | Incomplete explanation with minimal understanding shown. Poorly organized with significant issues in clarity or structure. | Poor or no explanation of the code and approach. Disorganized and unclear presentation. | |
2.5 | 1.5 | 1 | 0 |