|
Dec 23, 2024
|
|
|
|
CSC 2611 - AI Tools2 lecture hours 2 lab hours 3 credits Course Description This course is an introduction to the tools, languages, and methods to support artificial intelligence. Topics include Python programming, functional programming, benchmarking, and libraries for data-driven computational problems. Deep learning and machine learning concepts will also be introduced using hands-on exercises to develop an understanding of capabilities and limitations. Libraries used will include Pandas, NumPy, SciKitLearn, MatPlotLib, as well as deep learning libraries such as Tensorflow and Keras. (prereq: CSC 1120 or CSC 1310 or instructor consent) (quarter system prereq: CS 2852) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Leverage basic shell scripting in Unix for file manipulation, program execution, and debugging
- Use control, loop, and function syntax to develop algorithmic solutions in Python
- Use Python’s set, list, tuples, and dictionary to structure and organize data
- Measure and estimate the runtime and memory utilization of algorithms and data structures
- Construct regular expressions to solve pattern matching problems and clean data
- Use a Jupyter notebook environment to write, structure, run, document, and debug Python programs
- Use Pandas to load, process, and analyze tabular data sets in Series and DataFrames
- Describe and utilize NumPy array data structures for various numerical use cases
- Utilize a plotting library to create simple plots such as histograms, bar or column charts, line plots, and scatter plots including legends, appropriate axis ranges and labels, appropriate font sizes and resolutions
- Apply supervised learning algorithms for classification and regression tasks
- Explain how to calculate loss, accuracy, and precision from model predictions and ground truth labels
- Explain the relationship between the size of data sets and the number of variables that can be inferred in a model both for classical and deep learning models
- Execute and justify splitting training, testing, and validation data for machine learning methods
- Describe over-fitting in the context of a machine learning problem
- Justify tradeoffs between hyperparameters when training
- Explain the GPU execution model at a high level (e.g., SIMD parallelism) and how this is advantageous for training on large data sets / large models
- Explain how deep learning architectures and hyper-parameters are important to model accuracy and motivate the need to run multiple experiments to find the best model
Prerequisites by Topic
- Programming experience in a high-level language
Coordinator Dr. Derek Riley, Dr. Sebastian Berisha
Add to Portfolio (opens a new window)
|
|