ECE 597/697: Machine Learning (AI, UG/G) — Machine Learning is the study of algorithms that learn from data and it has become pervasive in technology and science. This class will introduce the fundamental mathematical concepts and most important algorithms in machine learning (supervised as well as unsupervised learning) as well as best practices in applying machine learning to practical problems and evaluating their performance. Topics will include classification, regression, clustering, and dimensionality reduction, deep learning, ensemble models and Bayesian probabilistic modelin. The class consists of lectures, problem sets that contain mathematical and programming exercises and two in-class exams. The 597ML target senior undergraduates and MS students with little background in Machine Learning. Students enrolling in 697ML will have additional homework problems and reading assignments and will have to undertake an independent research project. 697ML is recommended to graduate students that would like to pursue Machine Learning as their research field of study. (Spring 2021)
ECE597IP/697IP: Image Processing (AI, UG/G) — Visual information plays an important role in many aspects of our life. Much of this information is represented by digital images. Image processing is ubiquitous, with applications including television, tomography, photography, printing, robot perception, and remote sensing. This course is an introductory course to the fundamentals of digital image processing. It emphasizes general principles of image processing, rather than specific applications. We expect to cover the following topics: 2D image acquisition and display, color representations, image sampling, point operations, linear image filtering and correlation, image transforms, image enhancement, image restoration and denoising, and image analysis. Every year the second part of the course is focused on providing methods and skills to approach a project on a topic of interest. In 2019 the topic was segmentation of RGB images depicting Mars terrains.
ECE 597/697 AA: Artificial Intelligence Based Wireless Network Design (AI, UG/G) — This course focuses on wireless networks design and analysis. It starts with an overview of the evolution from 4G to 5G and the technical specifications for 5G. It revises the latest challenges in 5G/6G wireless networks design, which motivates the need for AI-based solutions. Specific examples of network functionalities using AI will be discussed The technology enablers are based on software defined networks and virtualization, edge computing, and dynamic networking to support services that require high data rates, low latency, high reliability and massive connectivity. The course will also provide the analytical tools for the modelling and analysis of these networks including network optimization, queueing theory, game theory and machine learning. Examples of resource allocation problems in ultra-reliable low-latency networks, virtual networks, multi-access edge networks, and 5G/6G networks will be discussed by using these tools. (Fall 2020)
ECE 697: Hardware Design for Machine Learning (AI, UG/G) — Study architectural techniques for efficient hardware design for machine learning (ML) systems including training and inference. Course has three parts. First part deals with ML algorithms: regression, support vector machines, decision tree, and naive Bayes approaches. Second part deals with convolutional and deep neural network models. Last part deals with hardware design involving various acceleration techniques for improving computational efficiency of ML kernels including parallelism, locality, precision in matrix multiplication and convolution; role of batch size, regularization, precision and compression in design space trade-off for efficiency vs accuracy; evaluation of performance, energy efficiency, area, and memory hierarchy. (Summer 2020)
ECE 697: Reinforcement Learning (AI, G) — Reinforcement learning (RL) is a set of AI algorithms for autonomous systems that learn from interaction to make good decisions in complex and uncertain environment. Applications of reinforcement learning are abundant and include wireless communications, robotics, gaming, marketing, healthcare, psychology, and many more. This course investigates different RL algorithms and their applications. Students learn theoretical foundations, algorithmic and computational approaches, and complete a course project.
ECE697: Advanced Machine Learning Theory (AI, G) — This course focuses on theoretical foundations of machine learning. It can be a complement to applied courses in ML. The course provides an extensive theoretical reasoning behind the fundamental ideas underlying machine learning and the mathematical concepts necessary to design ML algorithms. The goal is to give students theoretical understanding and an intuitive grasp of ML algorithms. This course can be suitable for PhD students whose research are related to ML.
ECE 565: Digital Signal Processing and Representations (DE, UG/G) — The central theme of this course is the application of mathematical tools to problems in digital signal processing and machine learning. Upon successful completion of this course, students should be able to:use z-transforms to characterize discrete-time signal and system properties, design and implement finite impulse response (FIR) and infinite impulse response (IIR) discrete-time filters, translate real-world signals into data using the language of bases and vector spaces, use the singular value decomposition to solve and analyze a range of least-squares problems in data analysis, and efficiently compute the solutions to least-squares problems for structured/large-scale datasets. (Fall 2020)
ECE 597/697: Math Tools for Data Science (DE, UG/G) — Success in the field of data science heavily depends on students’ knowledge of many mathematical tools that are not always covered in standard mathematical curriculum. Often, these topics are not covered appropriately in data science courses either due to the time limits. This course aims at filling this void: it covers mathematical tools needed for courses in data science such as machine learning, data mining, neural networks, etc. It motivates the topics by real-word applications and discusses how they can be used in data analytics algorithms. Topics that are covered include: Linear Algebra, Optimization, Probability and Statistics, Foundations of Statistical Learning, Classification, Graph Analysis and Algorithms, Similarity and Distances. (Summer 2020)
ECE 678: Data Analytics (DE, G) — A feature of modern life is the proliferation of data. Petabytes of data are generated from a variety of sources: from surveillance equipment, point-of-sale terminals, social media, web traffic, and the like. Focused advertising, customer-adjusted pricing, item recommendations, automated diagnosis, detection of shifts in public opinion, and intrusion detection, are just a few of the many applications of Big Data. A large data set by itself is useless unless analytical tools can be brought to bear to extract meaning from it. This course introduces students to mathematical and algorithmic approaches to understanding data. Upon completing this course, students will understand how modern data analytics works. They will be exposed to approaches used in recommendation systems, customer-focused advertising, principal component analysis to identify the most important dimensions of multidimensional data, social media analysis, dealing with streaming data, and the management of market-basket data. They will be in a position to understand and make contributions to a rapidly expanding field in computer engineering. (Spring 2021)
ECE Undergraduate Courses with AI/DE Projects
ECE 331: Hardware organization and design introduces performance optimizations for artificial intelligence in a course project that explores the tradeoffs between matrix-multiply execution speed and cache size and organization. The lab looks at linear regression models that are trained using standard datasets and data mining tools. Depending on cache size and associativity, execution speeds are drastically impacted based on the cache miss rates incurred as weights common across operations and test vectors that are used as inputs to the pre-trained model move between main memory, cache, and CPU registers. (Fall 2020)
ECE 371: Security engineering introduces AI and Data Science in several projects that build upon a foundation of computer security and cryptography. One lab explores power side-channel analysis by providing a large set of power traces which students analyze with MATLAB and Python to learn secret keys. Two special lectures on Machine Learning for Security and Adversarial Machine Learning introduce basic principles and latest research results in these areas. The Honors section of 371 is based on readings and projects on Adversarial ML. (Fall 2020)