CSC 340: Artificial Intelligence
Undergraduate course, Southern Virginia University, 2025
An introduction to artificial intelligence with a particular emphasis on machine learning: supervised and unsupervised learning, reinforcement learning, and deep learning.
About the course
The catalog describes this course as the fundamental concepts and methods for developing computer systems that acquire and reason about knowledge. In practice I teach it with an emphasis on machine learning. Students build some methods from scratch in plain Python, so they see what is happening inside, and then learn to do the same work with standard libraries such as scikit-learn. We also spend time on the ethical implications of AI and its effect on society.
The textbook is our guide, supplemented where needed. The course is divided into three units, each ending in a project: two midterm projects and a final project, each with a written report. Smaller tasks and assignments get us into the material along the way.
Textbook: Python Machine Learning, 3rd edition, by Sebastian Raschka and Vahid Mirjalili.
Prerequisite: CSC 240.
Syllabus (Fall 2025)
Helpful resources
- Code for Python Machine Learning. The authors’ notebooks for every chapter of the textbook.
- scikit-learn documentation. The user guide explains each method as well as how to call it.
- 3Blue1Brown: Neural Networks. The clearest visual explanation I know of how neural networks learn, through to how large language models work.
- TensorFlow Playground. Train a small neural network in your browser and watch what each layer does.
- Kaggle Learn. Free short courses and datasets, useful for project ideas.
