Cybersecurity

The Master of Science in Cybersecurity is an interdisciplinary program offered by the departments of Computer Science (CSC) and Electrical and Computer Engineering (ECE) that will train the next generation of professionals for careers in industry, government, and academia to safeguard our society and our world. The program will provide students with the latest technical knowledge and skills in cybersecurity and privacy principles and the engineering aspects of software and hardware security to build secure systems that are resistant to attack. Vulnerabilities can enable cyber attacks that could lead to critical disruptions in telecommunications, banking, utilities, data storage, transportation, and more. The program will contribute to the economic development of North Carolina by providing a pipeline of experienced cybersecurity-trained professionals to support the development of technology solutions across a range of industries.
Applicant Information
- Delivery Method: On-Campus, Online, Hybrid
- Entrance Exam: GRE is required for International Students
- Interview Required: No
Application Deadlines
Application deadlines for this program can be found on the following website: https://grad.ncsu.edu/admissions/deadlines/
Professors
- William Enck
- Laurie Williams
Associate Professors
- Amro Awad
- Alexandros Kapravelos
- Brad Reaves
- Alessandra Scafuro
Assistant Professors
- Samira Mirbagher Ajorpaz
- Aydin Aysu
- Anupam Das
- Dominik Wermke
- Chau-Wai Wong
Fundamental issues related to the design of operating systems. Process scheduling and coordination, deadlock, memory management and elements of distributed systems.
Typically offered in Fall and Spring
Introduction to the conceptual and formal apparatus of mathematical logic, to mathematical concepts underlying the process of logical formalization, and to the applications of various logics across a broad spectrum of problems in computer science and artificial intelligence.
Typically offered in Fall only
Algorithm design techniques: use of data structures, divide and conquer, dynamic programming, greedy techniques, local and global search. Complexity and analysis of algorithms: asymptotic analysis, worst case and average case, recurrences, lower bounds, NP-completeness. Algorithms for classical problems including sorting, searching and graph problems (connectivity, shortest paths, minimum spanning trees).
Typically offered in Fall, Spring, and Summer
The need for parallel and massively parallel computers. Taxonomy of parallel computer architecture, and programming models for parallel architectures. Example parallel algorithms. Shared-memory vs. distributed-memory architectures. Correctness and performance issues. Cache coherence and memory consistency. Bus-based and scalable directory-based multiprocessors. Interconnection-network topologies and switch design. Brief overview of advanced topics such as multiprocessor prefetching and speculative parallel execution. Credit is not allowed for more than one course in this set: ECE 406, ECE 506, CSC 406.
Typically offered in Fall, Spring, and Summer
An introduction to software life cycle models; size estimation; cost and schedule estimation; project management; risk management; formal technical reviews; analysis, design, coding and testing methods; configuration management and change control; and software reliability estimation. Emphasis on large development projects. An individual project required following good software engineering practices throughout the semester.
Typically offered in Fall, Spring, and Summer
The course will concentrate on the theory and practice of compiler-writing. Topics to be covered will include techniques for parsing, code generation, and optimization. Furthermore, the theoretical underpinnings of compilers such as LR parsing will be covered. Finally, the students will be exposed to compiler construction tools, and will obtain hands-on experience in building a compiler for a small programming language. Besides the listed prerequisite courses, other helpful courses include CSC 253, CSC 224, CSC 234, and MA 121.
Typically offered in Fall only
Exploration of technological issues and challenges underlying electronic commerce. Distributed systems; network infrastructures; security, trust, and payment solutions; transaction and database systems; and presentation issues. Project required. No Audits.
Prerequisite: CSC 501
Typically offered in Spring only
Cryptography is the study of mathematical techniques for securing digital information, systems and distributed computation against adversarial attacks. In this class you will learn the concepts and the algorithms behind the most used cryptographic protocols: you will learn how to formally define security properties and how to formally prove/disprove that a cryptographic protocol achieves a certain security property. You will also discover that cryptography has a much broader range of applications. It solves absolutely paradoxical problems such as proving knowledge of a secret without ever revealing the secret (zero-knowledge proof), or computing the output of a function without ever knowing the input of the function (secure computation). Finally, we will look closely at one of the recent popular application of cryptography: the blockchain technology. Additionally, graduate students will study some of the topics in greater depth.
Typically offered in Fall only
Introduces students to the discipline of designing, developing, and testing secure and dependable software-based systems. Students will learn about risks and vulnerabilities, and effective software security techniques. Topics include common vulnerabilities, access control, information leakage, logging, usability, risk analysis, testing, design principles, security policies, and privacy. Project required.
Prerequisite: CSC 510
Typically offered in Spring only
The design of object-oriented systems, using principles such as the GRASP principles, and methodologies such as CRC cards and the Unified Modeling Language (ULM). Requirements analysis. Design patterns Agile Methods. Static vs. dynamic typing. Metaprogramming. Open-source development practices and tools. Test-first development. Project required, involving contributions to an open-source software project.
Typically offered in Fall and Spring
Modern software development organizations require entire teams of DevOps to automate and maintain software engineering processes and infrastructure vital to the organization. In this course, you will gain practical exposure to the skills, tools, and knowledge needed in automating software engineering processes and infrastructure. Students will have the chance to build new or extend existing software engineering tools and design a DevOps pipeline.
Prerequisite: CSC 510 or (graduate or senior standing with at least a 3.0 GPA) and good knowledge of at least one high level programming language
Typically offered in Fall and Spring
Introduction to and overview of artificial intelligence. Study of AI programming language such as LISP or PROLOG. Elements of AI problem-solving technique. State spaces and search techniques. Logic, theorem proving and associative databases. Introduction to knowledge representation, expert systems and selected topics including natural language processing, vision and robotics.
Typically offered in Fall and Spring
This course provides an introduction to concepts and methods for extracting knowledge or other useful forms of information from data. This activity, also known under names including data mining, knowledge discovery, and exploratory data analysis, plays an important role in modern science, engineering, medicine, business, and government. Students will apply supervised and unsupervised automated learning methods to extract patterns, make predictions and identify groups from data. Students will also learn about the overall process of data collection and analysis that provides the setting for knowledge discovery, and concomitant issues of privacy and security. Examples and projects introduce the students to application areas including electronic commerce, information security, biology, and medicine. Students cannot get credit for both CSC 422 and CSC 522.
Typically offered in Fall and Spring
Computer algorithms supporting genomic research: DNA sequence comparison and assembly, hybridization mapping, phylogenetic reconstruction, genome rearrangement, protein folding and threading.
Typically offered in Fall only
This course is offered alternate odd years
Privacy is a growing concern in our modern society. We interact and share our personal information with a wide variety of organizations, including financial and healthcare institutions, web service providers and social networks. Many times such personal information is inappropriately collected, used or shared, often without our awareness. This course introduces privacy in a broad sense, with the aim of providing students an overview of the challenging and emerging research topics in privacy. This course will expose students to many of the issues that privacy engineers, program managers, researchers and designers deal with in industry. ST 370 is recommended but not mandatory.
Prerequisite: CSC 316
Typically offered in Fall only
This class will: explore several aspects of security research with the goal of understanding the attacker's mindset; help the students to develop a foundation and a well-rounded view of security research; and cover some of the state-of-the-art attack/defense techniques and ongoing research activities in a number of topics in software security, web security, privacy and network security.
Typically offered in Spring only
Advanced database concepts. Logical organization of databases: the entity-relationship model; the relational data model and its languages. Functional dependencies and normal forms. Design, implementation, and optimization of query languages; security and integrity, consurrency control, transaction processing, and distributed database systems.
Prerequisite: CSC 316
Typically offered in Fall and Spring
Complex and specialized data structures relevant to design and development of effective and efficient software. Hardware characteristics of storage media. Primary file organizations. Hashing functions and collision resolution techniques. Low level and bit level structures including signatures, superimposed coding, disjoint coding and Bloom filters. Tree and related structures including AVL trees, B*trees, tries and dynamic hashing techniques.
Prerequisite: CSC 316
Typically offered in Spring only
Techniques for the design of neural networks for machine learning. An introduction to deep learning. Emphasis on theoretical and practical aspects including implementations using state-of-the-art software libraries. Requirement: Programming experience (an object-oriented language such as Python), linear algebra (MA 405 or equivalent), and basic probability and statistics.
Typically offered in Fall and Spring
Planning, design, and development and implementation of comprehensive computer-based information systems to support management decisions. Formal information systems principles; information requirements analysis; knowledge acquisition techniques; information modeling. Information resource management for quality operational control and decision support; system evaluation, process improvement and cost effectiveness.
Prerequisite: CSC 423 or BUS 541
Typically offered in Fall only
Study of cloud computing principles, architectures, and actual implementations. Students will learn how to critically evaluate cloud solutions, how to construct and secure a private cloud computing environment based on open source solutions, and how to federate it with external clouds. Performance, security, cost, usability, and utility of cloud computing solutions will be studied both theoretically and in hands-on exercises. Hardware-, infrastructure-, platform-, software-, security-, - "as-a-service".
Typically offered in Fall only
Basic concepts of parallel computation; parallel programming models and algorithm design; load balancing and performance optimization; parallel I/0 and high-end storage systems; high performance parallel applications.
Typically offered in Spring only
This class prepares you to understand research challenges in autonomous driving. The delivery of the material will be split between lectures and research papers, the latter being presented by students. You will be introduced to a selection of fundamental concepts from embedded, real-time systems and machine learning. In parallel, students will participate in presenting research papers on topics related to and advancing on the fundamental concepts of autonomous driving.
Prerequisite: Graduate Standing
Typically offered in Spring only
Basic theory and concepts of human-computer interaction. Human and computational aspects. Cognitive engineering. Practical HCI skills. Significant historical case studies. Current technology and future directions in user interface development.
Prerequisite: CSC 316
Typically offered in Spring only
This course surveys the field of social computing, introducing its key concepts, paradigms, and techniques. Specific topics are selected from the following list: social media and social network analytics, sociological underpinnings, crowdsourcing and surveys, human computation, social mobilization, human decision making, voting theory, judgment aggregation, prediction markets, economic mechanisms, incentives, organizational modeling, argumentation, contracts, norms, mobility and social context, sociotechnical systems, and software engineering with and for social computing. This course incorporates ideas from diverse disciplines (including sociology, psychology, law, economics, political science, logic, statistics, philosophy, business) to provide essential background for future computer science careers in industry and research.
Typically offered in Fall only
Fundamentals of the OpenGL API. 2D and 3D transformations, perspective and orthographic projection, and the mathematical foundations that underlie these concepts. Geometric primitives, clipping, depth buffering, scan conversion, and rasterization. Lighting, shadows, and texture mapping. Curves and surfaces.
Prerequisite: CSC Majors
Typically offered in Fall only
This course offers an advanced discussion of topics in computer graphics, with an emphasis on rendering techniques and GPU shader programming used in computer game engine design. Students are required to implement a medium-size game program that includes modeling and rendering, 2D physics, and animation of dynamic objects. Students will learn about GPU basics, mathematics of transformations, visual appearance properties, texturing, global illumination, and toon shading in computer games.
Typically offered in Spring only
The conception and creation of effective visual interfaces for mobile devices, including ideation and prototyping for useful mobile applications, the industry and architecture of mobile devices, mobile usage context, computer graphics and interfaces for mobiles, and mobile programming.
Typically offered in Spring only
Basic concepts of graph theory. Trees and forests. Vector spaces associated with a graph. Representation of graphs by binary matrices and list structures. Traversability. Connectivity. Matchings and assignment problems. Planar graphs. Colorability. Directed graphs. Applications of graph theory with emphasis on organizing problems in a form suitable for computer solution.
Typically offered in Spring only
This course is offered alternate even years
An introduction to storage systems architecture in an enterprise. Begins with a review of the individual components of a system (eg, hard disk drives, network interfaces), and shows how to aggregate those into storage systems. Tradeoffs involving factors such as cost, complexity, availability, power and performance. Discussion of information management strategies, including data migration. Guest lectures by representatives from local industry. Students work in teams on a semester-long project.
Typically offered in Spring only
This course provides an introduction to quantum computing. It will feature the three pillars, quantum system architectures, algorithms, and programming of quantum computing. Its focus is on the applicability of problems to quantum computing from a practical point of view, with only the necessary foundational coverage of the physics and theoretical aspects to understand quantum computing. Both simulation software and actual quantum computers will be utilized to prototype problem solutions. This should develop a better understanding of how problems are transformed into quantum algorithms and what programming language support is best suited for a given application area. The course will require significant background reading plus presentations, projects, and exercises per participant.
Prerequisite: Knowledge of Python programming and linear algebra
Typically offered in Fall only
General introduction to computer networks. Discussion of protocol principles, local area and wide area networking, OSI stack, TCP/IP and quality of service principles. Detailed discussion of topics in medium access control, error control coding, and flow control mechanisms. Introduction to networking simulation, security, wireless and optical networking.
Prerequisite: ECE 206 or CSC 312, ST 371, CSC 258 and Senior standing or Graduate standing
Typically offered in Fall, Spring, and Summer
This course introduces advanced optimization theory and algorithms with rapidly growing applications in machine learning, systems, and control. Methods are given to obtain a non-dynamic system's extremum (minimum or maximum) and use these methods in various engineering applications. This course aims to prepare graduate students with a solid theoretical and mathematical foundation and applied techniques at the intersection of optimization, algorithms, and machine learning to conduct advanced research in related fields. Students will gain expertise in designing algorithms based on common techniques, dealing with intractable problems, and implementing algorithms given the description. Students must undertake a semester-long project (at Google Colab) that practices the optimization theory and algorithms in their areas of interest. These projects can replicate or improve a known solving strategy for a given optimization problem to assess and compare the performance.
Restriction: Introductory courses in probability and linear algebra and Graduate Student Standing
Typically offered in Fall only
Principles and issues underlying provision of wide area connectivity through interconnection of autonomous networks. Internet architecture and protocols today and likely evolution in future. Case studies of particular protocols to demonstrate how fundamental principles applied in practice. Selected examples of networked clinet/server applications to motivate the functional requirements of internetworking. Project required.
Prerequisite: CSC/ECE 570
Typically offered in Fall and Spring
This course presents foundational concepts of computer and network security and privacy. It covers a wide breadth of concepts, including; Fundamentals of computer security and privacy, including security models, policies, and mechanisms; Cryptography for secure systems, including symmetric and asymmetric ciphers, hash functions, and integrity mechanisms; Authentication of users and computers; Network attacks and defenses at the network and application layers; Common software vulnerabilities and mitigation strategies; Secure operating systems and seminal access control models and policies; Principles of intrusion detection; Privacy, including considerations of end-user technologies.
Typically offered in Fall and Spring
Introduction to cellular communications, wireless local area networks, ad-hoc and IP infrastructures. Topics include: cellular networks, mobility mannagement, connection admission control algorithms, mobility models, wireless IP networks, ad-hoc routing, sensor networks, quality of service, and wireless security.
Prerequisite: ECE/CSC 570
Typically offered in Spring only
Topics related to networking services, signaling for setting up networking services, such as SIP and IMS, networking architectures for providing QoS for networking services, such as MPLS, DiffServ and RAC, signaling protocols for setting up QoS connections in the transport stratum, such as LDP and RSVP-TE, video-based communications, and capacity planning models for dimensioning services.
Prerequisite: CSC/ECE 570
Typically offered in Fall and Spring
Topics related to design and management of campus enterprise networks, including VLAN design; virtualization and automation methodologies for management; laboratory use of open space source and commercial tools for managing such networks.
Typically offered in Fall only
The course provides an introduction to the theoretical fundamentals and practical/experimental aspects of Long Term Evolution (LTE) and 5G systems. A basic understanding of digital communications and radio access networks is required. Following topics will be studied: 1) User and control plane protocols, 2) physical layer for downlink, 3) physical layer for uplink, 4) practical deployment aspects, 5) LTE-Advanced, 6) 5G communications. Fundamental concepts to be covered in the context of LTE/5G systems include OFDMA/SC-FDMA, synchronization, channel estimation, link adaptation, MIMO, scheduling, and millimeter wave systems. Students are recommended to have the prior knowledge gained from ECE 570 or ECE 582 before taking this course. The course will also require using Matlab software for homeworks, including its LTE and 5G toolboxes.
Typically offered in Fall only
Workload characterization, collection and analysis of performance data, instrumentation, tuning, analytic models including queuing network models and operational analysis, economic considerations.
Prerequisite: CSC 312 or ECE 206 and MA 421
Typically offered in Fall and Spring
Algorithm behavior and applicability. Effect of roundoff errors, systems of linear equations and direct methods, least squares via Givens and Householder transformations, stationary and Krylov iterative methods, the conjugate gradient and GMRES methods, convergence of method.
Typically offered in Fall only
In this course we will examine some of the components of a commercial strength game engine. We will survey different genres of games, using some of the unique design challenges each genre provides as a motivation for an in-depth examination of the affordances games engines provide for designing games of that genre. We will cover topics ranging from data structures, resource management, game loops and logical timing systems, scripting, error logging, and networking. A sequence of programming assignments will lead students through the implementation of their own game engine, which they will use to design their own game.
Typically offered in Fall only
A theoretical and practical study of the computational models supporting the creation of interactive narrative systems. Topics include basic introductions to cognitive, linguistic and film theoretic models of narrative; representations and reasoning techniques from artificial intelligence related to the creation of storylines, dialog, camera control and other features of narrative in text-based and/or 3D virtual worlds; mechanisms for controlling character behavior in multi-agent multi-user stories; and applications of these techniques ranging from interactive entertainment to educational software to training simulations.
Typically offered in Fall only
Introduction to basic parallel architectures, algorithms and programming paradigms; message passing collectives and communicators; parallel matrix products, domain decomposition with direct and iterative methods for linear systems; analysis of efficiency, complexity and errors; applications such as 2D heat and mass transfer.
Typically offered in Spring only
In this course we will examine Artificial Intelligence (AI) techniques that are used in the design of computer games. We will look at techniques for game playing as well as the design of AI opponents tasked with creating "good experiences" for players. The course will begin with a discussion of general AI, common algorithms, data structures, and representations. From there, we will cover topics in character movement, pathfinding, decision making, strategy, tactics, and learning. In a sequence of programming assignments students will create increasingly sophisticated AI implementations. Students will also critically review the projects conducted by graduate students enrolled in CSC584. CSC majors only. Students cannot get credit for both CSC 484 and CSC 584.
Prerequisite: CSC 316
Typically offered in Spring only
Topics of current interest in computer science not covered in existing courses.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
Application of cybersecurity principles and computer science and engineering to solve a cybersecurity problem. A project with comprehensive written and oral project report is required. Enrollment is open to Graduate Certificate in Cybersecurity (CYS GCP) students and CSC and ECE majors only.
Prerequisite: CSC/ECE 574
Typically offered in Fall only
Introduction for new graduate students to (a) information about graduate program, department, and university resources, and (b) research projects conducted by CSC faculty.
Typically offered in Fall and Spring
Individual investigation of topics under the direction of member(s) of the graduate faculty.
Typically offered in Fall, Spring, and Summer
Teaching experience under the mentorship of faculty who assist the student in planning for the teaching assignment, observe and provide feedback to the student during the teaching assignment, and evaluate the student upon completion of the assignment.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
For students in non-thesis master's programs who have completed all credit hour requirements for their degree but need to maintain half-time continuous registration to complete incomplete grades, projects, final master's exam, etc.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
For students in non-thesis master's programs who have completed all credit hour requirements for their degree but need to maintain full-time continuous registration to complete incomplete grades, projects, final master's exam, etc. Students may register for this course a maximum of one semester.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
For students in non thesis master's programs who have completed all other requirements of the degree except preparing for and taking the final master's exam.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
Instruction in research and research under the mentorship of a member of the Graduate Faculty.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
Thesis research.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
For graduate students whose programs of work specify no formal course work during a summer session and who will be devoting full time to thesis research.
Prerequisite: Master's student
Typically offered in Summer only
For students who have completed all credit hour requirements and full-time enrollment for the master's degree and are writing and defending their thesis.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
Fundamentals and advanced topics in operating system (OS) security. Study OS level mechanisms and policies in investigating and defending against real-world attacks on computer systems, such as self-propagating worms, stealthy rootkits and large-scale botnets. OS security techniques such as authentication, system call monitoring, as well as memory protection. Introduce recent advanced techniques such as system-level randomization and hardware virtualization.
Prerequisite: CSC 501
Typically offered in Spring only
Formal models of language and computation; finite automata and regular languages, pushdown automata and context-free languages, Turing machines. Relative power of models, Chomsky hierarchy. Inherent complexity of problems: undecidability, computational complexity, intractable problems.
Typically offered in Fall only
This course addresses the human aspect of software engineering, by studying the people who practice it. Students will explore software engineering as traditionally defined, and also consider techniques that transform how we understand software engineering, such as methods from psychology and sociology. Students will study the usability of software engineering tools, the psychology of programming, performance of software developers, experimental methods in observing software engineers, distributed development and coordination, and cultural differences between software developers.
Prerequisite: CSC 510
Typically offered in Spring only
This course is offered alternate odd years
Data management principles and technologies for efficient implementation of geospatial applications. This course introduces students to: spatial and temporal data types, data models, geometry models, spatial predicates, spatial access methods, and spatial query processing. In addition, students will be exposed to modern data management systems for geospatial application development and data integration principles. Prior GIS programming knowledge and knowledge of database management systems and SQL is preferred.
Typically offered in Spring only
An advanced introduction to software testing and reliability. The course is a balanced mixture of theory, practice, and application. Methods, techniques, and tools for testing software and producing reliable and secure software are used and analyzed. Software reliability growth models and techniques for improving and predicting software reliability are examined, and their practical use is demonstrated. Good knowledge of C++ or Java. Knowledge of the basics of statistics, calculus, and linear algebra.
Prerequisite: CSC 510
Typically offered in Fall only
This course is offered alternate even years
Design and implementation of computer systems required to provide specific response times. Structure of a real-time kernel, fixed and dynamic priority scheduling algorithms, rate monotonic scheduling theory, priority inheritance protocols, real-timebenchmarks, case study of a real-time kernel.
Typically offered in Spring only
This course is offered alternate years
A second course in artificial intelligence emphasizing advanced concepts of AI including logic programming, automatic programming, natural language understanding, visual perception by machine, learning and inference, intelligent computer-aided instruction, knowledge representation, robotics and other topics to be chosen by instructor. Students asked to write programs in AI programming language such as LISP and PROLOG.
Prerequisite: CSC 520
Typically offered in Spring only
A broad range of advanced topics in machine learning, the building of computer-based systems that can adapt to their environment and learn from their own experience. Theory of learnability, technical details of various learning methods, combination of multiple methods, evaluation of methods, and related topics (at the discretion of the instructor).
Prerequisite: CSC 520
Typically offered in Spring only
This course is offered alternate odd years
Principles in the design and implementation of modern distributed systems; recent techniques used by real-world distributed systems such as peer-to-peer file sharing, enterprise data center, and internet search engines; state-of-the-art architectures, algorithms, and performance evaluation methodologies in distributed systems.
Prerequisite: CSC 501 or equivalent. Programming in C++ or Java in Unix environments
Typically offered in Spring only
This course is offered alternate odd years
Database concepts. Database design. Data models: entity-relationship and relational. Data manipulation languages including SQL. Data Dictionaries. Query processing. Concurrency. Software development environments using a database system. Expert, object-oriented, multimedia and distributed database systems. Database systems architecture. Use of a commercial database management system.
Typically offered in Spring only
Concepts, theories, and techniques for computing with services. This course examines architectures for Web applications based on the classical publish, find, and bind triangle, but formulates it at a higher level. It considers sophisticated approaches for the description, discovery, and engagement of services, especially over the Web and the Grid. This course emphasizes service composition. Key topics include semantics, transactions, processes, agents, quality of service, compliance, and trust.
Prerequisite: CSC 540: Database Management Concepts and Systems
Typically offered in Fall only
Understanding and discussing current advances and research topics in computer graphics. Possible topics include nonphotorealistic rendering, modeling natural phenomena, illumination and rendering techniques, model simplification, animation, visualization, graphics hardware. Learning to critique research papers from important venues in the computer graphics field. Learning to read, interpret, and present computer graphics research papers in a conference-type environment.
Prerequisite: Graduate standing in Computer Science
Typically offered in Spring only
This course is offered alternate odd years
Basic discrete event simulation methodology: random number generators, generating random objects, design of discrete event simulation, validation, analysis of simulation output, variance reduction techniques, Markov chain Monte Carlo, simulation optimization. The course has computer assignments and projects. This course is a sequel to ISE/OR 760 Stochastic Models which serves as a prerequisite. This is NOT a software based course! Students who are looking for a class on simulation software, such as Arena and Simio, are recommended to take ISE 562 (master-level simulation class).
Students should have completed a course on stochastic models (similar to ISE 560 or ISE 760) and have a working knowledge of a programming language (e.g., Python, Matlab, R, or others).
Typically offered in Fall and Spring
Advanced research issues in code optimization for scalar and parallel programs; program analysis, scalar and parallel optimizations as well as various related advanced topics.
Typically offered in Spring only
Principles of network and service continuity and related metrics; the theory of network availability, survivability, and restoration; a comprehensive coverage of network architectures, protocols, algorithms, and related technology for survivability; advanced topics in network survivability; hands-on experience in the implementation of protocols and software for survivable systems and the operation of survivable networks.
Typically offered in Spring only
Cutting-edge concepts and technologies to support internetworking in general and to optimize the performance of the TCP/IP protocol suite in particular. Challenges facing and likely evolution for next generation intenetworking technologies. This course investigates topics that include, but may be not limited to: Internet traffic measurement, characteriztion and modeling, traffic engineering, network-aware applications, quality of service, peer-to-peer systems, content-distribution networks, sensor networks, reliable multicast, and congestion control.
Prerequisite: CSC/ECE 573
Typically offered in Spring only
A study of network security policies, models, and mechanisms. Topics include: network security models; review of cryptographic techniques; internet key management protocols; electronic payments protocols and systems; intrusion detection and correlation; broadcast authentication; group key management; security in mobile ad-hoc networks; security in sensor networks.
Typically offered in Spring only
Approximation and interpolation, Fast Fourier Transform, numerical differentiation and integration, numerical solution of initial value problems for ordinary differential equations.
Prerequisite: MA 580
Typically offered in Spring only
This course provides an in-depth investigation into security issues in areas including cellular air interfaces, core networking (SS7, IMS), cellular data networking, mobile device architectures, and classic telephone networks. In particular, we will study how these networks provide (or fail to provide) high confidentiality, integrity, availability, authentication, and privacy. A key focus of the course will be how the design philosophy of telephone networks differs from the Internet, complicating traditional security solutions.
Prerequisite: CSC 401 or CSC 405 or CSC 474 or CSC 537 or CSC 570 or CSC 573 or CSC 574 or equivalent
Typically offered in Fall only
Advanced topics of current interest in computer science not covered by existing courses.
Typically offered in Fall and Spring
Faculty and graduate student research presentations and discussions centered around current research problems in Computer Science and advanced theories in these areas. Students are expected to make presentations of published works and, depending onthe course credit received and their academic degree progress, present their own research results. Critical discussions of the various research approaches and results and their relationships based on the presentations and additional readings and research. Departmental Approval Required.
Prerequisite: Graduate standing
Typically offered in Fall and Spring
Individual investigation of advanced topics under the direction of member(s) of the graduate faculty.
Typically offered in Fall, Spring, and Summer
Teaching experience under the mentorship of faculty who assist the student in planning for the teaching assignment, observe and provide feedback to the student during the teaching assignment, and evaluate the student upon completion of the assignment.
Prerequisite: Doctoral student
Typically offered in Fall and Summer
For students who are preparing for and taking written and/or oral preliminary exams.
Prerequisite: Doctoral student
Typically offered in Fall, Spring, and Summer
Instruction in research and research under the mentorship of a member of the Graduate Faculty.
Prerequisite: Doctoral student
Typically offered in Fall, Spring, and Summer
Dissertation research
Prerequisite: Doctoral student
Typically offered in Fall, Spring, and Summer
For graduate students whose programs of work specify no formal course work during a summer session and who will be devoting full time to thesis research.
Prerequisite: Doctoral student
Typically offered in Summer only
For students who have completed all credit hour, full-time enrollment, preliminary examination, and residency requirements for the doctoral degree, and are writing and defending their dissertations.
Prerequisite: Doctoral student
Typically offered in Fall, Spring, and Summer
This course investigates the engineering techniques to understand, repair, replace, or enhance neural systems. The topics to be covered includes the following: the history of bioelectricity phenomena, the basics of modern neuroscience in electrical engineering terms and models, design of functional electrical interfaces with the nervous system for stimulating and recording purposes, basics of electrochemistry development of various systems for neuroprosthetics and neurorobotics applications such as pacemakers, cochlear implants and neuroprosthetic limbs.
Senior or graduate standing.
Typically offered in Fall only
The need for parallel and massively parallel computers. Taxonomy of parallel computer architecture, and programming models for parallel architectures. Example parallel algorithms. Shared-memory vs. distributed-memory architectures. Correctness and performance issues. Cache coherence and memory consistency. Bus-based and scalable directory-based multiprocessors. Interconnection-network topologies and switch design. Brief overview of advanced topics such as multiprocessor prefetching and speculative parallel execution. Credit is not allowed for more than one course in this set: ECE 406, ECE 506, CSC 406.
Typically offered in Fall, Spring, and Summer
Concepts of digital signal processing: Discrete-Time Signals and Systems, Z-Transform, Frequency Analysis of Signals and Systems, Digital Filter Design, Analog-to-Digital and Digital-to-Analog Conversion, and the Discrete Fourier Transform.
Prerequisite: ECE 301
Typically offered in Fall and Spring
Analog integrated circuits and analog integrated circuit design techniques. Review of basic device and technology issues Comprehensive coverage of MOS and Bipolar operational amplifiers. Brief coverage of analog-to-digital conversion techniques and switched-capacitor filters. Strong emphasis on use of computer modeling and simulation as design tool. Students required to complete an independent design project.
Prerequisite: ECE403
Typically offered in Fall only
Topics covered will include modeling by minimum description length, scientific programming, optimization, machine learning basics, sparse signal processing, and dimensionality reduction.
P: ECE 301 or equivalent (Fourier transforms), ECE 410 or 510 (analog to digital conversion, filters), probability, linear algebra, calculus.
Typically offered in Fall only
Probabilistic descriptions of signals and noise, including joint, marginal and conditional densities, autocorrelation, cross-correlation and power spectral density. Linear and nonlinear transformations. Linear least-squares estimation. Signal detection.
Prerequisite: Statistics 371; Signals and Linear Systems; Linear Algebra; Calculus
Typically offered in Fall only
This course is a first graduate-level course in digital communications. Functions and interdependence of various components of digital communication systems will be discussed. Statistical channel modeling, modulation and demodulation techniques, optimal receiver design, performance analysis methods, source coding, quantization, and fundamentals of information theory will be covered in this course.
Typically offered in Spring and Summer
Introduction to analysis and design of continuous and discrete-time dynamical control systems. Emphasis on linear, single-input, single-output systems using state variable and transfer function methods. Open and closed-loop representation; analog and digital simulation; time and frequency response; stability by Routh-Hurwitz, Nyquist and Liapunov methods; performance specifications; cascade and state variable compensation. Assignments utilize computer-aided analysis and design programs.
Prerequisite: ECE 435 or ECE 301
Typically offered in Spring only
The design of object-oriented systems, using principles such as the GRASP principles, and methodologies such as CRC cards and the Unified Modeling Language (ULM). Requirements analysis. Design patterns Agile Methods. Static vs. dynamic typing. Metaprogramming. Open-source development practices and tools. Test-first development. Project required, involving contributions to an open-source software project.
Typically offered in Fall and Spring
This course surveys the methods and application of wearable electronics and microsystems to monitor human biometrics, physiology, and environmental conditions. Topics covered include wearable electrocardiograms, blood-glucose monitors, electronic tattoos, wearable energy harvesting, "smart" clothing, body area networks, and distributed population networks. Critical comparison of different sensor modalities, quantitative metrics, and how their limitations in realistic applications define the selection, design, and operation criteria of one type of sensor over another will be considered.
Prerequisite: Senior standing
Typically offered in Fall only
Fundamentals of medical instrumentation systems, sensors, and biomedical signal processing. Example instruments for cardiovascular and respiratory assessment. Clinical laboratory measurements, theraputic and prosthetic devices, and electrical safetyrequirements. Students should have background in electronics design using operational amplifiers.
Typically offered in Spring only
This course investigates photonic devices at the component level and examines the generation, propagation and detection of light in the context of optical communication systems. Topics include planar and cylindrical optical waveguides, LEDs, lasers,optical amplifiers, integrated optical and photodetectors, design tradeoffs for optical systems, passive optical networks, and wavelength division multiplexed systems.
Prerequisite: Graduate standing or Senior standing ; Engineering Majors or Physics Majors
Typically offered in Spring only
Introduction to communication theory and radio system design. Design and analysis of radio systems, such as heterodyne transceivers, and effects of noise and nonlinearity. Design and analysis of radio circuits: amplifiers, filters, mixers, baluns and other transmission line and discrete circuits.
Prerequisite: ECE 302
Typically offered in Spring only
This course explores the theory and operational characteristics of semiconductor optoelectronic devices. It broadly covers the fundamentals of the propagation, modulation, generation, and absorption of light in semiconductors. Topics include the energy transfer between photons and electrons/holes, light emission and absorption, radiative and non-radiative processes, electrical and optical characteristics, semiconductor materials, heterojunctions, and light extraction and trapping. Specific devices that are discussed include laser diodes, light-emitting diodes, electroabsorption modulators, photodetectors, and solar cells.
Prerequisite: ECE 302 and ECE 404 or equivalent; knowledge of programming and plotting software such as MATLAB, Python, or Excel
Typically offered in Spring only
Properties of charged particles under influence of fields and in solid materials. Quantum mechanics, particle statistics, semi-conductor properties, fundamental particle transport properties, p-n junctions.
Prerequisite: ECE 303, B average in ECE and MA
Typically offered in Fall only
This course introduces design of high-performance power electronic circuits where the integrated physical topology must be considered as part of the circuit, and provides an understanding of the multitude of parasitic elements created by circuit layout, materials and fabrication techniques. This prepares the student for high-density, high-frequency design of converters, gate drive circuits and resonant topologies. The student is also introduced to a power-electronics packaging lab and primary fabrication processes, such as Direct Bonded Copper (DBC) module construction with heavy-wire bonding, two-sided and 3D power modules in layered polymers, and high-voltage isolation of circuits with encapsulate in modules.
Prerequisite: ECE 434 or with permission of instructor
Typically offered in Spring only
DC and AC analysis of isolated and non-isolated switch mode power supply. Basic converter topologies covered include: buck, boost and buck/boost and their transformer-couples derivatives. Design of close loop of these DC/DC converters. Power devices and their applications in DC/DC converters. Inductor and transformer design.
Prerequisite: ECE 302
Typically offered in Fall only
A practical introduction to electromechanical systems with emphasis on modeling, analysis, design, and control techniques. Provides theory and practical tools for the design of electric machines (standard motors, linear actuators, magnetic bearings, etc). Involves some self-directed laboratory work and culuminates in an industrial design project. Topics include Maxwell's equations, electromechanical energy conversion, finite element analysis, design and control techniques.
Prerequisite: MA 341
Typically offered in Spring and Summer
Discrete system dynamics, sampled-data systems, mathematical representations of analog/digital and digital/analog conversions, open- and -closed-loop systems, input-output relationships, state-space and stability analyses, time and frequency domain analysis with emphasis on time domain. Design and implementation of digital controllers. Case studies. Design project including hardware implementation.
Prerequisite: Graduate standing & ECE 436 or similar or consent of instructor
Typically offered in Fall only
Processes used in fabrication of modern integrated circuits. Process steps for crystal growth, oxidation, diffusion, ion implantation, lithography, chemical vapor deposition, etching, metallization, layout and packaging. Process integration for MOS and biopolar processes. Characterization techniques, simulation, yield and reliability.
Prerequisite: ECE 404
Typically offered in Fall only
Brief review of Maxwell's Equations, constitutive relations and boundary conditions. Reflection and refraction of plane waves; power and energy relations in isotropic media. Potential functions, Green's functions and their applications to radiation and scattering. Antenna fundamentals: linear antennas, uniform linear arrays and aperture antennas, microstrip antennas. Fundamentals of numerical methods for electromagnetic simulation and antenna design.
Prerequisite: ECE 422
Typically offered in Spring only
This course introduces theoretical and practical concepts for antennas and arrays. Students will learn antenna fundamentals and basic parameters, the relationships between radiation and vector potentials, and apply key electromagnetic theorems such as image theory and equivalence principle. The theory and design of linear antennas, aperture antennas, microstrip antennas are discussed. Radiation pattern control via phased arrays, reflectarrays, and periodic structures are studied. Students will learn CAD tools for electromagnetic design. This course assumes familiarity with Maxwell's equations, electromagnetic waves, electromagnetic theorems, and transmission line theory.
Prerequisite: ECE 422 or equivalent
Typically offered in Spring only
Techniques for the design of neural networks for machine learning. An introduction to deep learning. Emphasis on theoretical and practical aspects including implementations using state-of-the-art software libraries. Requirement: Programming experience (an object-oriented language such as Python), linear algebra (MA 405 or equivalent), and basic probability and statistics.
Typically offered in Spring only
A study of the design of digital and mixed signal interconnect and packaging. Topics covered include: Single chip (surface mount and through-hole) and multi-chip module packaging thecnology; packaging techology selection; thermal design; electricaldesign of printed circuit board, backplane and multi-chip module interconnect; receiver and driver selection; EMI control; CAD tools; and measurement issues.
Prerequisite: ECE 302
Typically offered in Spring only
Digital systems design in CMOS VLSI technology: CMOS devise physics, fabrication, primitive components, design and layout methodology, integrated system architectures, timing, testing future trends of VLSI technology.
Prerequisite: ECE 302
Typically offered in Spring only
Study of cloud computing principles, architectures, and actual implementations. Students will learn how to critically evaluate cloud solutions, how to construct and secure a private cloud computing environment based on open source solutions, and how to federate it with external clouds. Performance, security, cost, usability, and utility of cloud computing solutions will be studied both theoretically and in hands-on exercises. Hardware-, infrastructure-, platform-, software-, security-, - "as-a-service".
Typically offered in Fall only
The course provides broad exposure to Python programming to solve ECE-related problems. Course topics include basic mathematical operations, string /array operations, lists, functions, standard libraries in Python, files/folder operations, extracting and parsing data, data visualization techniques (graphs, tables, charts), and interfacing basic hardware such as sensors and microcontrollers for data collection and storage. The course will also have an introduction to the Python OpenCV library for computer vision, networking socket libraries, and machine learning libraries. Thus, the course is mainly designed for Electrical and Computer Engineering students at an advanced level of programming knowledge, not an introductory level of programming, and will differ from other programming and Python classes due to topics in hardware interfacing and Computer Vision. Please see a detailed list of topics and learning outcomes to know more about the course.
Typically offered in Summer only
Design of the hardware aspects of wireless systems with principle emphasis on design of radio frequency (RF) and microwave circuitry. Introduction of system concepts then functional block design of a wireless system. RF and microwave transistors, noise, power ampliefiers, CAE, linearization and antennas.
Typically offered in Fall only
Fundamental concepts of economic operation and control of power systems. Real and reactive power balance. System components, characteristics and operation. Steady state and dynamic analysis of interconnected systems. Tieline power and load-frequencycontrol with integrated economic dispatch.
Prerequisite: ECE 305, ECE 435
Typically offered in Fall only
Features and components of electric power distribution systems, power flow, short circuit and reliability analysis, basic control and protection, communications and SCADA, new "smart" functionality such as integrated volt/var control, automated fault location isolation and restoration, demand response and advanced metering infrastructure, integration of distributed generation and energy storage.
Prerequisite: ECE 451
Typically offered in Spring only
Principles and characteristics of renewable energy based electric power generation technologies such as photovoltaic systems, wind turbines, and fuel cells. Main system design issues. Integration of these energy sources into the power grid. Economics of distributed generation. Credit is not allowed for both ECE 452 and ECE 552.
Typically offered in Spring only
The operational physics and design concepts for power semiconductor devices. Relevant transport properties of semiconductors. Design of breakdown voltage and edge terminations. Analysis of Schottky rectifiers, P-i-N rectifiers, Power MOSFETs, Bipolar Transistors, Thyristors and Insulated Gate Bipolar Transistors.
Prerequisite: ECE 404
Typically offered in Fall only
Topics covered in this course: Principles of Electromechanical energy conversion; analysis, modeling and control of electric machinery; steady state performance characteristics of direct current, induction, synchronous and reluctance machines; scalar control of induction machines; introduction to direct and quadrature axis theory; dynamic models of induction and synchronous machines; vector control of induction and synchronous machines.
Prerequisite: ECE 305 or equivalent
Typically offered in Spring only
An introduction to robotics: history and background, design, industrial applications and usage. Manipulator sensors, actuators and control, linear, non-linear, and force control. Manipulator kinematics: position and orientation, frame assignment, transformations, forward and inverse kinematics. Jacobian: velocities and static forces. Manipulator Kinetics: velocity, acceleration, force. Trajectory generation. Programming languages: manipulator level, task level, and object level. Introduction to advanced robotics. Credit not allowed for both ECE 455 and 555.
Typically offered in Spring only
The study of electro-mechanical systems controlled by microcomputer technology. The theory, design and construction of smart systems; closely coupled and fully integrated products and systems. The synergistic integration of mechanisms, materials, sensors, interfaces, actuators, microcomputers, controllers, and information technology.
Prerequisite: ECE 308
Typically offered in Fall only
MOS capacitor and transistor regions of operation. Depletion and enhancement mode MOSFETs. MOSFET scaling, short and narrow channel effects. MOSFETs with ion-implanted channels. High field effects in MOSFETs with emphasis on recent advances in design of hit carrier suppressed structures. Small and large signal MOSFET models. State of the art in MOS process integration.
Prerequisite: ECE 404
Typically offered in Fall only
Foundation for designing and using digital devices to accurately capture and display color images, spatial sampling, frequency analysis, quantization and noise characterization of images. Basics of color science are presented and applied to image capture and output devices.
Typically offered in Fall only
Concepts of architectures for embedded computing systems. Emphasis on hands-on implementation. CPU scheduling approaches to support multithreaded programs, including interrupts, cooperative schedulers, state machines, and preemptive scheduler (real-time kernel). Communication and synchronization between threads. Basic real-time analysis. Using hardware peripherals to replace software. Architectures and design patterns for digital control, streaming data, message parsing, user interfaces, low power, low energy, and dependability. Software engineering concepts for embedded systems. Students may not receive credit for both ECE 460 and ECE 560.
Prerequisite: C- or better in ECE 306
Typically offered in Fall only
Design and implementation of software for embedded computer systems. The students will learn to design systems using microcontrollers, C and assembly programming, real-time methods, computer architecture, interfacing system development and communication networks. System performance is measured in terms of power consumption, speed and reliability. Efficient methods for project development and testing are emphasized. Credit will not be awarded for both ECE 461 and ECE 561. Restricted to CPE and EE Majors.
Prerequisite: Grade of C- or better in ECE 460
Typically offered in Spring only
Architecture of microprocessors. Measuring performance. Instruction-set architectures. Memory hierarchies, including caches, prefetching, program transformations for optimizing caches, and virtual memory. Processor architecture, including pipelining, hazards, branch prediction, static and dynamic scheduling, instruction-level parallelism, superscalar, and VLIW. Major projects.
Typically offered in Fall and Spring
Design of digital application specific integrated circuits (ASICs) and Field Programmable Gate Arrays (FPGAs) based on hardware description languages (Verilog) and CAD tools. Emphasis on design practices and underlying methods. Introduction to ASIC specific design issues including verification, design for test, low power design and interfacing with memories. Required design project. Expected Prior Experience or Background: ECE 310 is useful but not assumed. Functionally, I assume that students are familiar with logic design, including combinational logic gates, sequential logic gates, timing design, Finite State Machines, etc.
P: Grade of C or better in ECE 212 or equivalent.
Typically offered in Fall only
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. The course involves coding projects requiring strong C programming skills.
Prerequisite: ECE306 or CSC246; ECE309; Restrictions: ECE465, ECE565 and CSC501 are mutually exclusive: students may not receive credit for both ECE465 and ECE565, or both ECE465 and CSC501, or both ECE565 and CSC501
Typically offered in Fall only
Provide insight into current compiler designs dealing with present and future generations of high performance processors and embedded systems. Introduce basic concepts in scanning and parsing. Investigate in depth program representation, dataflow analysis, scalar optimization, memory disambiguation, and interprocedural optimizations. Examine hardware/software tade-offs in the design of high performance processors, in particular VLIW versus dynamically scheduled architectures. Investigate back-end code generation techniques related to instruction selection, instruction scheduling for local, cyclic and global acyclic code, and register allocation and its interactions with scheduling and optimization.
Prerequisites: ECE 209 or competency in any machine language programming and ECE 309 or CSC 316 or proficiency in either C or C++ programming using advanced data structures, like hash tables and linked lists.P: ECE 209 or competency in an
Typically offered in Spring only
Conventional and emerging nano-manufacturing techniques and their applications in the fabrication of various structures and devices. Review of techniques for patterning, deposition, and etching of thin films including emerging techniques such as an imprint and soft lithography and other unconventional techniques. Electronic and mechanical properties of 0 to 3-D nanostructures and their applications in nano-electronics, MEMS/NEMS devices, sensing, energy harvesting, storage, flexible electronics and nano-medicine. Credit for both ECE/CHE 468 and ECE/CHE 568 is not allowed.
Prerequisite: E 304
Typically offered in Fall only
This course provides an introduction to quantum computing. It will feature the three pillars, quantum system architectures, algorithms, and programming of quantum computing. Its focus is on the applicability of problems to quantum computing from a practical point of view, with only the necessary foundational coverage of the physics and theoretical aspects to understand quantum computing. Both simulation software and actual quantum computers will be utilized to prototype problem solutions. This should develop a better understanding of how problems are transformed into quantum algorithms and what programming language support is best suited for a given application area. The course will require significant background reading plus presentations, projects, and exercises per participant.
Prerequisite: Knowledge of Python programming and linear algebra
Typically offered in Fall only
General introduction to computer networks. Discussion of protocol principles, local area and wide area networking, OSI stack, TCP/IP and quality of service principles. Detailed discussion of topics in medium access control, error control coding, and flow control mechanisms. Introduction to networking simulation, security, wireless and optical networking.
Prerequisite: ECE 206 or CSC 312, ST 371, CSC 258 and Senior standing or Graduate standing
Typically offered in Fall, Spring, and Summer
This course introduces advanced optimization theory and algorithms with rapidly growing applications in machine learning, systems, and control. Methods are given to obtain a non-dynamic system's extremum (minimum or maximum) and use these methods in various engineering applications. This course aims to prepare graduate students with a solid theoretical and mathematical foundation and applied techniques at the intersection of optimization, algorithms, and machine learning to conduct advanced research in related fields. Students will gain expertise in designing algorithms based on common techniques, dealing with intractable problems, and implementing algorithms given the description. Students must undertake a semester-long project (at Google Colab) that practices the optimization theory and algorithms in their areas of interest. These projects can replicate or improve a known solving strategy for a given optimization problem to assess and compare the performance.
Restriction: Introductory courses in probability and linear algebra and Graduate Student Standing
Typically offered in Fall only
Principles and issues underlying provision of wide area connectivity through interconnection of autonomous networks. Internet architecture and protocols today and likely evolution in future. Case studies of particular protocols to demonstrate how fundamental principles applied in practice. Selected examples of networked clinet/server applications to motivate the functional requirements of internetworking. Project required.
Prerequisite: CSC/ECE 570
Typically offered in Fall and Spring
This course presents foundational concepts of computer and network security and privacy. It covers a wide breadth of concepts, including; Fundamentals of computer security and privacy, including security models, policies, and mechanisms; Cryptography for secure systems, including symmetric and asymmetric ciphers, hash functions, and integrity mechanisms; Authentication of users and computers; Network attacks and defenses at the network and application layers; Common software vulnerabilities and mitigation strategies; Secure operating systems and seminal access control models and policies; Principles of intrusion detection; Privacy, including considerations of end-user technologies.
Typically offered in Fall and Spring
Introduction to cellular communications, wireless local area networks, ad-hoc and IP infrastructures. Topics include: cellular networks, mobility mannagement, connection admission control algorithms, mobility models, wireless IP networks, ad-hoc routing, sensor networks, quality of service, and wireless security.
Prerequisite: ECE/CSC 570
Typically offered in Spring only
Topics related to networking services, signaling for setting up networking services, such as SIP and IMS, networking architectures for providing QoS for networking services, such as MPLS, DiffServ and RAC, signaling protocols for setting up QoS connections in the transport stratum, such as LDP and RSVP-TE, video-based communications, and capacity planning models for dimensioning services.
Prerequisite: CSC/ECE 570
Typically offered in Fall and Spring
Topics related to design and management of campus enterprise networks, including VLAN design; virtualization and automation methodologies for management; laboratory use of open space source and commercial tools for managing such networks.
Typically offered in Fall only
The course provides an introduction to the theoretical fundamentals and practical/experimental aspects of Long Term Evolution (LTE) and 5G systems. A basic understanding of digital communications and radio access networks is required. Following topics will be studied: 1) User and control plane protocols, 2) physical layer for downlink, 3) physical layer for uplink, 4) practical deployment aspects, 5) LTE-Advanced, 6) 5G communications. Fundamental concepts to be covered in the context of LTE/5G systems include OFDMA/SC-FDMA, synchronization, channel estimation, link adaptation, MIMO, scheduling, and millimeter wave systems. Students are recommended to have the prior knowledge gained from ECE 570 or ECE 582 before taking this course. The course will also require using Matlab software for homeworks, including its LTE and 5G toolboxes.
Typically offered in Fall only
Workload characterization, collection and analysis of performance data, instrumentation, tuning, analytic models including queuing network models and operational analysis, economic considerations.
Prerequisite: CSC 312 or ECE 206 and MA 421
Typically offered in Fall and Spring
Protection systems used to protect the equipment in an electric power system against faults, fault analysis methods, basic switchgear used for protection, basic protection schemes, such as overcurrent, differential, and distance protection and their application.
Prerequisite: ECE 451
Typically offered in Spring only
This course introduces fundamentals of project management and system engineering principles in a wide range of electric power applications from concept through termination. The course also provides opportunities for students to adapt technical content to both expert and novice audiences in project management reports and presentations. Restricted to Master of Science in Electric Power Systems Engineering.
Prerequisite: ECE 451
Typically offered in Spring only
In this capstone course students will apply electric engineering and science knowledge to an electrical power engineering project. Consideration of the design process including feasibility study, preliminary design detail, cost effectiveness, along with development and evaluation of a prototype accomplished through design-team project activity. Complete written and oral engineering report required. Restricted to Master of Science in Electric Power Systems Engineering.
Prerequisite: ECE 583
Typically offered in Fall and Summer
Evolution of the electric utility industry, the structure and business models of the industry, the regulatory factors within which the utilities operate, the operations of the utility industry and the current policy and emerging technology issues facing the business. The course includes significant interaction with industry officials and utility business operations.
Prerequisite: ECE 451
Typically offered in Fall only
This is an introductory course on communication technologies and SCADA (supervisory control and data acquisition) systems for smart electric power applications. The fundamental concepts, principles, and practice of how communication systems operate are introduced and the function of main components reviewed. Application of communication systems for electric power, in particular SCADA architecture and protocols are also introduced. The course includes hands-on experience with typical intelligent electronic devices interconnected by a communication system.
R: Graduate Students Only
Typically offered in Fall only
Review of solutions to first and second order differential equations for electric power circuit transients. Applications to fault current instantaneous, shunt capacitor transients, circuit switching transients and overvoltages, current interruption and transformer transient behavior. Computer solution techniques for transient analysis using PSCAD and Matlab/Simulink. Modeling of utility power electronics circuits including single and three-phase rectifiers and inverters. Applications of power electronics for transmission system control and renewable generation. Distributed line modeling for traveling wave analysis of surge events. Introduction to voltage insulation, surge arrestor operation and lightning stroke analysis.
Typically offered in Fall only
This course provides an introduction to the field of systems biology with a focus on mathematical modeling, gene regulatory network and metabolic pathway reconstruction in plants. Students will learn how to integrate biological data with mathematical, statistical, and computational approaches to gain new insights into structure and behavior of complex cellular systems. Students are expected to have a minimal background in calculus and basic biology. The course will build on these basic concepts and provide all students, regardless of background or home department, with the fundamental biology, mathematics, and computing knowledge needed to address systems biology problems.
Typically offered in Fall only
This course studies the fundamental and recent advances of energy harvesting from two of the most abundant sources, namely solar and thermal energies. The first part of the course focuses on photovoltaic science and technology. The characteristics and design of common types of solar cells is discussed, and the known approaches to increasing solar cell efficiency will be introduced. After the review of the physics of solar cells, we will discuss advanced topics and recent progresses in solar cell technology. The second part of the course is focused on thermoelectric effect. The basic physical properties, Seebeck coefficient, electrical and thermal conductivities, are discussed and analyzed through the Boltzmann transport formalism. Advanced subject such as carrier scattering time approximations in relation to dimensionality and the density of states are studied. Different approaches for further increasing efficiencies are discussed including energy filtering, quantum confinement, size effects, band structure engineering, and phonon confinement.
Typically offered in Spring only
Two-semester sequence to develop new courses and to allow qualified students to explore areas of special interest.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
Two-semester sequence to develop new courses and to allow qualified students to explore areas of special interest.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
Introduction of the Electrical and Computer Engineering Department graduate program. Introduction to computing and library facilities; Review of NC State student code of conduct and ethics. Structure of the ECE department. General information for starting graduate studies. Overview of on-going research projects by faculty members. Must hold graduate standing.
Typically offered in Fall and Spring
Provision of opportunity for individual students to explore topics of special interest under direction of a member of faculty.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
The study of advanced topics of special interest to individual students under direction of faculty members.
Prerequisite: Graduate standing
Typically offered in Fall, Spring, and Summer
This course on semiconductor manufacturing focuses on high-volume production, process optimization, automation, and yield improvement, distinct from semiconductor fabrication courses. It covers the full manufacturing pipeline--from wafer production and process integration to packaging, reliability, and cost optimization. Students will explore design for manufacturability (DFM), statistical process control (SPC), metrology, defect inspection, and smart manufacturing technologies such as AI-driven automation. Hands-on components include cleanroom process control (if available), semiconductor fab simulations, defect analysis, yield optimization exercises, packaging assembly, and failure analysis labs. The course concludes with an industry case study competition and a guest lecture from a semiconductor manufacturing expert, ensuring students gain both theoretical and practical insights into modern semiconductor manufacturing challenges and solutions.
Prerequisite: Graduate Standing
Typically offered in Summer only
This practicum course on Application Engineering using Wide Bandgap (WBG) Semiconductors is a project-based, hands-on experience focused on real-world applications of SiC and GaN devices in power electronics, EVs, RF systems, and renewable energy. The first week covers mini-projects, including SiC/GaN device characterization, DC-DC converters, high-frequency inverters, EV fast chargers, and solar inverters. In the second week, students work in teams on a capstone project, selecting from high-efficiency EV drivetrain inverters, GaN-based 5G RF power amplifiers, or SiC-based bidirectional DC-DC converters. The course culminates in a final project showcase with industry expert feedback. Designed for senior undergraduates, graduate students, or industry professionals, this practicum provides cutting-edge skills in WBG semiconductor applications through hands-on labs, simulations, and prototype testing.
Prerequisite: Graduate Standing
Typically offered in Summer only
This course requires an internship with a company or organization outside the University. The student will secure an internship of a technical nature and complete and submit a Coop report for evaluation.
Restricted: 14EEMS, 14CPEMS, 14CNEMS, 14EPSEMS
Typically offered in Fall and Spring
This course is for long-term projects supervised by ECE faculty for students to explore cutting-edge research in ECE.
R: Graduate Standing
Typically offered in Fall, Spring, and Summer
Teaching experience under the mentorship of faculty who assist the student in planning for the teaching assignment, observe and provide feedback to the student during the teaching assignment, and evaluate the student upon completion of the assignment.
Prerequisite: Master's student
Typically offered in Spring only
Instruction in research and research under the mentorship of a member of the Graduate Faculty.
Prerequisite: Master's student
Typically offered in Fall only
Thesis research.
Prerequisite: Master's student
Typically offered in Fall, Spring, and Summer
For graduate students whose programs of work specify no formal course work during a summer session and who will be devoting full time to thesis research.
Prerequisite: Master's student
Typically offered in Summer only
For students who have completed all credit hour requirements and full-time enrollment for the master's degree and are writing and defending their thesis.
Prerequisite: Master's student
Typically offered in Fall and Spring
Advanced topics in parallel computer architecture. Hardware mechanisms for scalable cache coherence, synchronization, and speculation. Scalable systems and interconnection networks. Design or research project required.
Prerequisite: ECE/CSC 506, ECE 521
Typically offered in Spring only
Digital signal processing (DSP) fundamental concepts are reviewed, providing additional depth in certain areas. The following advanced DSP concepts are covered: digital filter design, sample rate conversion, filter banks, wavelets, power spectrum estimation, and adaptive filtering. Additional topics are introduced at the instructor's discretion.
Prerequisite: ECE 410 or ECE 510 or equivalent; though not required, a background in linear algebra (MA 305 or MA 405 or equivalent) and probability/random variables (ST 371 or ECE 514 or equivalent) is helpful
Typically offered in Spring only
Analysis, simulation, and design of the key building blocks of an integrated radio: amplifiers, mixers, and oscillators. Topics include detailed noise optimization and linearity performance of high frequency integrated circuits for receivers and transmitters. Introduction to several important topics of radio design such as phase-locked loops, filters and large-signal amplifiers. Use of advanced RF integrated circuit simulation tools such as SpectreRF or ADS for class assignments.
Prerequisite: ECE 511
Typically offered in Spring only
This course is a graduate level course in Analog-to-digital converters. Students will learn the fundamentals of sampling and the translation of signals form the digital to analog and analog to digital domains. Students will learn the basic circuits unique to data converters and how they impact design. Students will learn to a design digital-to-analog converter as well as 3 ADCs: Pipeline, Sigma-Delta and Successive-approximation. After completion of this course you will have the background to successfully design an ADC and DAC.
Prerequisite: ECE 511
Typically offered in Fall only
Steady state and transient analysis of circuits with emphasis on circuit theory and computer methods. Consideration of many analysis techniques, including linear nodal, signal flow graph, state equation, time-domain and functional simulation and analysis of sampled data systems. Sensitivity and tolerance analysis, macromodeling of large circuits and nonlinear circuit theory.
Prerequisite: ECE 511
Development and examination of techniques used in the design of microwave and millimeter wave components and systems. Specific topics include frequency planning, system design using modules, and design of microwave amplifiers and oscillators. Design for specified frequency, noise, power, mixer or oscillator performance will be covered. There are three design projects: system planning, amplifier design, and oscillator design all using commercial microwave computer aided design tools.
Prerequisite: ECE 549
Typically offered in Spring only
Study of transaction-level modeling of digital systems-on-chip using SystemC. Simulation and analysis of performance in systems with distributed control. Synthesis of digital hardware from high-level descriptions. Physical design methodologies, including placement, routing, clock-tree insertion, timing, and power analysis. Significant project to design a core at system and physical levels. Knowledge of object-oriented programming with C and register-transfer-level design with verilog or VHDL is required.
Typically offered in Fall only
Survey of advanced computer microarchitecture concepts. Modern superscalar microarchitecture, complexity-effective processors, multithreading, advanced speculation techniques, fault-tolerant microarchitectures, power and energy management, impact of new technology on microarchitecture. Students build on a complex simulator which is the basis for independent research projects.
Prerequisite: ECE 521
Typically offered in Spring only
This course is offered alternate even years
Materials and device-related electronic properties of semiconductors. Included topics: energy band structure, electrical and thermal transport phenomena, scattering processes, localized energy states, equilibrium and non-equilibrium semiconductor statistics.
Prerequisite: ECE 530
Typically offered in Spring only
Materials and device-related properties of compound optical semiconductors. Included topics: band structure, heterojunctions and quantum wells, optical constants, waveguides and optical cavities, absorption and emission processes in semiconductors, photodetectors, light emitting diodes, semiconductor lasers.
Prerequisite: ECE 530
Typically offered in Spring only
Basic physical phenomena responsible for operation of solids-state devices. Examination and utilization of semiconductor transport equations to explain principles of device operation. Various solid-state electronics devices studied in detail.
Prerequisite: ECE 530
Typically offered in Spring only
Development of advanced engineering concepts at the quantum level relevant to nanoscience, nanoelectronics, and quantum photonics. Topics include tunneling phenomena, specifics of time dependent and time independent perturbation methodology for addressing applications under consideration, including the WKB approach, and an introduction to second quantization for engineers. Applications include, but are not limited to, tunneling in a two-level system, molecular rotation through excitation, field emission, van der Waal interactions, optical absorption in quantum wells, and electron transport through model molecules.
Typically offered in Spring only
Advanced topics in dynamical systems and multivariable control. Current research and recent developments in the field.
Prerequisite: ECE 516
Typically offered in Fall only
Dynamic behavior of AC electric machines and drive systems; theory of field orientation and vector control for high performance induction and synchronous machines; permanent magnet and reluctance machines and their control; principles of voltage source and current source inverters, and voltage and current regulation methods.
Typically offered in Fall only
In-depth study of digital circuits at the transistor level. Topics include fundamentals; high speed circuit design; low-power design; RAM; digital transceivers; clock distribution; clock and data recovery; circuits based on emergining devices. Project.
Prerequisite: ECE 546
Typically offered in Fall only
Review of modern power management converters and circuits; Review modeling and control of converters; Detail discussion of voltage and current mode controllers; Understanding of power converter losses and optimization method, as well as management of power; Integrated circuit design of various power management chips.
Typically offered in Spring only
This course provides students with an in-depth knowledge of power devices built from wide bandgap semiconductors: the design of high breakdown voltages, the physics of unique power rectifier structures suitable for SiC material, the operating principles for unique SiC power MOSFETs, and GaN HEMT devices, the development of bipolar power devices from SiC to achieve ultra-high voltage performance and the performance of wide bandgap semiconductor power devices as compared to advanced silicon devices.
Prerequisite: ECE 553 or equivalent
Typically offered in Spring only
Principles of FACTS (flexible AC transmission systems) and their applications. Power transmission on an AC system. Power system models for steady-state and dynamic analysis. Power system transient analysis for stability assessment. Voltage phenomena and methods for assessment.
Prerequisite: ECE 451 and ECE 750
Typically offered in Spring only
An integrated circuit laboratory to serve as a companion to ECE 538. Hands-on experience in semiconductor fabrication laboratory. Topics include: techniques used to fabricate and electrically test discrete semiconductor devices, the effects of process variations on measurable parameters.
Prerequisite: ECE 538
Typically offered in Spring only
This course covers the verification process used in validating the functional correctness in today's complex ASICs (application specific integrated circuits). Topics include the fundamentals of simulation based functional verification, stimulus generation, results checking, coverage, debug, and formal verification. Provides the students with real world verification problems to allow them to apply what they learn.
Prerequisite: ECE 564
Typically offered in Spring only
The Universal Verification Methodology is the industry standard for functional verification of today's complex ASICs and FPGAs. Students will learn the content and use of UVM to architect and implement complex test benches. The characteristics and architecture of reusable verification components is a major focus of the course. Students will learn and implement verification components which are reusable across projects, from block level simulation to chip level simulation, and from simulation to emulation. The course projects teach and demonstrate advanced verification methodologies that prepare students for careers in functional verification of digital semiconductors.
Prerequisite: ECE 745 or equivalent
Typically offered in Fall only
Methods of detection and estimation theory as applied to communications, speech and image processing. Statistical description of signals and representation in time, spatial and frequency domains; Baysian methods, including Wiener, Kalman and MAP filters; performance measures; applications to both continuous and discrete systems.
Prerequisite: ECE 514, ECE 421
Typically offered in Spring only
An overview of Shannon's theory of information, which establishes fundamental limits on the performance of data compression and quantization algorithms, communication systems, and detection and estimation algorithms. Topics include information measures and their properties, information source models, lossless data compression, channel coding and capacity, information theory and statistics, and rate-distortion theory. Applications of information theory will also be discussed, including Lempel-Ziv data compression, vector quantization, error-correcting codes, satellite communications and high-speed modems.
Prerequisite: ECE 514: Random Processes
This course is designed to introduce computational methods used for power grid operation and planning. The course will help students understand the various computational methods that form the basis of major commercial software packages used by grid analysts and operators. Students are expected to have some basic understanding of principles of power system analysis including power system models, power flow calculation, economic dispatch, reliable and stability analysis. The course covers the following computational methods commonly used in power grid operation and planning: Locational Marginal Pricing Schemes, Game Theory, Unconstrained Optimization, Linear Programming, Non-linear Constrained Optimization, and Forecasting Methods.
Typically offered in Spring only
Advanced robotics at its highest level of abstraction; the level of synthesizing human reasoning and behavior. Advanced tobotics deals with the intelligent connection of perception to action. At this level the subject requires knowledge of sensing(computer vision, tactile, sonar), and reasoning (artifical intelligence: machine learning, planning, world modeling). The advanced robotics course will be valuable for students who wish to work in the area.
Typically offered in Fall only
A project-oriented course focusin on the design, analysis, and implementation of advanced mechatronics technologies, including large-scale distributed sensors, distributed-actuators, and distributed-controllers connected via communication networks.Will use unmanned vehicles as the project platform, with applications from sensors, actuators, network-based controllers, cameras, and microcontrollers. ECE 516 is recommended.
Typically offered in Spring only
Image pattern recognition techniques and computer-based methods for scene analysis, including discriminate functions, fixture extraction, classification strategies, clustering and discriminant analysis. Coverage of applications and current research results.
Prerequisite: ECE(CSC) 514, ST 371, B average in ECE and MA
Typically offered in Spring only
An advanced graduate-level course in digital communications. Topics include signal design, equalization methods and synchronization techniques for realistic communication channels. Projects concentrate on literature review and computer simulations.
Prerequisite: ECE 515 or equivalent
Typically offered in Fall only
Analysis of images by computers. Specific attention given to analysis of the geometric features of objects in images, such as region size, connectedness and topology. Topics include: segmentation, template matching, motion analysis, boundary detection, region growing, shape representation, 3-D object recognition including graph matching.
Typically offered in Spring only
Techniques for machine learning using probabilistic graphical models. Emphasis on Bayesian and Markov networks with applications to signal processing and computer vision.
Prerequisites: Programming experience (MATLAB, C++ or other object oriented language such as Python), linear algebra (MA 405 or equivalent), and probability (ECE 514, equivalent or instructor permission)
Typically offered in Fall only
This course deals with the signal processing principles underlying recent advances in communications and networking. Topics include: smart-antenna and multi-input multi-output (MIMO) techniques; multiuser communication techniques (multiple access, power control, multiuser detection, and interference managment); signal processing in current and emerging network applications such as cognitive radio and social networks. Knowledge of linear alegbra and stochastic analysis is required.
Prerequisite: Graduate standing
Typically offered in Fall only
This course is offered alternate even years
Cutting-edge concepts and technologies to support internetworking in general and to optimize the performance of the TCP/IP protocol suite in particular. Challenges facing and likely evolution for next generation intenetworking technologies. This course investigates topics that include, but may be not limited to: Internet traffic measurement, characteriztion and modeling, traffic engineering, network-aware applications, quality of service, peer-to-peer systems, content-distribution networks, sensor networks, reliable multicast, and congestion control.
Prerequisite: CSC/ECE 573
Typically offered in Spring only
A study of network security policies, models, and mechanisms. Topics include: network security models; review of cryptographic techniques; internet key management protocols; electronic payments protocols and systems; intrusion detection and correlation; broadcast authentication; group key management; security in mobile ad-hoc networks; security in sensor networks.
Typically offered in Spring only
In depth study of topics in computer design; advantages and disadvantages of various designs and design methodologies; technology shifts, trends, and constraints; hardware/software tradeoffs and co-design methodologies.
Prerequisite: ECE 520, ECE 521
Typically offered in Spring only
In-depth study of processor architectures to exploit data-level parallelism, including general computation on graphics processing units (GPGPU, aka GPU computing architecture) and vector processors; memory subsystems; advantages and disadvantages of various architectures; technology shifts, trends, and constraints.
Typically offered in Spring only
This course provides an in-depth investigation into security issues in areas including cellular air interfaces, core networking (SS7, IMS), cellular data networking, mobile device architectures, and classic telephone networks. In particular, we will study how these networks provide (or fail to provide) high confidentiality, integrity, availability, authentication, and privacy. A key focus of the course will be how the design philosophy of telephone networks differs from the Internet, complicating traditional security solutions.
Prerequisite: CSC 401 or CSC 405 or CSC 474 or CSC 537 or CSC 570 or CSC 573 or CSC 574 or equivalent
Typically offered in Fall only
Two-semester sequence to develop new courses and to allow qualified students to explore areas of special interest.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
Two-semester sequence to develop new courses and to allow qualified students to explore areas of special interest.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
Typically offered in Fall and Spring
Typically offered in Fall and Spring
Provision of opportunity for individual students to explore topics of special interest under direction of a member of faculty.
Prerequisite: B average in technical subjects
Typically offered in Fall and Spring
The study of advanced topics of special interest to individual students under direction of faculty members.
Prerequisite: Graduate standing
Typically offered in Fall, Spring, and Summer
This course is for long-term projects supervised by ECE faculty for students to explore cutting-edge research in ECE.
Prerequisite: Graduate Standing
Typically offered in Fall, Spring, and Summer
Teaching experience under the mentorship of faculty who assist the student in planning for the teaching assignment, observe and provide feedback to the student during the teaching assignment, and evaluate the student upon completion of the assignment.
Prerequisite: Doctoral student
Typically offered in Fall only
For students who are preparing for and taking writte and/or oral preliminary exams.
Prerequisite: Doctoral student
Typically offered in Fall only
Instruction in research and research under the mentorship of a member of the Graduate Faculty.
Prerequisite: Doctoral student
Typically offered in Fall only
Dissertation research.
Prerequisite: Doctoral student
Typically offered in Fall, Spring, and Summer
For graduate students whose programs of work specify no formal course work during a summer session and who will be devoting full time to thesis research.
Prerequisite: Doctoral student
Typically offered in Summer only
For students who have completed all credit hour, full-time enrollment, preliminary examination, and residency requirements for the doctoral degree, and are writing and defending their dissertations.
Prerequisite: Doctoral student
Typically offered in Fall and Spring