A collection of teaching materials, programming assignments, quizzes, algorithm implementations, and educational resources developed during my Teaching Assistantship in the Artificial Intelligence course.
The repository contains original programming assignments, quiz design, reference implementations, and supporting materials covering classical Artificial Intelligence algorithms.
Institution: Shiraz University
Course: Artificial Intelligence (Undergraduate Level)
Role: Teaching Assistant (TA)
Semester: Spring 2025
This repository summarizes my contributions as a Teaching Assistant for the undergraduate Artificial Intelligence course.
My responsibilities included
- Designing programming assignments
- Designing theoretical quizzes
- Preparing reference solutions
- Implementing search algorithms from scratch
- Preparing grading materials
- Assisting students during laboratory sessions
- Supporting course projects
Several programming assignments were designed entirely from scratch with an emphasis on algorithmic thinking and practical implementation.
The repository covers
- Uninformed Search
- Informed Search
- Uniform Cost Search
- A*
- Bidirectional Search
- Iterative Deepening Search
- Constraint Satisfaction Problems
- AC-3
- Backtracking
- MRV
- LCV
- Path Consistency
- Minimax
- Alpha-Beta Pruning
- Linear Regression
- Polynomial Regression
- Logistic Regression
- Gaussian Classifier
- Naive Bayes
- Discriminative Models
- Generative Models
Homework01_Search/
Homework02_CSP/
Homework03_Regression/
Homework04_Generative_Discriminative/
Quiz01/
Quiz02/
Search Algorithms
Topics
- DFS
- BFS
- UCS
- IDDFS
- Bidirectional Search
- Dynamic Search
- State Pruning
Programming assignments required students to implement every algorithm completely from scratch.
Constraint Satisfaction Problems
Topics
- CSP
- AC-3
- MRV
- LCV
- Path Consistency
- Adversarial Search
- Minimax
- Alpha-Beta Pruning
The assignments focused on both theoretical reasoning and large-scale practical implementations.
Regression
Topics
- Linear Regression
- Polynomial Regression
- Maximum Likelihood Estimation
- Gradient Descent
- Stochastic Gradient Descent
- Ridge Regression
- Lasso Regression
All optimization algorithms were implemented without using machine learning libraries.
Discriminative vs Generative Models
Topics
- Logistic Regression
- Gaussian Classifier
- Naive Bayes
- LDA
- QDA
- Decision Boundary Analysis
- Robustness Evaluation
Students implemented every model from scratch using only NumPy.
The repository also contains quizzes designed for undergraduate students.
Quiz topics include
- Search Algorithms
- CSP
- Regression
- Optimization
- Heuristic Search
All implementations follow
- Pure Python
- NumPy
- Object-Oriented Design
- Modular Code
- Documentation
- Reproducible Experiments
Machine learning frameworks such as scikit-learn were intentionally avoided in order to strengthen algorithmic understanding.
- Artificial Intelligence
- Search Algorithms
- Constraint Satisfaction
- Machine Learning Fundamentals
- Optimization
- Educational Content Design
- Python
- Scientific Programming
- Teaching Assistance
This repository is intended solely for educational and portfolio purposes.
Some documents correspond to course materials developed during my Teaching Assistantship.
Please do not submit these materials as coursework in academic courses.
Hannah Fathi
M.Sc. Student in Artificial Intelligence and Robotics