ECE 635 Error Correction

Required course: No

Course Level

Graduate

Course Description

This graduate course provides an in-depth treatment of modern error correction codes and decoding algorithms.

Error correcting codes (ECC) are an integral part of modern day communications, computer and data storage systems and play a vital role in ensuring he integrity of data in the presence of errors. In the most general terms, the purpose of error correcting code is to protect user data, and this is achieved by appending redundant, so called parity bits, along with the data bits. Low-density parity-check (LDPC) codes are a class of error-correction codes that have revolutionized communications and data storage industry. They have been the focus of intense research over more than a decade because they can approach theoretical limits of reliable transmission over various communications and storage channels even when decoded by sub-optimal low complexity iterative algorithms. The past decade in information theory has been marked by the quest for low complexity decoders, and the emergence of iterative message passing decoders.

Efficient and high-speed implementations coupled with recent advances in integrated circuit technologies, have made LDPC codes de-facto industry standards in a number of systems. With emerging technologies requiring much faster processing speeds with stricter energy utilization constraints while still requiring very low target error-rates, there has been an increasing need for reduced-complexity iterative decoders that provide improved performance.

Wireless networks, satellite communications, deep-space communications, power line communications are among applications where the LDPC codes are the standardized ECC scheme. More specifically LDPC codes are used as an error correcting scheme in: digital video broadcast over satellite (DVB-S2 Standard) and over cable (DVB-C2 Standard), terrestrial television broadcasting (DVB-T2, DVB-T2-Lite Standards), GEO-Mobile Radio (GMR) satellite telephony (GMR-1 Standard), local and metropolitan area networks (LAN/MAN) (IEEE 802.11 (WiFi)), wireless personal area networks (WPAN) (IEEE 802.15.3c (60 GHz PHY)), wireless local and metropolitan area networks (WLAN/WMAN) (IEEE 802.16 (Mobile WiMAX), near-earth and deep space communications (CCSDS), wire and power line communications ( ITU-T G.hn (G.9960)), ultra-wide band technologies (WiMedia 1.5 UWB), etc. [11]. Very recently LDPC codes have found their way in magnetic hard disk drives and optical communications, and they are the main candidates for ECC system in ash memories.

Enrollment Requirements

Graduate standing

Course Texts

  • Tom Richardson and Ruediger Urbanke, Modern Coding Theory
  • S. Lin and W. Ryan, Channel Codes: Classical and Modern
  • D.J.C. Mackay, Information Theory, Inference & Learning Algorithms
  • M.I. Jordan, An Introduction to Probabilistic Graphical Models

Course Links

Assessment

  • Homework: assigned but not graded
  • 1-2 projects
  • Exams: 2 midterm exams, 1 final exam
  • Typical grading policy: 30% midterms, 35% final exam, 15% homework, 20% project
Course Units
3
Core Designation
Typically Offered
Fall

ECE 579 Principles of Artificial Intelligence

Required course: No

Course Level

Graduate

Course Description

Provides an introduction to problems and techniques of artificial intelligence (AI). Automated problem solving, methods and techniques; search and game strategies, knowledge representation using predicate logic; structured representations of knowledge; automatic theorem proving, system entity structures, frames and scripts; robotic planning; expert systems; implementing AI systems; advanced topics: artificial neural networks, and learning, genetic algorithms; survey of modern applications

May be convened with ECE 479.

Enrollment Requirements

ECE 373 or equivalent

Course Texts

Artificial Intelligence: A Modern Approach. 3rd Edition. S. Russell and P. Norvig, Prentice Hall, 2009

Schedule

180 minutes lecture per week

 

Course Units
3
Core Designation
Typically Offered
Spring
Available Online

ECE 578 Fundamentals of Computer Networks

Course Description

This course provides an introduction to the fundamental principles of computer networks and data communications. Emphasis is given on current technologies and architectures for establishing direct link and packet-switched networks, sharing access to a common communication medium, internetworking and routing, end-to-end flow control, congestion control and recourse allocation, and network security.

Enrollment Requirements

ECE 175

Course Texts

Computer Networks, A Systems Approach, 5th edition, Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann, 2011.

References include:

  • Data Networks, 2nd ed., D. Bertsekas, and R. Gallager, Prentice Hall, 1992.
  • Computer Networks, 5th ed., A.S. Tanenbaum, and D. Wetherall, Prentice Hall, 2011.
  • Computer Networking, A Top-down Approach, 5th ed., J. Kurose and K. Ross, Addison Wesley, 2009.

Assessment

There will be approximately eight weekly homework assignments on the topics covered in class. There will also be one midterm exam, three projects and a final exam.

Typical grading policy: 20% homework, 20% midterm, 30% projects, 30% final exam.

Course Units
3
Core Designation
Typically Offered
Fall
Available Online

ECE 574A Computer-Aided Logic Design

Required course: No

Course Level

Graduate

Course Description

This course is an introduction to computer-aided logic design. This is a highly active research area, enabling the design of increasingly complex digital systems. In this course we will mainly focus on three areas: specification, synthesis and optimization. We will look at how to specify functionality at a variety of abstractions, use industry-standard tools to simulate these designs, investigate some of the underlying optimization techniques utilized, as well as develop your own tools. Topics include, but are not limited to: 1) Register-Transfer Level, or RTL, Design, 2) Behavioral Synthesis, 3) Optimization and Tradeoffs of Combinational and Sequential Circuits, 4) Exact and Heuristic Minimization of Two-Level Circuits.

Students will be expected to implement a variety of Verilog and C/C++ projects throughout the semester. While specific programming assignments may change with the course offering, projects typically focus on the implementation of optimization and synthesis methods discussed in class, as well as the RTL design. 

Enrollment Requirements

ECE 275

Course Texts

No textbook is required. The class notes and slides are sourced from the following materials:

  • Digital Design, Frank Vahid, John Wiley & Sons, ISBN 0470044373
  • Verilog for Digital Design, Frank Vahid and Roman Lysecky, John Wiley & Sons, ISBN 9780470052624
  • Logic Synthesis and Verification Algorithms, Gary D. Hachtel and Fabio Somenzi, Springer, ISBN 0387310045
  • Logic Minimization Algorithms for VLSI Synthesis, Robert K. Brayton, Gary D. Hathtel, C. McMullen, and Alberto L. Sangiovanni-Vincentelli, Kluwer Academic Publishers, ISBN 0898381649
  • Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, McGraw-Hill, 0070131430
  • Synthesis and Optimization of Digital Circuits, Giovanni De Micheli, McGraw-Hill, ISBN 0070163332

Schedule

150 minutes lecture per week

Assessment

  • Exam: 4 (lowest score dropped)
  • Project: 4 programming projects
  • Participation: 12-15 participation activities (1 dropped)
  • Typical grading policy: 55% exams, 40% programming assignments, 5% participation/in-class exercises
Course Units
3
Core Designation
Typically Offered
Fall
Available Online

ECE 571 Fundamentals Of Information And Network Security

Required course: No

Course Level

Graduate

Course Description

Shannon's approach to cryptography. Symmetric key cryptography, cryptographic hash functions, and public key cryptosystems. Authentication, key management and key distribution. Wireless and network security. Graduate students will be required to submit a research paper.

Course Texts

  • W. Stallings, Cryptography and Network Security: Principles and Practice, 7th Edition, Pearson, 2016.
Course Units
3
Core Designation
Typically Offered
Spring
Available Online

ECE 569 High Performance Computing: Technology, Architecture and Algorithms

Required course: No

Course Level

Graduate

Course Description

Parallel models of computation, data flow, reduction, redi-flow, VLIW, superscalar, super-pipelining, multithreaded processors, multiprocessing, distributed computing, massively parallel systems, novel technologies, fundamentals of optical computing, optical architectures and neural networks.

Enrollment Requirements

Knowledge of computer architecture and digital systems
Course Units
3
Core Designation
Typically Offered
Spring
Available Online

ECE 562 Computer Architecture And Design

Required course: No

Course Level

Graduate

Course Description

This course aims to provide a strong foundation for students to understand modern computer system architecture and to apply these insights and principles to future computer designs. It provides basic knowledge, fundamental concepts, design techniques and trade-offs, machine structures, technology factors, software implications, and evaluation methods and tools required for understanding and designing modern computer architectures, including multicores, embedded systems and parallel systems.

The course is structured around the three primary building blocks of general-purpose computing systems: processors, memories, and networks.

The first part of the course focuses on the fundamentals of each building block. Topics include processor microcoding and pipelining; cache microarchitecture and optimization; and network topology, routing, and flow control.

The second part goes into more advanced techniques and will enable students to understand how these three building blocks can be integrated to build a modern computing system. Topics include superscalar execution; branch prediction; out-of-order execution; register renaming and memory disambiguation; VLIW, vector and multithreaded processors; memory protection, translation and virtualization; and memory synchronization, consistency and coherence.

The third part addresses parallel computing, including multicore architectures, datacenters and cloud computing, and others.

Graduate-level students will be required to complete a term paper and extra homework.

Enrollment Requirements

ECE 175, ECE 274, ECE 369A or consent of instructor

Course Texts

Computer Architecture: A Quantitative Approach, J.L. Hennessy and D.A. Patterson, 5th Edition. Morgan Kaufmann Publishers, 2011.

Other reading material will be either presented in class or made available online.

Schedule

150 minutes lecture per week

Summary

Intended to provide students with an in-depth study of computer architecture and design. Provides a basic knowledge and ability required for understanding and designing standard and novel computer architectures. Topics include design methodologies at various levels, instruction set design, ALU design, memory organization and design, cache design, virtual memories, interleaved memories, associative memories, control organization and design, hardwired control, micro-programmed control, pipelining, superscalar and super-pipelining, RISC design, vector processing, and others.

Assessment

  • Homework: 4-6 homework problem sets
  • Exams: 2 in-class exams
  • Project: 1 semester-long project completed in 3 phases
  • Computer usage: Assembly and C programming exercises
Course Units
3
Core Designation
Typically Offered
Spring
Available Online

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 523 Engineering Applications of Machine Learning and Data Analytics

Required course: No

Course Level

Graduate

Course Description

Machine learning deals with the automated classification, identification, and/or characterizations of an unknown system and its parameters. There is an overwhelming number of application-driven fields that can benefit from machine learning techniques. This course will introduce you to machine learning and develop core principles that allow you to determine which algorithm to use, or design a novel approach to solving to engineering task at hand. This course will also use software technology to supplement the theory learned in the class with applications using real-world data.

Enrollment Requirements

ECE 503 or equivalent

Course Texts

Introduction to Machine Learning, 3rd Ed., Ethem Alpaydin, The MIT Press, 2014. (ISBN: 978-0262028189)

Schedule

150 minutes lecture per week
Course Units
3
Core Designation
Typically Offered
Spring
Available Online

ECE 509 Cyber Security - Concept, Theory, Practice

Required course: No

Course Level

Graduate

Course Description

This course provides an introduction to technical aspects of cyber security. It describes threats and types of attacks against computers and networks to enable students to understand and analyze security requirements and define security policies. Security mechanisms and enforcement issues will be introduced. Students will be immersed in the cyber security discipline through a combination of intense coursework, open-ended and real-world problems and hands-on experiments.

Enrollment Requirements

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