***Grading System for IPAM, University of Sierra Leone***

 

🎓 Building a Java Grading System for IPAM, University of Sierra Leone

🔸 Intro: Why This Matters

At IPAM, grades aren’t just numbers—they’re defining moments. And honestly? Manually calculating grades is outdated. With a few lines of Java, we can flip that whole process into something faster, fairer, and future-ready. This blog post breaks down how to design a grading system tailored for IPAM using basic Java logic.


🔸 What the System Should Do

We’re building a grading assistant that takes raw scores, does the math, checks against grade bands, and gives meaningful feedback. Here’s what this little beast will handle:

  • Takes inputs: assignments, midterm, final exam marks

  • Applies correct weightings ( 25%, 5%, 70%)

  • Calculates a weighted average

  • Outputs a grade: A, B, C, D, F

  • Drops a message that feels human (not robotic)

This isn't just numbers — it's building a system that speaks to students.


🔸 Grade Logic: What’s the Rulebook?

Let’s set the standards straight (customized for IPAM):

Average (%)Letter GradeMessage
70–100A"Distinction – You crushed it!"
60–69B"Merit – Solid performance!"
50–59C"Pass – You got through!"
40–49D"Borderline – Close one!"
Below 40F"Fail – Don’t lose hope!"

for invalid inputs like negative marks or anything over 100. Message will be "IS NOT A VALID GRADE"


🔸 The Flow of the Program (Plain English)

Let’s ditch the code for now. Here’s the logic broken down like real life:

  1. Prompt for Input: Ask the user to enter marks (e.g. Attendance= 5%, Midterm = 30%, Final = 100%)

  2. Check Validity: Is everything between 0 and 100? If not, throw an error.

  3. Weight the Marks: Multiply each mark by its percentage weight.

  4. Add it All Up: Combine the weighted components.

  5. Determine Grade: See which grade range the total fits into.

  6. Display Feedback: Output the grade and a short message to the console or screen.

All done with a few conditions, a few checks, and clean design.


import java.util.Scanner;

public class IPAMGradingSystem {
    public static void main(String[] args) {
        Scanner justin = new Scanner(System.in);
        System.out.println("WELCOME TO IPAM GRADE CHECKER UNIT");
        // accepting input for test grade
        System.out.print("ENTER TEST GRADE(over 100): ");
        int TestGrade = justin.nextInt();
        // accepting input for Attendance grade
        System.out.print("ENTER ATTENDANCE GRADE(over 5): ");
        int AttendanceGrade = justin.nextInt();
        // Calculating for the test Score
        double CA = (TestGrade * 0.25) + AttendanceGrade;
        // dispay CA grade
        System.out.println("Continuos Assement = " + CA);
        System.out.print("Enter The Semester Examination Grade of Student(over 100): ");
        int ExamGrade = justin.nextInt();
        // Calculating for the Exam Score
        double EXAM = (ExamGrade * 0.7);
        // Calculating for the Final Semester Score    
        double fGrade = CA + EXAM;
        // dispay final semester grade
        System.out.println("Semester Grade = " + fGrade);
        // dispay GRADE LEVEL(A,B,C,D,F) grade
        if (fGrade <= 100 && fGrade >= 70) {
            System.out.println("Score is " + fGrade + "%  A" \n "Distinction – You crushed it!");
        } else if (fGrade <= 69 && fGrade >= 60) {
            System.out.println("Score is " + fGrade + "%  B" \n "Merit – Solid performance!" );
        } else if (fGrade <= 59 && fGrade >= 50) {
            System.out.println("Score is " + fGrade + "%  C" \n "Pass – You got through!" );
        } else if (fGrade <= 49 && fGrade >= 40) {
            System.out.println("Score is " + fGrade + "%  D" \n "Borderline – Close one!" );
        } else if (fGrade <= 39 && fGrade >= 0) {
            System.out.println("Score is " + fGrade + "%  F" \n "Fail – Don’t lose hope!" );
        } else {
            System.out.println(fGrade + "% "+"IS NOT A  VALID GRADE");
        }

        justin.close();
    }
}

/*Name: Umaru Justin Rogers
ID: I-24-62999
Information Technology */

Comments

Popular posts from this blog

**" MILESTONE OF COMPUTING & PROGRAMMING LANGUAGE" **"SOFTWARE DEVELOPMENT PARADIGMS"