ECE 492-042 / 592-067: Operating Systems
The course explores basic concepts and mechanisms related to the design of modern operating systems, including: process scheduling and coordination, memory management, synchronization, storage, file systems, security and protection, and their application to multi-core and many-core processors and to distributed system.
ECE 492-043/592-059: Internet of Things
In this course, we will introduce the students to the concepts, challenges, and recent developments around Internet of Things – IoT. We will focus on the fundamental issues that arise in the operation, design and management of IoT systems(not just networks). Such issues include, among others, business objectives and technical design requirements, IoT building blocks, architectures and reference models, enabling technologies, IoT protocol stacks (around verticals), IoT-specific analytics, and computing models.
ECE 492-040: Introduction to Autonomous Systems
The course is a broad introduction to unmanned systems, including unmanned ground systems (UGS) and unmanned aerial vehicles (UAVs); the course will focus on principles and implementations common among all these systems, from hardware (e.g., sensors, actuators) to control systems, communications, and software. By the end of the course the students will be able to design an autonomous system suited for a particular application. The students will work in teams to extend the capabilities of a simple system platform in one or more directions.
ECE 492-44: Application Programming with Java
Using the Java programming language to program single-user applications (e.g. games, tools, robotics, simulation) and client/server applications (e.g. a chat room) which involve multiple users and communications between apps in different computers using the internet. Several multi-threading and communications designs are evaluated and used in labs. GUI programming (buttons and text fields in the user interface) and animation are created on the client side and shared Object-Oriented data structures are used on the server side. One lab involves using the Java interface to a standard Relational Data Base.
Principles of Object-Oriented programming are discussed in depth and used in labs, including interfacing to programs your app had no awareness of at compile time. A team lab project involves evaluating and graphing algebraic expressions of arbitrary complexity.
ECE 492-046 Electronic Warfare Systems
This course will study the principles and operation of electronic warfare (EW) systems. Through a combination of lectures, discussion, and self-study students will learn about wave propagation physics, radio architectures, and radar systems. Students will then use these concepts to analyze approaches to electronic warfare common in modern defense systems.Prerequisites: ECE 303, instructor approval
ECE 492-047 / CSC 495-053 Introduction to Quantum Programming
This course will focus on the topic of quantum programming, without spending a lot of time on the math and physics that describe quantum behavior. Through high-level programming constructs and visualizations, you will learn fundamental programming concepts and will gain ntuition about how to problems with this new technology. The course will emphasizehands-on programming exercises, including the opportunity to run programs on actual