This is an introductory class in Artificial Intelligence, where you will learn some fundamentals of this broad field. You will find most of the administrative information you need on this website.
Instructor: Niranjan Balasubramanian.
Office hours:
1) Tuesdays 9:30-10:30 am - On zoom here.
2) Thursdays 9:30-10:30 am - My office NCS 257.
TAs: TBD
NOTE:
One of the key differences this year would be that we have reduced the grades for coding assignments. Instead we will have higher grades for exams and in class quizzes, which make up for 70% of the course grade.
Detailed syllabus with lecture topics and dates will be made available in the first week of class. The topics that will be covered will include:
Search solutions
Constraint satisfaction
Reasoning under uncertainty
Machine Learning + Deep Learning
Large Language Models
Note: The schedule is tentative and will be finalized after the first week of classes. Note there is no room for Spring break in this schedule yet.
Week 1: Introduction + Uninformed Search
Week 2: Uninformed Search + Informed Search + HW1
Week 3: Quiz 1 + Constraint Satisfaction
Week 4: Reasoning Under Uncertainty - Bayesian Networks
Week 5: Reasoning Under Uncertainty - Bayesian Networks + HW2
Week 6: Reasoning Under Uncertainty - Inference Algorithms + Quiz 2
Week 7: Midterm + Machine Learning Intro + Supervised Learning (Logistic Regression)
Week 8: Spring Break
Week 9 (Mar 24/26): Machine Learning - Unsupervised Learning (Clustering + EM)
Week 10 (Mar 31/Apr 2nd): Machine Learning - Quiz 3 + Unsupervised Learning
Week 11 (Apr 7th/9th): Machine Learning - Deep Learning
Week 12(Apr 14th/16th): Large Language Models
Week 13(Apr 21st/23rd): Building Agents with LLMs + Quiz 4
Week 14(Apr 28th/30th): Reinforcement Learning
Week 15(May 5th/7th): Buffer Class + Project Presentation
Final Exam: May 19th, 2025, 5:30-8:00pm, Old CS 2120
Project Presentations: Last day of lecture
Project Report: Two days after presentation.
Pre-requisites: No specific course is made a prerequisite.
Here is a list of things that would be useful for this class. I won't be able to respond to individual requests on whether your background is suitable. Please use the following to make your own determination.
The following are critical. If you are completely unaware of the following then you will likely have difficulties following material in class.
Strongly Recommended
Basic probability and statistics (joint and conditional probabilities, Bayes rule, etc)
Basic linear algebra (vector and matrix operations)
Basic calculus (differential calculus)
Machine learning basics (classification, basic ml recipe)
Python programming
AIMA Book -- My class slides and notes are adequate for the class. Some sections from this book will be assigned as reading.
Brightspace for most of course communications.
Exams (50%)
Midterm (25%)
Cumulative Final (25%)
Quizzes (20%)
4 quizzes with 5% each.
Each quiz will be for 30 minutes.
Project (15%)
Programming Assignments (15%)
3 assignments (10 days long) 5% each.
Note 1: Dates for these will be posted after the first week of class.
Note 2: Assignments will be in Python and will require you to learn pytorch, a deep learning framework.
Note 3: Projects can be implemented in any programming language.
If you have a physical, psychological, medical, or learning disability, please contact the Department of Student Affairs. They will determine with you what accommodations if any, are necessary and appropriate. All information and documentation of disability is confidential.
We will make every effort to support accessibility needs for all parts of the course. Please contact me via email to make specific arrangements.
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Student Conduct and Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn.
NOTE: Policy will be finalized by the end of the first week of classes. There will be some provision where by you will get some extra late days for assignments that you can use as you see fit.
I will likely make adjustments to the grading scheme based on the overall performance of the class. Here is a tentative grading rubric:
A: 90 and above
A-: 80 or more but less than 90
B+: 75 or more but less than 80
B: 70 or more but less than 75
B-: 65 or more but less than 70
Five point intervals for lower letter grades.
AI Use: [To be finalized.]
Programming Assignments: You are not allowed to use AI tools for generating, debugging, or otherwise editing code to complete the programming assignments. Code completion tools cant be used either.
Projects: You are allowed to use AI tools to help with coding, but the project's conception, experimentation, and analyses must be your own. You must clearly describe which tools you used and how, in your report and code documentation .
Collaboration with other students:
In this class, we encourage collaboration with other students. Whenever possible we will clearly state what forms of collaboration are allowed and what aren't. Of course, it is near impossible to list all forms of unethical or dishonest behavior. You can consult the SBU website on Academic Integrity for more information.
Cheating
Grades serves some needs in classes and can be stressful but please don't cheat.
It is hardly worth the risk.
It is often very easily detected.
Part of your training is to learn how to make ethical decisions.
If you are under difficult circumstances of any kind, come talk to me about it.
When in doubt, cite the sources from which you got content/code/ideas and give credit to people who you worked with.
When in doubt, ask the instructor or the TAs before engaging in any specific forms of collaboration or use of outside material.
Here is the official statement from SBU on academic integrity, which I endorse and will follow for this class:
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html