private Student statsLE(Student s) {
        double creditsSci = 0.0;
        double creditsUpper = 0.0;
        double credits_NonCSEMath = 0.0;
        ArrayList<Course> courses = s.getCourses();

        for (Course course : courses) {
            String grade = course.getGrade();

            if (YORK_GRADES.containsKey(grade)) {
                double gradeValue = YORK_GRADES.get(grade);

                if (gradeValue >= YORK_GRADES.get("D") ||
                    gradeValue == YORK_GRADES.get("P")) {

                    String faculty = course.getFaculty();
                    String department = course.getDepartment();
                    int courseCode = course.getCode();
                    double courseCredits = course.getCredits();

                    // Get 3xxx/4xxx credits
                    if (courseCode >= 3000) {
                        creditsUpper += courseCredits;
                    }

                    // Get non-CSE/MATH credits
                    if (!department.equals("MATH") &&
                        !department.equals("CSE")) {
                        credits_NonCSEMath += courseCredits;
                    }

                    /*
                     * Get science credits
                     *
                     * TODO: Math courses used to fall under AS (Art's &
                     *       Science)
                     */
                    if (faculty.equals("SC") || faculty.equals("LE")) {
                        creditsSci += courseCredits;
                    }
                }
            }
        }

        s.setCreditsSci(creditsSci);
        s.setCreditsUpper(creditsUpper);
        s.setCredits_NonCSEMath(credits_NonCSEMath);

        return s;
    }