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, and deep learning frameworks, tools, and applications.
Textbook:
  • Deep Learning, Ian Goodfellow, Yoshua Bengio and Aaron Courville, MIT Press, 2016 http://www.deeplearningbook.org/
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
  • Prerequisites:
    Linear algebra, statistics and probability

    CS 404/504: Convex Optimization
    Total Credits: 3
    Time: Every other 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/
    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 other Fall
    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.
    Prerequisites:

    Linear algebra, statistics and probability, and CS 120/121