Programming for
Artificial Intelligence
Course Description
The course is designed for freshmen in AI as a second programming
course. The course include two main threads. One is to learn and
practice programming in different styles, including the procedure
abstraction, functional programming, data abstraction with
object-oriented programming, etc. The other is to learn and practice
basic tasks in artificial intelligence, such as search, planing,
reasoning, regression, classification, clustering, dimension reduction,
association rule mining, etc.
The course is taught every Spring semaster in School of Artificial
Intelligence, Nanjing University, since 2019. It is jointly built by
Shujian Huang, Li Zhang and Zhen Wu.
Objectives
- Develop proficiency in programming methods and techniques using
Python and other programming languages.
- Gain a solid grasp of fundamental methods for data representation,
analysis, and computation.
- Build foundational skills in artificial intelligence techniques to
solve essential problems.
- Acquire an understanding of real-world applications in areas such as
text and image processing, making initial attempts at problem-solving
within these domains.
- Establish a strong foundation in mathematics and programming to
support advanced research in artificial intelligence.
Outline
1. Fundamentals of Python
Programming
- Introduction to programming for artificial intelligence;
- Python basics: syntax, data types and operations;
- Fundamental data structures such as sequences: strings, lists,
tuples, and range objects, dictionaries, sets, as well as stacks,
queues, and linked lists;
- Control structures;
- Packages, modules, functions, and variable scope;
- Object-oriented programming;
- Exception handling.
2.
Basics of Scientific Computing and Data Analysis with SciPy
- Data representation with Numpy;
- Scientific computing, data processing, and analysis with
SciPy/SemPy;
- Data statistics and visualization with Pandas.
3. Fundamental
Methods in Artificial Intelligence
- Numerical computation and optimization methods;
- Supervised learning: regression analysis and classification;
- Unsupervised learning: clustering and dimensionality reduction;
- Data mining: dimension reduction, association rule mining and
anomaly detection.
4. Applications of
Artificial Intelligence
- Text processing methods and examples;
- Image processing methods and examples.
- Shujian Huang (homepage)
- Email: huangsj at nju dot edu dot cn