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.
|
Incorrect 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.5
|
0
|
|