University Catalog 2025-2026

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
CSC 501  Operating Systems Principles  (3 credit hours)  

Fundamental issues related to the design of operating systems. Process scheduling and coordination, deadlock, memory management and elements of distributed systems.

Prerequisite: CSC 246, CSC 316 and MA 421

Typically offered in Fall and Spring

CSC 503  Computational Applied Logic  (3 credit hours)  

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.

Prerequisite: CSC 333 of LOG 335 or LOG 435

Typically offered in Fall only

CSC 505  Design and Analysis Of Algorithms  (3 credit hours)  

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).

Prerequisite: CSC 316 and CSC 226

Typically offered in Fall, Spring, and Summer

CSC 506/ECE 506/ECE 406/CSC 406  Architecture Of Parallel Computers  (3 credit hours)  

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

CSC 510  Software Engineering  (3 credit hours)  

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.

Prerequisite: CSC 316 and CSC 226

Typically offered in Fall, Spring, and Summer

CSC 512/CSC 412  Compiler Construction  (3 credit hours)  

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.

Prerequisites: Graduate standing and CSC 316 and CSC 333 or equivalent classes.

Typically offered in Fall only

CSC 513  Electronic Commerce Technology  (3 credit hours)  

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

CSC 514/MA 414/MA 514/CSC 414  Foundations of Cryptography  (3 credit hours)  

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.

Prerequisite: (CSC 226 AND CSC 333) OR MA 225

Typically offered in Fall only

CSC 515  Software Security  (3 credit hours)  

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

CSC 517/ECE 517  Object-Oriented Design and Development  (3 credit hours)  

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.

Prerequisite: CSC 326 or ECE 309

Typically offered in Fall and Spring

CSC 519  DevOps: Modern Software Engineering Practices  (3 credit hours)  

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

CSC 520  Artificial Intelligence I  (3 credit hours)  

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.

Prerequisite: CSC 316 and either CSC 226 or LOG 201 or LOG 335 or background in symbolic logic

Typically offered in Fall and Spring

CSC 522/CSC 422  Automated Learning and Data Analysis  (3 credit hours)  

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.

Prerequisite: CSC 226 or LOG 201, ST 370, MA 305 or MA 405

Typically offered in Fall and Spring

CSC 530  Computational Methods for Molecular Biology  (3 credit hours)  

Computer algorithms supporting genomic research: DNA sequence comparison and assembly, hybridization mapping, phylogenetic reconstruction, genome rearrangement, protein folding and threading.

Prerequisite: CSC 316, Corequisite: CSC 505

Typically offered in Fall only

This course is offered alternate odd years

CSC 533  Privacy in the Digital Age  (3 credit hours)  

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

CSC 537  Systems Attacks and Defenses  (3 credit hours)  

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.

P: CSC 246 and CSC 401 or equivalent

Typically offered in Spring only

CSC 540  Database Management Concepts and Systems  (3 credit hours)  

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

CSC 541  Advanced Data Structures  (3 credit hours)  

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

CSC 542/ECE 542  Neural Networks  (3 credit hours)  

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

CSC 546/ISE 546  Management Decision and Control Systems  (3 credit hours)  

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

CSC 547/ECE 547  Cloud Computing Technology  (3 credit hours)  

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".

Prerequisites: CSC 501 and either ECE/CSC 570 or ECE/CSC 573

Typically offered in Fall only

CSC 548  Parallel Systems  (3 credit hours)  

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.

Prerequisite: CSC 246 or CSC 451 or CSC 501

Typically offered in Spring only

CSC 549  Embedded/Real-Time Systems for Autonomous Driving with Machine Learning  (3 credit hours)  

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

CSC 554  Human-Computer Interaction  (3 credit hours)  

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

CSC 555  Social Computing and Decentralized Artificial Intelligence  (3 credit hours)  

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

CSC 561  Principles of Computer Graphics  (3 credit hours)  

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

CSC 562  Introduction to Game Engine Design  (3 credit hours)  

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.

Prerequisites: CSC 561 or CSC 461 or equivalent course from a previous university

Typically offered in Spring only

CSC 563  Visual Interfaces for Mobile Devices  (3 credit hours)  

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.

Prerequisite: CSC 554 or CSC 561

Typically offered in Spring only

CSC 565/MA 565/OR 565  Graph Theory  (3 credit hours)  

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.

Prerequisite: CSC 226 or MA 351.

Typically offered in Spring only

This course is offered alternate even years

CSC 568  Enterprise Storage Architecture  (3 credit hours)  

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.

Prerequisite: CSC 246 and CSC 401 and CSC 316

Typically offered in Spring only

CSC 569/ECE 569  Quantum Computing  (3 credit hours)  

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

CSC 570/ECE 570  Computer Networks  (3 credit hours)  

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

CSC 572/ECE 572  Optimizations and Algorithms  (3 credit hours)  

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

CSC 573/ECE 573  Internet Protocols  (3 credit hours)  

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

CSC 574/ECE 574  Computer and Network Security  (3 credit hours)  

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.

Prerequisite: (CSC 316 or ECE309) and (CSC 401 or ECE407) or equivalent

Typically offered in Fall and Spring

CSC 575/ECE 575  Introduction to Wireless Networking  (3 credit hours)  

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

CSC 576/ECE 576  Networking Services: QoS, Signaling, Processes  (3 credit hours)  

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

CSC 577/ECE 577  Switched Network Management  (3 credit hours)  

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

CSC 578/ECE 578  LTE and 5G Communications  (3 credit hours)  

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

CSC 579/ECE 579/OR 579  Introduction to Computer Performance Modeling  (3 credit hours)  

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

CSC 580/MA 580  Numerical Analysis I  (3 credit hours)  

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.

Prerequisite: MA 405; MA 425 or MA 511; high-level computer language

Typically offered in Fall only

CSC 581/CSC 481  Game Engine Foundations  (3 credit hours)  

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.

Prerequisite: CSC 316 or ECE 309; Restriction: CSC Majors Only

Typically offered in Fall only

CSC 582  Computer Models of Interactive Narrative  (3 credit hours)  

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

CSC 583/MA 583  Introduction to Parallel Computing  (3 credit hours)  

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.

Prerequisite: CSC 302 or MA 402 or MA/CSC 428 or MA/CSC 580

Typically offered in Spring only

CSC 584/CSC 484  Building Game AI  (3 credit hours)  

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

CSC 591  Special Topics In Computer Science  (1-6 credit hours)  

Topics of current interest in computer science not covered in existing courses.

Prerequisite: B average in technical subjects

Typically offered in Fall and Spring

CSC 595  Cybersecurity Practicum  (3 credit hours)  

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

CSC 600  Computer Science Graduate Orientation  (1 credit hours)  

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

CSC 630  Master's Independent Study  (1-3 credit hours)  

Individual investigation of topics under the direction of member(s) of the graduate faculty.

Typically offered in Fall, Spring, and Summer

CSC 685  Master's Supervised Teaching  (1-3 credit hours)  

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

CSC 688  Non-Thesis Masters Continuous Registration - Half Time Registration  (1 credit hours)  

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

CSC 689  Non-Thesis Master Continuous Registration - Full Time Registration  (3 credit hours)  

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

CSC 690  Master's Examination  (1-9 credit hours)  

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

CSC 693  Master's Supervised Research  (1-9 credit hours)  

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

CSC 695  Master's Thesis Research  (1-9 credit hours)  

Thesis research.

Prerequisite: Master's student

Typically offered in Fall, Spring, and Summer

CSC 696  Summer Thesis Research  (1 credit hours)  

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

CSC 699  Master's Thesis Preparation  (1-9 credit hours)  

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

CSC 705  Operating Systems Security  (3 credit hours)  

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

CSC 707  Automata, Languages and Computability Theory  (3 credit hours)  

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.

Prerequisite: CSC 226 required, CSC 333 recommended

Typically offered in Fall only

CSC 710  Software Engineering as a Human Activity  (3 credit hours)  

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

CSC 711/GIS 711  Geospatial Data Management  (3 credit hours)  

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

CSC 712  Software Testing and Reliability  (3 credit hours)  

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

CSC 714  Real Time Computer Systems  (3 credit hours)  

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.

Prerequisite: CSC 451 or CSC 501

Typically offered in Spring only

This course is offered alternate years

CSC 720  Artificial Intelligence II  (3 credit hours)  

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

CSC 722  Advanced Topics in Machine Learning  (3 credit hours)  

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

CSC 724  Advanced Distributed Systems  (3 credit hours)  

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

CSC 742  Database Management Systems  (3 credit hours)  

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.

Prerequisite: CSC 431 or 541

Typically offered in Spring only

CSC 750  Service-Oriented Computing  (3 credit hours)  

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

CSC 761  Advanced Topics in Computer Graphics  (3 credit hours)  

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

CSC 762/OR 762/ISE 762  Stochastic Simulation  (3 credit hours)  

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

CSC 766  Code Optimization for Scalar and Parallel Programs  (3 credit hours)  

Advanced research issues in code optimization for scalar and parallel programs; program analysis, scalar and parallel optimizations as well as various related advanced topics.

Prerequisite: CSC 512, or CSC 548, or CSC 501

Typically offered in Spring only

CSC 772  Survivable Networks  (3 credit hours)  

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

CSC 773/ECE 773  Advanced Topics in Internet Protocols  (3 credit hours)  

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

CSC 774/ECE 774  Advanced Network Security  (3 credit hours)  

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.

Prerequisite: CSC/ECE 570, CSC/ECE 574

Typically offered in Spring only

CSC 780/MA 780  Numerical Analysis II  (3 credit hours)  

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

CSC 789/ECE 789  Cellular and Telecommunications Security  (3 credit hours)  

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

CSC 791  Advanced Topics In Computer Science  (1-6 credit hours)  

Advanced topics of current interest in computer science not covered by existing courses.

Typically offered in Fall and Spring

CSC 801  Seminar in Computer Science  (1-3 credit hours)  

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

CSC 830  Doctoral Independent Study  (1-3 credit hours)  

Individual investigation of advanced topics under the direction of member(s) of the graduate faculty.

Typically offered in Fall, Spring, and Summer

CSC 885  Doctoral Supervised Teaching  (1-3 credit hours)  

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

CSC 890  Doctoral Preliminary Exam  (1-9 credit hours)  

For students who are preparing for and taking written and/or oral preliminary exams.

Prerequisite: Doctoral student

Typically offered in Fall, Spring, and Summer

CSC 893  Doctoral Supervised Research  (1-9 credit hours)  

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

CSC 895  Doctoral Dissertation Research  (1-9 credit hours)  

Dissertation research

Prerequisite: Doctoral student

Typically offered in Fall, Spring, and Summer

CSC 896  Summer Dissertation Research  (1 credit hours)  

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

CSC 899  Doctoral Dissertation Preparation  (1-9 credit hours)  

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

ECE 505  Neural Interface Engineering  (3 credit hours)  

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

ECE 506/ECE 406/CSC 406/CSC 506  Architecture Of Parallel Computers  (3 credit hours)  

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

ECE 510/ECE 410  Introduction to Signal Processing  (3 credit hours)  

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

ECE 511  Analog Electronics  (3 credit hours)  

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

ECE 512  Data Science from a Signal Processing Perspective  (3 credit hours)  

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

ECE 514  Random Processes  (3 credit hours)  

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

ECE 515  Digital Communications  (3 credit hours)  

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.

Prerequisite: ECE 514, ST 371, Signals and Linear Systems; Linear Algebra

Typically offered in Spring and Summer

ECE 516  System Control Engineering  (3 credit hours)  

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

ECE 517/CSC 517  Object-Oriented Design and Development  (3 credit hours)  

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.

Prerequisite: CSC 326 or ECE 309

Typically offered in Fall and Spring

ECE 518/ECE 418/BME 418/BME 518  Wearable Biosensors and Microsystems  (3 credit hours)  

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

ECE 522/BME 522  Medical Instrumentation  (3 credit hours)  

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

ECE 523  Photonics and Optical Communications  (3 credit hours)  

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

ECE 524/ECE 424  Radio System Design  (3 credit hours)  

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

ECE 529  Semiconductor Optoelectronic Devices  (3 credit hours)  

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

ECE 530  Physical Electronics  (3 credit hours)  

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

ECE 533  Power Electronics Design & Packaging  (3 credit hours)  

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

ECE 534  Power Electronics  (3 credit hours)  

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

ECE 535/MAE 535  Design of Electromechanical Systems  (3 credit hours)  

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

ECE 536  Digital Control System Projects  (3 credit hours)  

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

ECE 538  Integrated Circuits Technology and Fabrication  (3 credit hours)  

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

ECE 540  Electromagnetic Fields  (3 credit hours)  

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

ECE 541  Antennas and Arrays  (3 credit hours)  

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

ECE 542/CSC 542  Neural Networks  (3 credit hours)  

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

ECE 544  Design Of Electronic Packaging and Interconnects  (3 credit hours)  

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

ECE 546  VLSI Systems Design  (3 credit hours)  

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

ECE 547/CSC 547  Cloud Computing Technology  (3 credit hours)  

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".

Prerequisites: CSC 501 and either ECE/CSC 570 or ECE/CSC 573

Typically offered in Fall only

ECE 548/ECE 448  Python in ECE  (3 credit hours)  

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

ECE 549  RF Design for Wireless  (3 credit hours)  

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.

Prerequisite: ECE 303, ECE 302

Typically offered in Fall only

ECE 550  Power System Operation and Control  (3 credit hours)  

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

ECE 551  Smart Electric Power Distribution Systems  (3 credit hours)  

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

ECE 552/ECE 452  Renewable Electric Energy Systems  (3 credit hours)  

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.

Prerequisite: ECE 305 or ECE 331

Typically offered in Spring only

ECE 553  Semiconductor Power Devices  (3 credit hours)  

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

ECE 554  Electric Motor Drives  (3 credit hours)  

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

ECE 555  Computer Control of Robots  (3 credit hours)  

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.

Prerequisite: ECE 435; ECE 436; ECE 456

Typically offered in Spring only

ECE 556/ECE 456  Mechatronics  (3 credit hours)  

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

ECE 557  Principles Of MOS Transistors  (3 credit hours)  

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

ECE 558  Digital Imaging Systems  (3 credit hours)  

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.

Prerequisites: ECE 301 and ST 372

Typically offered in Fall only

ECE 560/ECE 460  Embedded System Architectures  (3 credit hours)  

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

ECE 561/ECE 461  Embedded System Design  (3 credit hours)  

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

ECE 563/ECE 463  Microprocessor Architecture  (3 credit hours)  

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.

Prerequisite: ECE 209 and ECE 212

Typically offered in Fall and Spring

ECE 564/ECE 464  ASIC and FPGA Design with Verilog  (3 credit hours)  

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

ECE 565/ECE 465  Operating Systems Design  (3 credit hours)  

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

ECE 566/ECE 466  Compiler Optimization and Scheduling  (3 credit hours)  

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

ECE 568/ECE 468/CHE 468/CHE 568  Conventional and Emerging Nanomanufacturing Techniques and Their Applications in Nanosystems  (3 credit hours)  

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

ECE 569/CSC 569  Quantum Computing  (3 credit hours)  

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

ECE 570/CSC 570  Computer Networks  (3 credit hours)  

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

ECE 572/CSC 572  Optimizations and Algorithms  (3 credit hours)  

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

ECE 573/CSC 573  Internet Protocols  (3 credit hours)  

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

ECE 574/CSC 574  Computer and Network Security  (3 credit hours)  

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.

Prerequisite: (CSC 316 or ECE309) and (CSC 401 or ECE407) or equivalent

Typically offered in Fall and Spring

ECE 575/CSC 575  Introduction to Wireless Networking  (3 credit hours)  

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

ECE 576/CSC 576  Networking Services: QoS, Signaling, Processes  (3 credit hours)  

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

ECE 577/CSC 577  Switched Network Management  (3 credit hours)  

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

ECE 578/CSC 578  LTE and 5G Communications  (3 credit hours)  

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

ECE 579/OR 579/CSC 579  Introduction to Computer Performance Modeling  (3 credit hours)  

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

ECE 581  Electric Power System Protection  (3 credit hours)  

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

ECE 583  Electric Power Engineering Practicum I  (3 credit hours)  

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

ECE 584  Electric Power Engineering Practicum II  (3 credit hours)  

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

ECE 585  The Business of the Electric Utility Industry  (3 credit hours)  

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

ECE 586  Communication and SCADA Systems for Smart Grid  (3 credit hours)  

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

ECE 587  Power System Transients Analysis  (3 credit hours)  

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

ECE 588/PB 488/ECE 488/PB 588  Systems Biology Modeling of Plant Regulation  (3 credit hours)  

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.

Prerequisite: MA 131 or MA 141

Typically offered in Fall only

ECE 589/MSE 489/MSE 589/PY 489/PY 589/ECE 489  Solid State Solar and Thermal Energy Harvesting  (3 credit hours)  

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

ECE 591  Special Topics In Electrical Engineering  (1-6 credit hours)  

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

ECE 592  Special Topics In Electrical Engineering  (1-6 credit hours)  

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

ECE 600  ECE Graduate Orientation  (1 credit hours)  

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

ECE 633  Individual Topics In Electrical Engineering  (1-3 credit hours)  

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

ECE 634  Individual Studies In Electrical Engineering  (1-3 credit hours)  

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

ECE 640  Semiconductor Manufacturing Practicum I  (3 credit hours)  

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

ECE 641  Applications Engineering Using Wide Bandgap Semiconductors Practicum II  (3 credit hours)  

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

ECE 650  Internship  (3 credit hours)  

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

ECE 675  Projects in Electrical and Computer Engineering  (1-3 credit hours)  

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

ECE 685  Master's Supervised Teaching  (1-3 credit hours)  

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

ECE 690  Master's Exam  (1-9 credit hours)  
ECE 693  Master's Supervised Research  (1-9 credit hours)  

Instruction in research and research under the mentorship of a member of the Graduate Faculty.

Prerequisite: Master's student

Typically offered in Fall only

ECE 695  Master's Thesis Research  (1-9 credit hours)  

Thesis research.

Prerequisite: Master's student

Typically offered in Fall, Spring, and Summer

ECE 696  Summer Thesis Research  (1 credit hours)  

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

ECE 699  Master's Thesis Preparation  (1-9 credit hours)  

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

ECE 706  Advanced Parallel Computer Architecture  (3 credit hours)  

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

ECE 710  Advanced Digital Signal Processing  (3 credit hours)  

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

ECE 712  Integrated Circuit Design for Wireless Communications  (3 credit hours)  

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

ECE 714  Advanced Integrated Circuit Design: Data Converters  (3 credit hours)  

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

ECE 718  Computer-Aided Circuit Analysis  (3 credit hours)  

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

ECE 719  Advanced Microwave Design  (3 credit hours)  

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

ECE 720  Electronic System Level and Physical Design  (3 credit hours)  

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

ECE 721  Advanced Microarchitecture  (3 credit hours)  

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

ECE 722  Electronic Properties of Solid-State Materials  (3 credit hours)  

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

ECE 723  Optical Properties Of Semiconductors  (3 credit hours)  

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

ECE 724  Electronic Properties Of Solid-State Devices  (3 credit hours)  

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

ECE 725  Quantum Engineering  (3 credit hours)  

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.

Prerequisite: ECE 530, and PY 401

Typically offered in Spring only

ECE 726  Advanced Feedback Control  (3 credit hours)  

Advanced topics in dynamical systems and multivariable control. Current research and recent developments in the field.

Prerequisite: ECE 516

Typically offered in Fall only

ECE 732  Dynamics and Control of Electric Machines  (3 credit hours)  

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.

Prerequisite: ECE 453 or ECE 592

Typically offered in Fall only

ECE 733  Digital Electronics  (3 credit hours)  

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

ECE 734  Power Management Integrated Circuits  (3 credit hours)  

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.

Prerequisite: ECE 511 and ECE 534

Typically offered in Spring only

ECE 735  Wide Band Gap Semiconductor Power Devices  (3 credit hours)  

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

ECE 736  Power System Stability and Control  (3 credit hours)  

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

ECE 739  Integrated Circuits Technology and Fabrication Laboratory  (3 credit hours)  

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

ECE 745  ASIC Verification  (3 credit hours)  

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

ECE 748  Advanced Functional Verification with Universal Verification Methodology  (3 credit hours)  

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

ECE 751  Detection and Estimation Theory  (3 credit hours)  

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

ECE 752  Information Theory  (3 credit hours)  

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

ECE 753  Computational Methods for Power Systems  (3 credit hours)  

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.

Prerequisite: ECE 451 or ECE 550

Typically offered in Spring only

ECE 755  Advanced Robotics  (3 credit hours)  

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.

Prerequisite: ECE 555; MAE 544

Typically offered in Fall only

ECE 756  Advanced Mechatronics  (3 credit hours)  

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.

Prerequisite: ECE 456 or ECE 556 with a Grade B+ and above

Typically offered in Spring only

ECE 759  Pattern Recognition  (3 credit hours)  

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

ECE 762  Advanced Digital Communications Systems  (3 credit hours)  

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

ECE 763  Computer Vision  (3 credit hours)  

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.

Prerequisite: ECE 558 and ECE 514

Typically offered in Spring only

ECE 765  Probabilistic Graphical Models for Signal Processing and Computer Vision  (3 credit hours)  

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

ECE 766  Signal Processing for Communications & Networking  (3 credit hours)  

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

ECE 773/CSC 773  Advanced Topics in Internet Protocols  (3 credit hours)  

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

ECE 774/CSC 774  Advanced Network Security  (3 credit hours)  

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.

Prerequisite: CSC/ECE 570, CSC/ECE 574

Typically offered in Spring only

ECE 785  Topics in Advanced Computer Design  (3 credit hours)  

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

ECE 786  Advanced Computer Architecture: Data Parallel Processors  (3 credit hours)  

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.

P: ECE 463/563 and CSC/ECE 506

Typically offered in Spring only

ECE 789/CSC 789  Cellular and Telecommunications Security  (3 credit hours)  

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

ECE 791  Special Topics In Electrical Engineering  (3-6 credit hours)  

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

ECE 792  Special Topics In Electrical Engineering  (1-6 credit hours)  

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

ECE 801  Seminar in Electrical and Computer Engineering  (1-3 credit hours)  

Typically offered in Fall and Spring

ECE 804  Seminar in Comm/Sig PR  (1-3 credit hours)  

Typically offered in Fall and Spring

ECE 833  Individual Topics In Electrical Engineering  (1-3 credit hours)  

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

ECE 834  Individual Studies In Electrical Engineering  (1-3 credit hours)  

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

ECE 875  Projects in Electrical and Computer Engineering  (1-3 credit hours)  

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

ECE 885  Doctoral Supervised Teaching  (1-3 credit hours)  

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

ECE 890  Doctoral Preliminary Examination  (1-9 credit hours)  

For students who are preparing for and taking writte and/or oral preliminary exams.

Prerequisite: Doctoral student

Typically offered in Fall only

ECE 893  Doctoral Supervised Research  (1-9 credit hours)  

Instruction in research and research under the mentorship of a member of the Graduate Faculty.

Prerequisite: Doctoral student

Typically offered in Fall only

ECE 895  Doctoral Dissertation Research  (1-9 credit hours)  

Dissertation research.

Prerequisite: Doctoral student

Typically offered in Fall, Spring, and Summer

ECE 896  Summer Dissertation Research  (1 credit hours)  

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

ECE 899  Doctoral Dissertation Preparation  (1-9 credit hours)  

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