diff --git a/src/pom.xml b/src/pom.xml
new file mode 100644
index 00000000..429ce2ee
--- /dev/null
+++ b/src/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ org.example
+ src
+ 1.0-SNAPSHOT
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+
+
+
\ No newline at end of file
diff --git a/src/src/main/java/Student.java b/src/src/main/java/Student.java
new file mode 100644
index 00000000..104d7616
--- /dev/null
+++ b/src/src/main/java/Student.java
@@ -0,0 +1,55 @@
+import java.util.ArrayList;
+import java.util.Scanner;
+
+public class Student {
+ public long id;
+ public String name;
+ public ArrayList grades;
+
+ public Student(String name, long id, ArrayList grades) {
+ this.id = id;
+ this.name = name;
+ this.grades = grades;
+ }
+
+ public Student(String name, long id) {
+ this.id = id;
+ this.name = name;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ArrayList getGrades() {
+ return grades;
+ }
+
+ public void setGrades(ArrayList grades) {
+ this.grades = grades;
+ }
+ public void addGrade(int grade){
+ Integer gradeEntered = grade;
+ this.grades.add(gradeEntered);
+ }
+ public double getGradeAverage(){
+ int total = 0;
+ for(int grade : grades){
+ total+=grade;
+ }
+ return (double) total / grades.size();
+ }
+
+}
diff --git a/src/src/test/java/StudentTest.java b/src/src/test/java/StudentTest.java
new file mode 100644
index 00000000..e0f11aad
--- /dev/null
+++ b/src/src/test/java/StudentTest.java
@@ -0,0 +1,35 @@
+import org.junit.Test;
+import static org.junit.Assert.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class StudentTest {
+
+ @Test
+ public void testStudentConstructor() {
+ Student student = new Student("John Doe", 123456, new ArrayList(List.of()));
+ assertEquals("John Doe", student.getName());
+ assertEquals(123456, student.getId());
+ assertEquals(new ArrayList(), student.getGrades());
+ }
+
+ @Test
+ public void testAddGrade() {
+ Student student = new Student("John Doe", 123456, new ArrayList(List.of()));
+ student.addGrade(90);
+ student.addGrade(85);
+ assertEquals(2, student.getGrades().size());
+ assertEquals(90, (int) student.getGrades().get(0));
+ assertEquals(85, (int) student.getGrades().get(1));
+ }
+
+ @Test
+ public void testGradeAverage() {
+ Student student = new Student("John Doe", 123456, new ArrayList(List.of()));
+ student.addGrade(90);
+ student.addGrade(85);
+ assertEquals(87.5, student.getGradeAverage(), 0.0);
+ }
+}
+