ECE 573 Software Engineering Concepts

Course Level

Graduate

Course Description

In-depth consideration of each of the phases of the software project life code. Object-oriented design and programming. Includes a large-scale software development project involving groups of students. Graduate-level requirements include additional homework and a term project.

Course Units
3
Core Designation
Typically Offered
Spring

ECE 525 Introduction To Deep Learning: An Engineering Perspective

Required course: No

Course Level

Graduate

Course Description

Deep Learning is revolutionizing artificial intelligence tasks such as language understanding, speech and image recognition, machine translation, autonomous driving, etc. This transformative impact of deep learning, which tries to model the neural networks in brains, was recognized with Nobel Prizes in 2024 and Turing Award in 2018. This course provides a comprehensive introduction to deep neural networks with a focus on underlying principles and engineering applications. Students will explore the fundamental concepts, optimization techniques, and software tools of deep learning starting from the basics of perceptron and progressing to advanced neural network models with convolutions and attentions. The course emphasizes an engineering perspective, hands-on learning, and integrating theory with practice, The course also introduces latest methods to enhance the efficiency of training and inference in deep learning models and systems. Designed for students from diverse engineering disciplines, this course aims to equip them with the skills and knowledge to effectively apply deep learning in their respective fields.

Enrollment Requirements

May be convened with ECE 425
Course Units
3
Core Designation
Typically Offered
Fall

ECE 505C Advanced Data Structures

Course Level

Graduate

Course Description

This course focuses on the study and application of data structures that are critical for solving complex computational problems. Topics include advanced trees, graphs, hashing, priority queues, and advanced sorting algorithms. Special emphasis is placed on understanding the algorithmic complexities and performance trade-offs associated with various data structures. Through lectures, hands-on projects, and problem-solving exercises, students will learn to design and implement efficient data structures for real-world applications.

Course Units
3
Core Designation
Typically Offered
Spring

ECE 502C Operating System Design

Course Level

Graduate

Course Description

This is a foundational course that offers an introduction to computer operating systems and their applications in engineering systems, the course delves into the principles and techniques involved in designing and implementing operating systems. It covers a wide range of topics, including operating system structures, process management, process synchronization, memory management, storage management, file systems, device management, and network and distributed operating systems. While the course covers important theoretical concepts, formal proofs are not emphasized. Instead, concepts are conveyed through real-world examples from modern engineering systems. A key focus of the course is providing students with practical experience in C programming for low-level operating system development, students will have the opportunity to work with and understand low-level tools for system diagnostics. By engaging in hands-on projects and assignments, students will gain significant exposure to the intricacies of operating systems and enhance their programming skills. May be convened with ECE402C.

Course Units
3
Core Designation
Typically Offered
Spring
Contact Us
Contact Us
Loading...