Hands-On Adversarial AI
Designed to be used either as a stand-alone and self-contained course, or as a practical component of a more detailed university-level course on adversarial AI / machine learning and related topics. This project began from student lecture notes from Dr. Allison Bishop’s graduate Adversarial AI course at the City College of New York.
📚 Instructor Manual • 🤝 Contributing Guide • 👥 Acknowledgements
📋 Prerequisites
- Python 3.7+ experience
- Basic understanding of data structures and algorithms
- Calculus 1 and Introductory Probability
Note: no prior experience with machine learning or deep learning is required, we want to make these materials as self contained as possible.
🎓 Components
- Part 1: Classical Adversarial Thinking - Hash function vulnerabilities and collision attacks
- Part 2: Neural Network Fundamentals - Building CNNs with PyTorch
- Part 3: Adversarial Examples and Attacks - FGSM, PGD, and fooling deep learning models
🚀 Getting Started
- Clone the repository:
git clone https://github.com/jadidbourbaki/adversarial-ai.git cd adversarial-ai
- Choose your starting point:
- New to adversarial AI? Start with Part 1
- Have ML background? Jump to Part 3
- Instructor? Check the Instructor Manual
- Set up your environment:
cd part1 # or part2, part3 pip install -r requirements.txt jupyter notebook
📝 Citation
If you use these materials in your research or teaching, please cite:
@misc{hands-on-adversarial-ai,
title={Hands-On Adversarial AI: Educational Materials},
author={Maryam Tirmazi and Hayder Tirmazi},
year={2025},
publisher={GitHub},
url={https://github.com/jadidbourbaki/adversarial-ai},
note={Educational course materials for adversarial machine learning}
}
⚠️ Disclaimer
These materials are for educational purposes only. The goal is for students to understand and defend against security vulnerabilities in machine learning.