Reoprt
Reoprt
1
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CERTIFICATE
This is to certify that the project report titled “AI Based Academic Advisor” is being submitted by
Bellamkonda Sricharan(22911A05L8), Goswami Prem(22911A05M4), Goundla Sankeerth
Goud(22911A05M5), Mingari Vinay(22911A05P0) in partial fulfillment for Mini Project in
Computer Science and Engineering, is a record of bonafide work carried out by them under my
guidance and supervision.
2
DECLARATION
We, Bellamkonda Sricharan, Goswami Prem, Goundla Sankeerth Goud, Mingari Vinay
hereby declare that the Mini Project entitled, “AI Based Academic Advisor” submitted for the degree
of Bachelor of Technology in Computer Science and Engineering is original and has been done by
us and this work is not copied and submitted anywhere for the award of any degree.
Date:
Place: Hyderabad
GoundlaSankeerthGoud(22911A0LM5)
3
ACKNOWLEDGEMENT
We wish to express our sincere gratitude to the project guide, Dr. P. Sandhya Assistant Professor,
Vidya Jyothi Institute of Technology, Hyderabad for her timely cooperation and valuable suggestions
while carrying out this work. It is her kindness that made us learn more from her.
We are grateful to Dr. D. Aruna Kumari, Professor, and HoD, Department of CSE, for her help and
support during our academic year.
We wholeheartedly convey our gratitude to Principal Dr. A. Srujana for providing the necessary
infrastructure to complete this project.
We would thank my parents and the faculty members who have contributed to our progress through
the course to come to this stage.
GoundlaSankeerthGoud(22911A0LM5)
4
ABSTRACT
AI Based Academic Advisor
The AI-based Academic Advisor project aims to revolutionize educational and career
guidance by combining artificial intelligence with intuitive web-based interaction. Traditional
academic advising systems often rely on static content or rule-based logic, offering generic
recommendations that fail to address the unique strengths and aspirations of individual students. In
contrast, this project integrates machine learning to offer tailored suggestions, making academic
planning more data-driven and personalized.
Unlike generic career websites or static counseling tools, the AI-based Academic Advisor
bridges the gap between data and decision-making by providing contextual YouTube playlists
alongside recommendations, helping users explore fields more interactively. While tools like
MyNextMove and CareerExplorer offer static mappings of interests to careers, they lack the dynamic
learning and personalization capabilities of AI-driven systems.
Furthermore, the platform design takes cues from the growing adoption of intelligent
dashboards and real-time user data processing in edtech solutions, ensuring that students are
continuously engaged with relevant academic insights. By blending the capabilities of machine
learning, intuitive user experience, and real-time content linkage, the AI-based Academic Advisor
offers a future-ready solution that addresses key shortcomings in existing academic guidance
platforms.
5
INDEX
Contents Page No
1. Introduction 8
2. Literature Survey 9
3. Feasibility Study 10
3.1 Technical Feasibility 10
3.2 Operational and Economic Feasibility 10
4. System Analysis 11
4.1 Existing System 11
4.2 Proposed System 11
4.3 System Requirements 11
4.3.1 Software Requirements 11
4.3.2 Hardware Requirements 12
4.4 Requirements Definition 12
4.4.1 Functional Requirements 12
4.4.2 Non Functional Requirements 12
5. System Design 13
5.1 Class Diagram 14
5.2 Data Flow Diagram 15
6. Software Implementation 21
6.1 Web Technologies 21
6.1.1 Technologies used in the application 21
6.2 Sample Code 23
7. System Testing 29
8. Results and Output Screens 34
9. Conclusion and Future Enhancement 41
10. References 42
6
LIST OF SCREENSHOTS
7
CHAPTER 1
INTRODUCTION
The AI-Based Academic Advisor is a smart web application that aims to
support students in making informed decisions about their academic and career paths
using data-driven recommendations. Built using Python, Flask, and machine learning
libraries such as scikit-learn, the system processes user input—such as education
level, interests, and personal strengths—to predict suitable career options. At the core
of the system is a Random Forest Classifier model trained on historical user data,
enabling the application to classify inputs and generate meaningful career
suggestions with high accuracy.
The system features a modular architecture, separating concerns across training,
inference, and presentation layers. The backend handles model prediction and data
encoding, while the frontend provides a clean, intuitive user interface built with
HTML, CSS, and JavaScript. After submitting a form, users receive a tailored
recommendation, along with a curated YouTube playlist aligned with the suggested
career path. These multimedia resources serve as a gateway for users to explore
potential professions in more depth.
This advisor not only simplifies the process of career planning for students but also
provides a scalable foundation for educational institutions and counselors seeking to
integrate AI into their advising systems. With its extensible design, the project allows
for easy integration of additional data features, user profiles, or even real-time
feedback loops, making it a forward-thinking solution for personalized academic
guidance.
8
CHAPTER 2
LITERATURE SURVEY
9
CHAPTER 3
FEASIBILITY STUDY
3.1 Technical Feasibility
• The project uses mature and accessible technologies such as Python and
Flask.
• Machine learning is implemented using the scikit-learn library.
• A Random Forest Classifier is used for robust multi-class classification.
• LabelEncoder is applied to preprocess categorical user input.
• The architecture is modular, separating training, serving, and front-end
layers.
• Components like the model and encoders are serialized using Python's
pickle module.
• This enables efficient loading and prediction at runtime.
3.2 Operational and Economic Feasibility
• The system is user-centric, offering a simple and intuitive interface.
• Built with HTML, CSS, and JavaScript for ease of use.
• Can run on standard web servers with no need for high-performance
hardware.
• Utilizes open-source libraries, reducing licensing and development costs.
• Easily deployable on local machines or low-cost cloud services.
• Suitable for educational institutions like schools, colleges, and NGOs.
• Integrates free educational multimedia (e.g., YouTube playlists) to
enhance value.
10
CHAPTER 4
SYSTEM ANALYSIS
• Data Storage: CSV files (for user data and model training)
11
4.3.2 Hardware Requirements
● RAM: Minimum 4GB (Recommended 8GB for development)
● Processor: Intel i3 or above
● Storage: At least 4GB of free disk space
The non-functional attributes ensure that AI-based Academic Advisor is efficient, scalable, and user-
friendly. The system delivers fast prediction responses with minimal latency and supports consistent
performance under increased usage. Its clean and intuitive web interface is accessible to users across
academic levels. Data is processed securely using local file handling, and the modular architecture allows
for easy maintenance and future enhancements. The lightweight design ensures smooth navigation, making
the platform reliable and adaptable for evolving academic needs.
12
CHAPTER 5
SYSTEM DESIGN
Use cases support clear communication, help define system functionality, and serve as a guide
during development and testing. Multiple use cases are created to capture the full functionality of the
system.
In AI-based Academic Advisor, actors include Student, Admin, and ML Engine, with interactions like
submitting user data, receiving recommendations, or managing datasets.
13
Paths entities in the system.
This includes deployment on local or cloud servers, interaction with CSV data files, and
optional integration with video platforms like YouTube for course recommendations.
UML design in AI-based Academic Advisor is categorized into two modeling domains:
UML Analysis Modeling: Focuses on the user and structural views, including actor
interactions and data flow.
Includes use cases like Login, Submit User Data, Get Career Recommendations, View
Learning Resources, Navigate Dashboard.
14
1. Class Diagram:
15
2. Activity Diagram:
16
3. Sequence Diagram:
17
4. Use case diagram:
18
5. Component Diagram:
19
6.object Diagram:
20
CHAPTER 6
SOFTWARE IMPLEMENTATION
6.1 Web Technologies
The AI-Based Academic Advisor system integrates essential web and AI technologies to
provide an intelligent, user-friendly career guidance platform. The system is built with a focus on
accessibility, responsiveness, and data-driven decision-making, using both backend and frontend
technologies for streamlined implementation.
Python powers the core recommendation logic of the system. Using libraries such as
Pandas, NumPy, and Scikit-learn, it processes student input and predicts suitable academic or
career paths. The model is trained on labeled data and returns personalized suggestions.
The user interface is built using HTML for content structure and CSS for styling. Input
fields, buttons, and result display sections are designed to be clean and responsive, ensuring
a smooth experience for users accessing the platform on web browsers.
Flask integrates with Jinja2 templates to dynamically render HTML pages. Based on
user inputs, the server populates the prediction results, YouTube recommendations, and
guidance content on the output page using this templating system.
22
6.2 Sample Code
app = Flask(_name_)
app.secret_key = 'your_secret_key'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/predict', methods=['POST'])
def predict():
name = request.form['name']
age = request.form['age']
education = request.form['education']
interest = request.form['interest']
strength = request.form['strength']
encoded_input = [
le_education.transform([education])[0],
le_interest.transform([interest])[0],
le_strength.transform([strength])[0]
]
recommendation = model.predict([encoded_input])[0]
session['user'] = {
'name': name,
'age': age,
'education': education,
'interest': interest,
'strength': strength,
'recommendation': recommendation,
'visited_courses': []
}
return redirect(url_for('recommendation'))
23
@app.route('/recommendation')
def recommendation():
recommendation = session['user']['recommendation']
return render_template('recommendation.html', recommendation=recommendation)
@app.route('/courses')
def courses():
recommendation = session['user']['recommendation']
session['user']['visited_courses'].append(recommendation)
youtube_links = {
'Archaeology': [
'https://youtube.com/playlist?list=PLnl4bzqH5QqKVoafPg1adHUxPurKvfyxr',
'https://youtube.com/playlist?list=PLAiwjOgpXvubzuVsbfRI0L4mJoFvQHNWv',
'https://youtube.com/playlist?list=PL1mr9ZTZb3TUqxi2svB3PUHvj-9io2RL5',
'https://youtube.com/playlist?list=PLhMDlPcDRBKQHBoEHIsEvMbnUFMb7tbLB'
],
'Agricultural Scientist': [
'https://youtube.com/playlist?list=PLsXBJ1D_rGFLKeEdOQq87c0GJaFNn83uO',
'https://youtube.com/playlist?list=PL5QqUn7E35CDFpwC1lTzCI7d5u5rsppsn',
'https://youtube.com/playlist?list=PLCT8-CYagFjM1CMAMw1G0adkzx9z06V9i',
'https://youtube.com/playlist?list=PLnI1zSpX4B-BFYqiaIvz71du2Yqc86nCh'
],
'Banker': [
'https://youtube.com/playlist?list=PLRYBXdFrXO9WpeTKOj2xZiEhP1qSo8WYd',
'https://youtube.com/playlist?list=PLfoo1YHNBGvZNMCVdNJDnUeiIMqSjCCBR',
'https://youtube.com/playlist?list=PLhli2lbMRVRl6rSiJz0kBFVLM3Ilt-t9n'
],
'Business Management': [
'https://youtube.com/playlist?list=PLsh2FvSr3n7eHjE7vVU0xM52gm5gWgroz',
'https://youtube.com/playlist?list=PLoJHkGmgd2_kaxMmAgUNnYD5VM8ZGHGy6',
'https://youtube.com/playlist?list=PL3XU4dkmwc1c1X8od8AYYxQjwFD-F_nb4',
'https://youtube.com/playlist?list=PLsOlZpO_j74qGy8gIBdtuKdDcluqlHP7T'
],
'Chartered Accountant': [
'https://youtube.com/playlist?list=PL0w5G7FOKzzp_pLOzk4vDPUV489ATfoRu',
'https://youtube.com/playlist?list=PLuPsXhXyb-c-QZiHznBcsBlgErWLwJj8V',
'https://youtube.com/playlist?list=PLxSsE7nAS4Izc1SpkCtnBSpMhSwEDaIEn',
'https://youtube.com/playlist?list=PLrHodlkr-ygGe1JD29JimDAI-EqVPsqRA'
],
'Computer Science': [
'https://youtube.com/playlist?list=PLPIwNooIb9vhxM2K0KpKMtRxrG0pYS00c',
'https://youtube.com/playlist?list=PL1fd5kIddTjm-IDk-LlP2yM2PjTVlNZJ4',
'https://youtube.com/playlist?list=PL1fd5kIddjnMJaC8BRrDa5R8m-IxxZ39',
'https://youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo'
],
}
@app.route('/about_us')
def about_us():
return render_template('about_us.html')
if _name_ == '_main_':
app.run(debug=True)
train_model.py
import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
import pickle
# Define data
education_levels = ["Science", "Commerce", "Arts"]
interests = ["Technology", "Biology", "Business", "Design", "Physics", "Finance", "Media",
"Chemistry", "Mathematics", "Medicine", "Accounting", "Performing Arts",
"Environmental Science", "Economics", "Psychology", "Law", "Agriculture",
"Political Science", "Marketing", "Information Technology", "Film Studies",
"History", "Banking"]
strengths = ["Logical Thinking", "Analytical Thinking", "Communication", "Creativity",
"Problem Solving", "Numerical Skills", "Storytelling", "Research", "Empathy",
"Attention to Detail", "Scientific Curiosity", "Critical Thinking", "Leadership",
"Precision", "Curiosity", "Public Speaking", "Persuasion", "Environmental Awareness",
"Debating Skills", "Quantitative Skills", "Detail-Oriented"]
data = []
recommendations = []
# Create DataFrame
df = pd.DataFrame(data, columns=["Education", "Interest", "Strength"])
df["Recommendation"] = recommendations
# Encode
le_edu = LabelEncoder()
le_interest = LabelEncoder()
le_strength = LabelEncoder()
df["Education"] = le_edu.fit_transform(df["Education"])
df["Interest"] = le_interest.fit_transform(df["Interest"])
df["Strength"] = le_strength.fit_transform(df["Strength"])
# Train model
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X, y)
script.js
document.addEventListener('DOMContentLoaded', function() {
// Form validation for login form (index.html)
const indexForm = document.querySelector('form');
26
// Input fields
const nameInput = document.getElementById('name');
const ageInput = document.getElementById('age');
const phoneInput = document.getElementById('phone');
const emailInput = document.getElementById('email');
const educationInput = document.getElementById('education');
const interestInput = document.getElementById('interest');
const strengthInput = document.getElementById('strength');
// Validation function
function validateForm(event) {
// Reset previous error messages
const errorElements = document.querySelectorAll('.error-message');
errorElements.forEach(e => e.remove());
inputElement.parentElement.appendChild(errorMessage);
}
28
CHAPTER 7
SYSTEM TESTING
Software testing is a crucial phase in the development of the AI-based Academic Advisor
system. It ensures the application works as intended, delivers accurate recommendations, and
provides a smooth, error-free experience to users. The testing process focused on validating
functionalities like career prediction, data entry, recommendation generation, and integration with
supporting components such as the Flask backend and dataset processing modules.
Each unit was tested in isolation to confirm that it handles valid input correctly and returns
the expected output. For instance, when a specific academic stream and percentage are entered, the
prediction function should accurately return a suitable career suggestion.
Proper data flow from user inputs to the LabelEncoder and machine learning model.
Correct responses from the Random Forest Classifier back to the user interface.
This testing phase helps identify any issues in the interaction between modules and ensures accurate
academic recommendations.
System responses were tested for various user profiles to confirm consistency and accuracy.
Developers analyzed the logic used in the prediction module and tested multiple input paths to
30
• Navigation links worked
• Receiving inputs from form pages and passing them to the Flask API
31
• Following external learning resources
Feedback was used to enhance clarity of recommendations, input prompts, and output formatting.
The following methodologies were applied during Ai Based Academic advisor testing:
➢ Unit Testing
➢ Integration Testing
➢ User Acceptance Testing
➢ Output Testing
32
• Recommendation links
Began with testing prediction logic and dataset handling before integrating the user
interface and routing.
33
CHAPTER 8
RESULTS AND OUTPUT SCREENS
34
35
36
8.2 RECOMMENDATION PAGE
37
8.3 DASHBOARD PAGE:
38
8.4 COURCES PAGE:
39
8.5 ABOUT US PAPGE:
40
CHAPTER 9
CONCLUSION & FUTURE ENHANCEMENT
The AI-based Academic Advisor project offers a smart, efficient solution to the
challenges students face when making academic and career decisions. By leveraging
machine learning algorithms, the system analyzes a student's educational background
and interests to provide personalized career recommendations. This approach ensures
guidance that is both relevant and adaptive to individual profiles.
The platform is designed with user accessibility and simplicity in mind. Its web-
based interface allows students to easily enter their information and receive instant
suggestions, along with curated learning resources such as YouTube playlists. The use
of technologies like Python, Flask, and scikit-learn ensures that the system delivers fast
and accurate predictions in a lightweight environment.
Overall, the AI-based Academic Advisor stands as a practical tool for modern
academic guidance. It bridges the gap between students and informed decision-making
by combining data-driven insights with a user-friendly experience. With potential for
future integration of NLP chatbots, cloud storage, and more advanced analytics, the
system can evolve into a comprehensive academic support platform.
41
CHAPTER 10
REFERENCES
1. Scikit-learn: Machine Learning in Python – Pedregosa et al., Journal of Machine Learning
Research, 2011.
2. Python Official Documentation – Python Software Foundation. https://docs.python.org
3. Flask Web Framework – Pallets Projects. https://flask.palletsprojects.com
4. Machine Learning Career Prediction Dataset – Kaggle. https://www.kaggle.com
5. LabelEncoder – scikit-learn preprocessing tools.
6. "Designing User Interfaces for Web Applications" – Alan Cooper, About Face: The Essentials
of Interaction Design.
42