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

Outline

1. Fundamentals of Python Programming

  1. Introduction to programming for artificial intelligence;
  2. Python basics: syntax, data types and operations;
  3. Fundamental data structures such as sequences: strings, lists, tuples, and range objects, dictionaries, sets, as well as stacks, queues, and linked lists;
  4. Control structures;
  5. Packages, modules, functions, and variable scope;
  6. Object-oriented programming;
  7. Exception handling.

2. Basics of Scientific Computing and Data Analysis with SciPy

  1. Data representation with Numpy;
  2. Scientific computing, data processing, and analysis with SciPy/SemPy;
  3. Data statistics and visualization with Pandas.

3. Fundamental Methods in Artificial Intelligence

  1. Numerical computation and optimization methods;
  2. Supervised learning: regression analysis and classification;
  3. Unsupervised learning: clustering and dimensionality reduction;
  4. Data mining: dimension reduction, association rule mining and anomaly detection.

4. Applications of Artificial Intelligence

  1. Text processing methods and examples;
  2. Image processing methods and examples.

Instructor Contact Information