AI Courses & Certificates
AI Courses
The University of Idaho offers 17 AI courses. MIDA Lab alone teaches 10 core AI courses, which include deep learning, machine learning, optimization, adversarial learning, data science, image processing, python for machine learning, and natural language processing. Our courses are designed to provide students with a solid foundation in the theory and practice of AI.
AI/ML Certificates
Artificial Intelligence and Machine Learning (AI/ML) Graduate Academic Certificate
Artificial Intelligence and Machine Learning (AI/ML) Undergraduate Academic Certificate
All courses and certificates are available online to remote students. Fully online students anywhere in the world only pay resident tuition rates. Please refer to the CS online MS program for details.
CS474/574: Deep Learning
Total Credits: 3 ; Time: Every Fall
Course Objectives: This course aims to present the major topics in deep learning for high-dimensional data representation. We will discuss the mathematic fundamentals, convolutional neural networks (CNNs), recurrent neural networks (RNNs), deep unsupervised learning, deep learning frameworks, tools, and applications.
Textbook: Deep Learning, Ian Goodfellow, Yoshua Bengio and Aaron Courville, MIT Press, 2016 http://www.deeplearningbook.org/
Instructor: Min Xian
Prerequisites: Linear algebra, statistics and probability
CS 477/577: Python for Machine Learning
Total Credits: 3 ; Time: Every Spring
Course Objectives: The course aims to present Python programming fundamentals and machine learning implementations, and will focus on offering a hands-on experience with machine learning using the Python programming language and Python-based machine learning libraries. This class will discuss the necessary details regarding machine learning and math concepts.
Textbook: Python Machine Learning, second edition, Sebastian Raschka, Vahid Mirjalili, PACKT, 2017
Instructor: Min Xian
Prerequisites: Linear algebra, statistics and probability
CS 4718/5718: Convex Optimization
Total Credits: 3 ; Time: Every Fall
Course Objectives: This course is designed to provide math foundation for many higher-level courses, such as advanced data mining, pattern recognition, statistic learning and computer vision. It will concentrate on presenting the fundamental theories of optimization and developing the ability to recognize and solve optimization problems in data analysis. Selected topics are: convex sets and functions; linear programming (LP), Quadratic programming (QP) and semi-definite programming (SDP); duality theory; interior-point methods; and data analysis applications.
Textbook: Convex Optimization, Stephen Boyd and Lieven Vandenberghe, Cambridge University Press, 2004. http://www.stanford.edu/~boyd/cvxbook/
Instructor: Min Xian
Prerequisites: Strong working knowledge of linear algebra and a programming language (R, Matlab, C++, Python, etc.)
CS 504: Digital Image Processing
Total Credits: 3 ; Time: Every Summer
Course Objectives: Digital image processing (DIP) focuses on two major tasks: improving image information for human interpretation and processing image data for storage, transmission, representation for autonomous machine perception. DIP techniques are used extensively in many applications such as self-driving, industrial inspection, artistic effects, medicine, geographic information systems, and law enforcement. This course aims to introduce digital image fundamentals and discuss the key techniques of image enhancement, morphological processing, image segmentation, object recognition, and image representation.
Textbook: C. G. Rafael, and E. W. Richard, Digital Image Processing, the 4th edition, Pearson, 2018.
Instructor: Min Xian
Prerequisites: Linear algebra, statistics and probability, and CS 120/121
CS 470/570: Artificial Intelligence
Total Credits: 3 ; Time: Every Summer
Course Objectives: This course covers the more important and successful techniques from the very broad field of artificial intelligence. Topics covered include search, game playing (adversarial search), constraint satisfaction, reasoning and knowledge representation, planning, fuzzy logic, and learning. In addition, we will discuss the philosophical aspects of AI. What is AI? Is it achievable?
Textbook: Russell and Norvig Artificial Intelligence: A Modern Approach, Prentice Hall (Suggested, but not required).
Instructor: Terry Soule
Prerequisites: CS 210 Programming Languages
CS 472/572: Evolutionary Computation
Total Credits: 3 ; Time: Every Spring
Course Objectives: Solving computation problems by “growing” solutions; simulates natural evolution using analogues of mutation, crossover, and other generic transformations on representations of potential solutions; standard EC techniques such as genetic algorithms and evolutionary programming, mathematical explanations of why they work, and a survey of some applications; the focus is on solving real-world problems using projects. Graduate-level research and possible paper or presentation required for graduate credit.
Textbook: Introduction to Evolutionary Computation, 2nd Ed. by A. E. Eiben and J. E. Smith, ISBN: 978-3662448731.
Instructor: Terry Soule
Prerequisites: CS 210 Programming Languages
CS 472/572: Machine Learning
Total Credits: 3 ; Time: Every Spring
Course Objectives: Analysis and implementation of classic machine learning algorithms including neural networks, deep learning networks, principle component analysis, decision trees, support vector machines, clustering, reinforcement learning, ensemble learning, K-means, self-organizing maps and probabilistic learning such as Markov Chain Monte Carlo and Expectation Maximization algorithms. Techniques of pre-processing data, training, testing, and validating will be discussed along with statistical measures commonly used and pitfalls commonly encountered. Additional work required for graduate credit.
Textbook: Machine Learning: An Algorithmic Perspective by Stephen Marsland (Second Edition!)
Instructor: Boyu Zhang
Prerequisites: CS 210 Programming Languages
CS 487/587: Adversarial Machine Learning
Total Credits: 3 ; Time: Every Spring
Course Objectives: The course introduces students to adversarial attacks and defenses against machine learning models. The particular focus is on adversarial examples in deep learning models, due to their prevalence in modern machine learning applications. Covered topics include evasion attacks against white-box and black-box machine learning models, data poisoning attacks, privacy attacks, defense strategies against common adversarial attacks, generative adversarial networks, and robust machine learning models. The course also provides an overview of adversarial attacks against machine learning models used in cybersecurity applications. Additional work is required for graduate credit.
Textbook: No Textbook
Instructor: Alex Vakanski
Prerequisites: Instructor Permission
CS 488/588: Applied Data Science with Python
Total Credits: 3 ; Time: Every Spring
Course Objectives: The course introduces students to tools and libraries that are commonly used for managing the various phases in the life cycle of data science projects. The course begins with a review of the fundamentals of Python programming. The data engineering theme presents techniques for data collection, exploration, and visualization. Model engineering pipelines are studied next, including topics related to model design, selection, and evaluation for image processing, natural language processing, and time series analysis. The course theme on Data Science Operations (DSOps) encompasses techniques for model serving, performance monitoring, diagnosis, and reproducibility of projects deployed in production. Throughout the course, students will gain hands-on experience with various Python libraries for data science workflow management. Additional work is required for graduate credit.
Textbook: No Textbook
Instructor: Alex Vakanski
Prerequisites: CS 212 Practical Python
CS 404/504: Natural Language Processing
Total Credits: 3 ; Time: Every Spring
Course Objectives: This course introduces students to the foundational concepts and techniques used in Natural Language Processing (NLP). It covers both the theoretical foundations as well as practical applications. By the end of the course, students will be familiar with various NLP tasks, algorithms, and will have hands-on experience with several NLP tools and libraries.
Textbook: Neural Network Methods for Natural Language Processing by Yoav Goldberg
Instructor: Boyu Zhang
Prerequisites: Instructor Permission for non-CS students
Other Related Courses
- ENGR 212: Python Programming Essentials
- CS 455/555: Machine Vision
- CS 489/589: Semantic Web and Open Data
- CS 404/504: AI Data Analysis for Manufacturing, Agriculture, and Energy
- MATH 483/583: Foundations of Machine Learning
- STAT 417/517: Statistical Learning and Predictive Modeling
- PHIL 361: Professional Ethics: Generative AI