Available courses

An embedded system is any computer system embedded in a larger product for the purpose of monitoring or controlling some part of the larger system. Embedded systems, unlike general-purpose computer systems, are highly optimized to deliver the best application-specific performance possible under a wide and varying set of constraints. In this course, we will cover the basic elements of embedded system design, including system specification and modeling, the components of embedded hardware and software, and techniques for system validation, evaluation, and optimization. The goal of this course is to familiarize students with each of these aspects of embedded system design and both their relationship with one another and with design and optimization as a whole.

This course will introduce students to Artificial Intelligence (AI), beginning from historical and philosophical perspectives, progressing through a number of core topics from classical AI, and then dealing extensively with various areas of machine learning. The latter topic will emphasize connectionist architectures (artificial neural networks) and evolutionary computing approaches.