This repository contains all code, projects, and assignments for the ITP 259: Basics of Artificial Intelligence course at the University of Southern California (USC) during Fall 2024. The course covers the fundamental principles of artificial intelligence, including:
- Introduction to AI: History, core concepts, and different types of AI.
- Machine Learning Fundamentals: Supervised vs. Unsupervised Learning, Regression, Classification.
- Neural Networks: Perceptrons, multi-layer perceptrons, backpropagation.
- Deep Learning: Convolutional Neural Networks (CNNs) for image recognition, Recurrent Neural Networks (RNNs) for sequential data.
The repository is organized into folders for each module or project.
- Lectures/: Contains PowerPoint slides, Jupyter notebooks and code examples from course lectures.
- Assignments/: Contains code for all homework assignments. Each assignment is in its own sub-folder (e.g., assignment1, assignment2).
- FinalProject/: Contains the code for the two parts of the final project of the course.
- data/: Datasets used in assignments and projects.
- requirements.txt: List of all necessary Python libraries and their versions.
- Clone the repository:
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
- Set up the virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
A brief overview of the key assignments and projects in the course:
- Assignment 1: Implementing a simple linear regression model from scratch.
- Assignment 2: Building a multi-class classifier using a basic neural network.
- Project 1: Developing a simple neural network from the ground up, covering forward and backward propagation without the use of deep learning frameworks.
- Project 2: Creating an image classifier using TensorFlow/PyTorch and a pre-trained model like VGG16 or ResNet.
- Python 3.12
- Jupyter Notebook
- NumPy
- Pandas
- Matplotlib
- Scikit-learn
- TensorFlow
- Keras
- PyTorch
Selina Hui selinahu@usc.edu