Skip to content

Gundo-Codes/Smart-Study-Assistant

Repository files navigation

📘 Smart Study Assistant

A simple Java-based study management system that helps students organize their courses, track topics, and generate a personalized weekly study plan.

This project demonstrates Object-Oriented Programming (OOP) principles in Java, including classes, enums, encapsulation, and collections.


✨ Features

  • 👨‍🎓 Student Management

    • Create students with unique IDs
    • Enroll in or drop courses
    • View enrolled courses
  • 📚 Course Management

    • Add and remove topics
    • Track overall course progress (percentage completed)
    • Generate a weekly study plan based on topic difficulty
  • 📝 Topic Tracking

    • Difficulty levels: EASY, MEDIUM, HARD
    • Estimated study times
    • Mark topics as completed or pending
  • 📊 Difficulty-based Scheduling

    • Easy topics → early in the week
    • Medium topics → midweek
    • Hard topics → weekend
    • Max 2 topics per day

🗂️ Project Structure

Smart Study Assistant/ ├── Student.java # Represents a student, enrolled courses, course management ├── Course.java # Represents a course, manages topics and weekly plan ├── Topic.java # Represents a study topic with difficulty and completion status ├── Difficulty.java # Enum for EASY, MEDIUM, HARD + estimated study time


🚀 Getting Started

1. Compile the project

javac *.java

### 2. Run the program(you will need a Main.java with a main() method to test functionality)
public class Main {
    public static void main(String[] args) {
        Student s1 = new Student("Alice", "S001");
        Course c1 = new Course("CS101", "Intro to Programming");

        Topic t1 = new Topic("Variables", Difficulty.EASY);
        Topic t2 = new Topic("Loops", Difficulty.MEDIUM);
        Topic t3 = new Topic("OOP", Difficulty.HARD);

        c1.addTopic(t1);
        c1.addTopic(t2);
        c1.addTopic(t3);

        s1.enrollInCourse(c1);

        System.out.println(c1.getWeeklyStudyPlan());
    }
}

javac Main.java
java Main

Auther:

Developed by Ramukumba Gundo
Check out more of my projects here: https://github.com/Gundo-Codes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages