Courses

Smart Manufacturing in the Process Industries

This course surveys the tools and techniques, which are relevant to support the multiple levels of technical decisions that arise in modern integrated operation of manufacturing resources in the chemical, petrochemical and pharmaceutical industries. The real time generation and sharing of associated data and knowledge via relevant IT methodology and the effective use of this information in the various levels of the process operations management hierarchy are currently termed Industry 4.0 (Europe) and Smart Manufacturing (US). The topics covered in the course span all of the technical components and decision levels in the operations decision hierarchy. Topics include the role of on-line and at-line process measurements, elements of sensor network design, information systems to support process operations, plant data reconciliation, detection and diagnosis of process faults, condition-based monitoring of plant assets, plant wide control, real time process optimization, production planning and scheduling, and supply chain management. Each topic will be addressed by first summarizing the basic role and scope of that component, then discussing the elements of the decision problem, and outlining some representative tools available to address that decision problem. Each major topic will include a lecture given by an industrial practitioner who will offer a perspective on the state of industrial practice.

Read More…

Fundamentals of Current Flow

This course is intended to be broadly accessible to students in any branch of science or engineering who would like to learn about the modern conceptual framework for describing the flow of electrons in solid-state electronic devices. Weekly topics: 1 & 2, The New Perspective; 3 & 4, Energy Band Model; 5, What and Where Is the Voltage.

Read More…

Introduction to Quantum Transport

This course is intended to be broadly accessible to students in any branch of science or engineering who would like to learn about the full quantum statistical mechanical framework for describing the flow of electrons in solid-state electronic devices. Weekly topics: 1 & 2, Schrodinger Equation; 3 & 4, Contact-ing Schrodinger & Examples; 5, Spin Transport.

Read More…

Boltzmann Law: Physics to Computing

This course is intended to be broadly accessible to students in any branch of science or engineering who would like to learn about the conceptual framework for equilibrium statistical mechanics and its application to modern machine learning. Weekly topics: 1) Boltzmann Law; 2) Boltzmann Machines; 3) Transition Matrix; 4) Quantum Boltzmann Law; 5) Quantum Transition Matrix

Read More…

Computer Network Systems

The goal of this course is to provide students with a proper grounding in the basic concepts and seminal work in computer network protocols and systems, and to introduce students to research in the field. The course will cover classical concepts such as network architecture, switching, routing, congestion control, and quality-of-service, and discuss recent developments in these areas.
The course will also cover new developments in networking such as network measurements, network management, overlay networking and peer-to-peer systems, network security, and new network architectures. The course will emphasize a system-oriented and empirical view of Internet architecture.

Read More…

Digital Signal Processing I

Theory and algorithms for processing deterministic and stochastic signals. Topics include sampling theory, discrete-time signals, systems, and transforms, digital filtering, spectrum estimation, autoregressive modeling, efficient sampling rate alteration, perfect reconstruction filter banks, transmultiplexers, and Minimum Mean Square Error Estimation. Applications emphasized throughout including CD/DVD players, radar, 5G cellular communications, audio compression, wireless routers, and GPS signal processing for geolocation

Read More…

Diffraction, Fourier Optics and Imaging

Diffraction, Fourier Optics and Imaging covers topics central in diffractive optics, multidimensional Fourier methods and most modern analog and digital imaging/image processing techniques. Some algorithms discussed such as information recovery have close connections to other areas such as modern cryptography, super-resolution, lensless imaging, and modern printing/display technologies. For more information, please contact Prof. Ersoy (ersoy@purdue.edu).

Read More…

Hybrid Electric Vehicles

The course will be divided into three sections (modules), each with a project and exam. The topics covered in each module are:
I. Tractive power requirements, motivation for hybridization, and vehicle architectures
II. Electromechanical power conversion, power electronics, and control
III. Electrochemical power conversion (aka batteries), vehicular-level power electronics, and power management strategies

Read More…

Electromechanics

Please note that this course has been previously offered as ECE59500. The general theory of electromechanical devices relating electric variables and electromagnetic forces. The basic concepts and operational behavior of dc, induction, brushless dc, and stepper motors used in control applications are presented.

Read More…

Digital Communications

Digital communication systems including spread-spectrum systems; Analog message digitization; Signal space representation of digital signals; Binary and M-ary; signals Comparison of digital communication systems in terms of signal energy and signal bandwidth requirements; Analysis and comparison of principal types of spread-spectrum, multiple-access systems

Read More…

Introduction to Computer Communication Networks

Fundamental understanding of basic network design, routing, dimensioning and control; here we will study various network functions such as error-recovery algorithms, flow control, congestion control, routing, multi-access, switching, etc. We will also study these in the context of current Internet solutions (e.g. TCP, IP, etc.) and future open problems and possible solutions.

Read More…

Introduction to Lasers

This course will cover the operation and characteristics of the laser. The following topics will be covered: Introduction, Basic Operation and History; Stability of Optical Cavities; Gaussian Beams; Resonant Cavities; Atomic Radiation; Laser Oscillation; Types and Operation of Lasers; Properties of Laser Radiation; Intro to Nonlinear Optics; Nanolaser; Intro to Metamaterials and Naanophotonics

Read More…

Programming Parallel Machines

This course will enable you to write programs targeting parallel machines, using any of the four major parallel programming paradigms: MPI (message passing), OpenMP (for shared memory machines), Pthreads thread programming (for shared memory machines) and, GPU programming (using Cuda). We will also discuss system architecture and memory and programming language coherency models, as these are necessary to develop correct parallel programs and to debug parallel programs when they are not correct. We will also spend time on sequential performance optimizations.
This is not a course in parallel algorithms, although you will need implement one or more parallel algorithms for the course project.

Read More…

Computer Architecture

Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course qualitatively and quantitatively examines uniprocessor computer design trade-offs. We will learn, for example, how uniprocessors execute many instructions concurrently and why state-of-the-art memory systems are nearly as complex as processors.

Read More…

Embedded Systems

Read More…

Optimization Methods for Systems and Control

This course provides an introduction to various methods of obtaining the extremum (minimum or maximum) of a non-dynamical system and the use of these methods in real-life applications. Computational methods for nonlinear optimization; unconstrained optimization. Constrained optimization; linear programming; simplex method for solving linear programs; Lagrange's conditions, the Karush-Kuhn-Tucker (KKT) conditions, Least squares, Convex optimization, Global optimization methods: Genetic algorithms and Particle swarm optimization (PSO) method.

Read More…

Advanced Software Engineering

Read More…

Computer Vision for Embedded Systems

This course provides an overview of running computer vision (OpenCV and PyTorch) on an embedded system (Raspberry PI). The course emphasizes the resource constraints imposed by embedded systems and examines methods (such as quantization and pruning) to reduce resource requirements. Course topics:
1. Overview, image data formats, OpenCV
2. Edge detection and segmentation
3. Applications of computer vision in embedded systems
4. Datasets, bias, privacy, competitions
5. Machine learning and PyTorch
6. Performance and resources (time, memory, accuracy)
7. Object detection and motion tracking
8. Data annotation and generation
9. Quantization
10. Pruning and network architecture search
11. Tree modular networks
12. Vision in context, MobileNet
13. Real-time vision
14. Review and discussion

Read More…

Intro to Compilers: Code Generation

This course covers advanced compiler topics: generating code for functions, performing type checking to avoid bugs, performing basic compiler optimizations, and performing register allocation. We will cover the theoretical basis of many of these optimizations as well as how they are implemented in compilers. Students will extend the basic compiler constructed in ECE 595.1 to add these advanced features to their compiler that translates C code into RISC-V assembly.

Read More…

Intro to Compilers: Compiler Basics

This course is an introductory course on compilers. We will cover the full path that a compiler takes in translating high-level source code (e.g., in a language like C) to assembly code that can be run on a machine. We will cover the processes of translating source code into a compiler's intermediate representation, then generating code from that intermediate representation. Students will also build a basic compiler that translates C code into RISC-V assembly.

Read More…