diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..822bbc9
Binary files /dev/null and b/.DS_Store differ
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..c5f3f6b
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "java.configuration.updateBuildConfiguration": "interactive"
+}
\ No newline at end of file
diff --git a/assets/lesson1-01.png b/assets/lesson1-01.png
new file mode 100644
index 0000000..c7005d2
Binary files /dev/null and b/assets/lesson1-01.png differ
diff --git a/assets/lesson1-02.png b/assets/lesson1-02.png
new file mode 100644
index 0000000..13ac891
Binary files /dev/null and b/assets/lesson1-02.png differ
diff --git a/assets/lesson1-03.png b/assets/lesson1-03.png
new file mode 100644
index 0000000..e520430
Binary files /dev/null and b/assets/lesson1-03.png differ
diff --git a/assets/lesson1-04.png b/assets/lesson1-04.png
new file mode 100644
index 0000000..f7746f1
Binary files /dev/null and b/assets/lesson1-04.png differ
diff --git a/assets/lesson1-05.png b/assets/lesson1-05.png
new file mode 100644
index 0000000..bd71bcd
Binary files /dev/null and b/assets/lesson1-05.png differ
diff --git a/assets/lesson1-06.png b/assets/lesson1-06.png
new file mode 100644
index 0000000..58b5454
Binary files /dev/null and b/assets/lesson1-06.png differ
diff --git a/assets/lesson1-07.png b/assets/lesson1-07.png
new file mode 100644
index 0000000..482d170
Binary files /dev/null and b/assets/lesson1-07.png differ
diff --git a/assets/lesson1-08.png b/assets/lesson1-08.png
new file mode 100644
index 0000000..7325d3c
Binary files /dev/null and b/assets/lesson1-08.png differ
diff --git a/assets/lesson1-09.png b/assets/lesson1-09.png
new file mode 100644
index 0000000..e6d6d52
Binary files /dev/null and b/assets/lesson1-09.png differ
diff --git a/assets/lesson1-10.png b/assets/lesson1-10.png
new file mode 100644
index 0000000..367c0b8
Binary files /dev/null and b/assets/lesson1-10.png differ
diff --git a/assets/lesson1-11.png b/assets/lesson1-11.png
new file mode 100644
index 0000000..c152a3d
Binary files /dev/null and b/assets/lesson1-11.png differ
diff --git a/assets/lesson1-12.png b/assets/lesson1-12.png
new file mode 100644
index 0000000..e8ca2e9
Binary files /dev/null and b/assets/lesson1-12.png differ
diff --git a/assets/lesson1-13.png b/assets/lesson1-13.png
new file mode 100644
index 0000000..b0b58cb
Binary files /dev/null and b/assets/lesson1-13.png differ
diff --git a/assets/lesson1-14.png b/assets/lesson1-14.png
new file mode 100644
index 0000000..abd7308
Binary files /dev/null and b/assets/lesson1-14.png differ
diff --git a/assets/lesson1-15.png b/assets/lesson1-15.png
new file mode 100644
index 0000000..876d498
Binary files /dev/null and b/assets/lesson1-15.png differ
diff --git a/assets/lesson1-16.png b/assets/lesson1-16.png
new file mode 100644
index 0000000..8654522
Binary files /dev/null and b/assets/lesson1-16.png differ
diff --git a/assets/lesson1-17.png b/assets/lesson1-17.png
new file mode 100644
index 0000000..0c7baaf
Binary files /dev/null and b/assets/lesson1-17.png differ
diff --git a/assets/lesson1-18.png b/assets/lesson1-18.png
new file mode 100644
index 0000000..6515601
Binary files /dev/null and b/assets/lesson1-18.png differ
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..74d711d
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,75 @@
+
+
+ 4.0.0
+
+ com.csase
+ githubintro
+ 1.0
+
+ githubintro
+
+
+ UTF-8
+ 17
+ 17
+ 17
+
+
+
+
+
+ org.junit
+ junit-bom
+ 5.9.1
+ pom
+ import
+
+
+
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.24
+ true
+
+
+ org.junit.jupiter
+ junit-jupiter
+ test
+
+
+
+ org.junit.jupiter
+ junit-jupiter-params
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+
+
+
+
+ maven-surefire-plugin
+ 2.22.2
+
+
+
+
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 0000000..9d6a566
Binary files /dev/null and b/src/.DS_Store differ
diff --git a/src/main/.DS_Store b/src/main/.DS_Store
new file mode 100644
index 0000000..55c1fcb
Binary files /dev/null and b/src/main/.DS_Store differ
diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store
new file mode 100644
index 0000000..35a54bf
Binary files /dev/null and b/src/main/java/.DS_Store differ
diff --git a/src/main/java/com/csase/Assignment.java b/src/main/java/com/csase/Assignment.java
new file mode 100644
index 0000000..3e6b61c
--- /dev/null
+++ b/src/main/java/com/csase/Assignment.java
@@ -0,0 +1,57 @@
+package com.csase;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
+/*
+ * Represents an assignment with a name and due date
+ */
+public class Assignment {
+
+ private String name; // name of assignment
+ private LocalDate dueDate; // due date of assignment
+
+ /*
+ * Sets name and due date of assignment
+ */
+ public Assignment(String name, LocalDate dueDate) {
+ this.name = name;
+ this.dueDate = dueDate;
+ }
+
+ /*
+ * Returns name of assignment
+ */
+ public String getName() {
+ return this.name;
+ }
+
+ /*
+ * Returns due date of assignment
+ */
+ public LocalDate getDueDate() {
+ return this.dueDate;
+ }
+
+ /*
+ * Sets name of assignment
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /*
+ * Sets due date of assignment
+ */
+ public void setDate(LocalDate dueDate) {
+ this.dueDate = dueDate;
+ }
+
+ /*
+ * Returns string representation of assignment
+ */
+ public String toString() {
+ return this.name + " (due: " + this.dueDate.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) + ")";
+ }
+
+}
diff --git a/src/main/java/com/csase/DeleteMe.java b/src/main/java/com/csase/DeleteMe.java
new file mode 100644
index 0000000..11ad3c4
--- /dev/null
+++ b/src/main/java/com/csase/DeleteMe.java
@@ -0,0 +1,9 @@
+package com.csase;
+
+public class DeleteMe {
+
+ public void deleteMe() {
+ System.out.println("Delete me!");
+ }
+
+}
diff --git a/src/main/java/com/csase/PlannerRunner.java b/src/main/java/com/csase/PlannerRunner.java
new file mode 100644
index 0000000..d689210
--- /dev/null
+++ b/src/main/java/com/csase/PlannerRunner.java
@@ -0,0 +1,13 @@
+package com.csase;
+
+public class PlannerRunner {
+ public static void main(String[] args) {
+
+ // Create a new student
+ Student jada = new Student();
+
+ // Gets the student's choice until the student exits
+ jada.getChoice();
+
+ }
+}
diff --git a/src/main/java/com/csase/Student.java b/src/main/java/com/csase/Student.java
new file mode 100644
index 0000000..66c709a
--- /dev/null
+++ b/src/main/java/com/csase/Student.java
@@ -0,0 +1,63 @@
+package com.csase;
+
+import java.util.Scanner;
+
+/*
+ * Represents a student that with a study planner
+ */
+public class Student {
+
+ private StudyPlanner planner; // study planner
+ private Scanner scanner; // scanner for user input
+
+ /*
+ * Sets study planner and scanner
+ */
+ public Student {
+ planner = new StudyPlanner();
+ scanner = new Scanner(System.in);
+ }
+
+ /*
+ * Gets the student's choice and runs it until the student exits
+ */
+ public void getChoice() {
+ int option = -1;
+
+ while (option != 3) {
+ System.out.println("Welcome to Study Planner!");
+ System.out.println("What would you like to do?");
+ System.out.println(planner.getOptions());
+ System.out.print("Enter option: ");
+ option = scanner.nextInt();
+ scanner.nextLine();
+ runChoice(option);
+ }
+ }
+
+ /*
+ * Runs the student's choice
+ */
+ public void runChoice(int option) {
+ if (option == 1) {
+ addAssignment();
+ } else if (option == 2) {
+ System.out.println(planner.listAssignments());
+ } else if (option == 3) {
+ System.out.println("Goodbye!");
+ } else {
+ System.out.println("Invalid option!");
+ }
+ }
+
+ /*
+ * Adds a new assignment to the study planner
+ */
+ public void addAssignment() {
+ System.out.print("Enter assignment name: ");
+ String name = scanner.nextLine();
+ System.out.print("Enter due date (YYYY-MM-DD): ");
+ String dueDate = scanner.nextLine();
+ planner.addAssignment(name, dueDate);
+ }
+}
diff --git a/src/main/java/com/csase/StudyPlanner.java b/src/main/java/com/csase/StudyPlanner.java
new file mode 100644
index 0000000..be74d88
--- /dev/null
+++ b/src/main/java/com/csase/StudyPlanner.java
@@ -0,0 +1,67 @@
+package com.csase;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+
+/*
+ * Represents a study planner with a list of assignments
+ */
+public class StudyPlanner {
+
+ private ArrayList assignments; // list of assignments
+ private String[] options; // list of options
+
+ /*
+ * Sets assignments and options
+ */
+ public StudyPlanner() {
+ assignments = new ArrayList();
+ options = new String[]{"1. Add Assignment", "2. List Assignments", "3. Exit"};
+ }
+
+ /*
+ * Returns list of assignments
+ */
+ public ArrayList getAssignments() {
+ return assignments;
+ }
+
+ /*
+ * Adds a new assignment to the list of assignments
+ */
+ public void addAssignment(String name, String dueDateString) {
+ LocalDate dueDate = LocalDate.parse(dueDateString, DateTimeFormatter.ISO_LOCAL_DATE);
+ assignments.add(new Assignment(name, dueDate));
+ }
+
+ /*
+ * Returns string representation of assignments
+ */
+ public String listAssignments() {
+ String assignmentsString = "";
+
+ if (assignments.size() == 0) {
+ return "No assignments to list!\n";
+ }
+
+ for (Assignment assignment : assignments) {
+ assignmentsString += assignment.toString() + "\n";
+ }
+
+ return assignmentsString;
+ }
+
+ /*
+ * Returns string representation of options
+ */
+ public String getOptions() {
+ String optionsString = "";
+
+ for (String option : options) {
+ optionsString += option + "\n";
+ }
+
+ return optionsString;
+ }
+}
diff --git a/target/classes/com/csase/Assignment.class b/target/classes/com/csase/Assignment.class
new file mode 100644
index 0000000..417f714
Binary files /dev/null and b/target/classes/com/csase/Assignment.class differ
diff --git a/target/classes/com/csase/DeleteMe.class b/target/classes/com/csase/DeleteMe.class
new file mode 100644
index 0000000..dc699dd
Binary files /dev/null and b/target/classes/com/csase/DeleteMe.class differ
diff --git a/target/classes/com/csase/PlannerRunner.class b/target/classes/com/csase/PlannerRunner.class
new file mode 100644
index 0000000..db6482a
Binary files /dev/null and b/target/classes/com/csase/PlannerRunner.class differ
diff --git a/target/classes/com/csase/Student.class b/target/classes/com/csase/Student.class
new file mode 100644
index 0000000..e0aece0
Binary files /dev/null and b/target/classes/com/csase/Student.class differ
diff --git a/target/classes/com/csase/StudyPlanner.class b/target/classes/com/csase/StudyPlanner.class
new file mode 100644
index 0000000..e7c8be6
Binary files /dev/null and b/target/classes/com/csase/StudyPlanner.class differ