Classes

(TA) ECE 358 Computer Networks

Semester: 

Spring

Offered: 

2017

This course is a comprehensive introduction to computer networks. The focus is on the concepts, the protocols, and the fundamental design principles that have contributed to the success of the Internet. Topics include: history of the Internet, transmission media and technologies, switching and multiplexing, protocols and layering, LAN (wired and wireless), congestion/flow/error control, routing, addressing, internetworking (Internet) including TCP. 

Read more about (TA) ECE 358 Computer Networks

(TA) ECE 606 Algorithms

Semester: 

Fall

Offered: 

2017
Introduction: data structures, algorithms, correctness criteria, non-existence result. Complexity classes – L, NL, P, NP, PSPACE, EXPTIME, EXPSPACE, DECIDABLE, UNDECIDABLE. The class P, and examples of analysis of worst- and expected-case efficiency. Optimization vs. decision problems, the class NP, Cooke and Karp reductions, the polynomial hierarchy. Recognizing optimal substructure, dynamic programming, when not to be naive. Reconciling NP- completeness – NP as an upper-bound, reduction to SAT and SAT solvers. Reconciling PSPACE- completeness – model checking, PSPACE as an upper-bound. The... Read more about (TA) ECE 606 Algorithms

ECE 628 Computer Network Security

Semester: 

Winter

Offered: 

2016

Evolution of computer security. Types of security threats, hardware threats, software threats, physical threats, cryptanalysis. The theory of secure message passing. Methods of encryption, private networks, Data Encryption Standard, Public Key Cryptosystems. Secrecy and Privacy in a network environment, long haul networks, local area networks. Protocols for computer network security.

Read more about ECE 628 Computer Network Security

ECE 654 Software Reliability Engineering

Semester: 

Spring

Offered: 

2016

The course consists of two related parts. The first part deals with the engineering of reliable software. It introductes basic software reliability concepts, descritbes relevant models and discusses processes for engineering of reliable software, including schemes and patterns for the design of reliable and fault tolerant software. The second part addresses development of secure software. It presents key software security concept, techniques and models, overviews major software security vulnerabilities and their exploitation, and considers processes for development of secure software....

Read more about ECE 654 Software Reliability Engineering

(TA) ECE 458 Computer Security

Semester: 

Spring

Offered: 

2016

Introduction to computer security. Models of security. Elementary cryptography. Software security, vulnerabilities, threats, defenses and secure-software development processes. Threats to networks and defenses. Security issues at the application layer. Secure design principles, techniques and security evaluation. Privacy, ethics and legal issues.

Read more about (TA) ECE 458 Computer Security

ECE 657 Tools of Intelligent Systems Design

Semester: 

Spring

Offered: 

2015

Conventional approaches for tackling complex systems are usually implemented under the assumption of a good understanding of the process dynamics/functionalities and its operating environment. These techniques fail, however, to provide satisfactory results when applied to ill-defined processes (for which analytical and experimental modeling may not be easily obtained) that may operate in unpredictable and possibly noisy environment. Recent developments in the area of intelligent systems and soft computing have presented powerful alternatives for dealing with the behavior of this class of...

Read more about ECE 657 Tools of Intelligent Systems Design

(TA) ECE 254 Operating Systems and Systems Programming

Semester: 

Fall

Offered: 

2015

Concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, synchronization, and concurrency; memory management, segmentation, and paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; protection, security, and privacy. 

Read more about (TA) ECE 254 Operating Systems and Systems Programming

ECE 604 Stochastic Processes

Semester: 

Fall

Offered: 

2015

Theory of random variables, vectors and processes. Conditional probabilities and expectations. Convergence of sequences of random variables. Markov chains in discrete and continuous time. Poisson processes. Basic renewal processes. Stationary random processes, correlation, and power spectra. Emphasis on problem solving using probabilistic approaches.

Read more about ECE 604 Stochastic Processes

ECE 606 Algorithm Design and Analysis

Semester: 

Fall

Offered: 

2014

This is an introductory course on algorithms at the graduate level. It assumes familiarity with basic data structures such as lists, queues, trees and graphs, and emphasizes creativity in the design of algorithms, and rigorous analysis. Correctness (soundness and completeness) and efficiency (with respect to average-, best- and worst-case time and space) properties are considered in the context of algorithms for classes of problems such as optimization and decision problems. The course also gives insights into when a problem may be intractable, and how we may deal with intractability.

Read more about ECE 606 Algorithm Design and Analysis