Electrical Engineering and Computer Science, School of

CSCI Courses

CSCI 513. Advanced Database Systems. 3 Credits.

An advanced study of database system architecture, implementation, and applications, with emphasis on the object-oriented, object-relational, and embedded data models, and new database advancements including research and practical issues in database systems and data science. Prerequisite: CSCI 455.

CSCI 515. Data Engineering and Management. 3 Credits.

This course studies theoretical and applied research issues related to data engineering, management, and science. Topics will reflect state-of-the-art and state-of-the-practice activities in the field. The course focuses on well-defined theoretical results and empirical studies that have potential impact on data acquisition, analysis, indexing, management, mining, retrieval, and storage. Prerequisite: CSCI 513. S, even years.

CSCI 522. Theoretical Foundations of Computer Science. 3 Credits.

A selection of topics from theoretical computer science, possibly including formal languages, automata, other models of computation, and the theory of computability, decidability, and complexity. Prerequisite: CSCI 492.

CSCI 532. High Performance Computing and Paradigms. 3 Credits.

A study of current topics in threads, inter-process communication and synchronization, master-slave and peer designs for concurrency, client-server architectures, cluster/grid computing and massively parallel computer architectures. A considerable amount of programming will be done in one or more of these environments. F, odd years.

CSCI 537. Graduate Cooperative Education. 1-2 Credits.

A practical work experience in advanced computing, approved by the student's advisor. Requirements include a written report and an oral presentation upon completion of the work experience. Prerequisite: A minimum of 9 graduate credits in computer science and consent of the Department. S/U grading. On demand.

CSCI 543. Machine Learning. 3 Credits.

An introductory course in machine learning for data science. Topics include the learning algorithms of a Bayesian network, neural network, parametric/non-parametric methods, kernel machine, support-vector machine, etc. for regression, classification, clustering, dimensionality reduction, etc. Prerequisite: CSCI 365 or CSCI 384. F, odd years.

CSCI 544. Soft Computing: Computational Intelligence I. 3 Credits.

A study of the computational intelligence with the Soft Computing paradigm. The topics include the theory and computational methods of Fuzzy Logic and system, Neural Network, Evolutionary Algorithm and other topics, whose paradigms and hybrid techniques are widely applied to data science and mining, pattern classification and clustering, information retrieval, control engineering, decision making, and optimization problem, etc. S, even years.

CSCI 545. Discrete Dynamical Systems Modeling and Simulation. 3 Credits.

A study of various modeling methods applicable to large scale distributed and parallel systems. Topics include cellular automata, grid models, and chaos theory. Prerequisite: CSCI 445.

CSCI 546. Advanced Computer Graphics. 3 Credits.

An introduction to advanced topics in computer graphics. Included are light and color theory, image processing and compression, spatial-frequency transformations, raytracing, sampling theory, and topics of current interest. Prerequisite: CSCI 466 and MATH 265. S, even years.

CSCI 547. Scientific Visualization. 3 Credits.

A study of visualization techniques useful in the analysis of engineering and scientific data. Topics include the study of physical models; methods of computational science; two ¬and three-dimensional data types; visual representation schemes for scalar, vector, and sensor data; isosurface and volume visualization methods. The course will also cover image processing and pattern recognition, with topics, including Fourier transforms, fractal geometry, and neural networks. Prerequisite: CSCI 466. F, even years.

CSCI 551. Security for Cloud Computing. 3 Credits.

Cloud computing scheme aims to provide users with a shared computing infrastructure. The privacy and security concerns in cloud computing are different from the security concerns present in a dedicated data center. This course focuses on these security concerns and countermeasures for a cloud environment. This course provides an overview of cloud computing and virtualization, the critical technology underpinning cloud computing, and the major threats to the operations of cloud computing. Topics may include access control, identity management, denial of service, account and service hijacking, secure APIs, malware, forensics, regulatory compliance, trustworthy computing, and secure computing. Prerequisite: CSCI 370, CSCI 451; and one of the following: CSCI 327, CSCI 427 or CSCI 555. S, odd years.

CSCI 552. Cyber Physical Systems Security. 3 Credits.

This course provides an introduction to security issues relating to various cyber-physical systems including industrial control systems and those considered critical infrastructure systems. Topics include: Industrial cyber security history and threats, hacking industrial control systems, securing industrial control systems, advanced cyber-physical systems security concepts, and privacy in cyber-physical systems. F, even years.

CSCI 554. Applications in AI/Computational Intelligence. 3 Credits.

A continuous study of the computational paradigms of Soft Computing in the field of Computational Intelligence. The topics include the applications of the various soft computing techniques in Computational Intelligence as well as more evolutionary algorithms in Swarm Intelligence. Prerequisite: CSCI 544. F, even years.

CSCI 555. Computer Networks. 3 Credits.

A study of new and developing network architectures and communication protocols. Broadband technologies will be considered including BISDN, ATM networks, and other high-speed networks. Prerequisite: CSCI 327.

CSCI 557. Computer Forensics. 3 Credits.

An overview of the techniques to detect and assess the level of penetration of a security breach. Topics include forensic science in the cyber domain, laws and ethics of forensic activities, digital evidence, methods of forensic investigation, and forensic procedures in a variety of operating systems and network configurations. Prerequisite: EE 602, or approval of the department, and admission to the MS program in Cyber Security. S.

CSCI 562. Formal Specification Methods. 3 Credits.

A foundational course that introduces several formal specification techniques for construction and analysis of software artifacts. Included are rigorous program development, abstract specifications of modules, and modeling of concurrent and distributed software. Prerequisite: CSCI 435 and CSCI 463.

CSCI 565. Advanced Software Engineering. 3 Credits.

A study of current topics related to the design and implementation of large software systems. Course content may vary with instructor and student interest. Potential topics include: software testing and validation, programming environments, program metrics and complexity, design methodologies, software reliability and fault tolerance. Prerequisite: CSCI 463.

CSCI 567. Secure Software Engineering. 3 Credits.

This course covers software engineering principles and techniques used in the development life-cycle of cyber secure systems. Topics covered include, the characteristics of secure software, the role of security in the development life-cycle, designing secure software, and best-practices in secure programming and testing. Study includes review of industrial standards for secure software system engineering. Prerequisite: EE 601, EE 602, and admission to the MS Cyber Security Program. SS.

CSCI 575. Analysis of Algorithms. 3 Credits.

The time and space complexity of classical computer algorithms is analyzed. NP hard and NP complete problems are characterized and illustrated. Prerequisite: CSCI 435.

CSCI 582. Software Architecture. 3 Credits.

Software architecture is a fairly young sub-discipline within software engineering; it is aimed at shifting the designer's focus from algorithmic control structure to interactive interrelations among components. This course, among other things, will expose students to the concepts of design, design of design, principles and state-of-the-art methods and techniques in software architectures, which include the discussion of architectural patterns (or styles), domain specific architectural design, formal architectural description languages (ADLs), software connectors (simple and composite), architectural analysis, and middleware and component-based software development. Prerequisite: CSCI 463 and CSCI 435.

CSCI 585. Vulnerability Assessment. 3 Credits.

The ability to assess potential threats is a critical prerequisite to creating a secure system. This course will cover the following topics: cyber threats, security requirements, data collection and analysis, and dissemination of results. Prerequisite: EE 602, or permission of the department, and admission to the MS program in Cyber Security. S.

CSCI 587. Ethical Hacking. 3 Credits.

Introduction to hacking techniques with an ethical framework. Topics include planning and scoping of penetration tests, rules of engagement, reconnaissance, port scanning, OS finger printing and version scanning, vulnerability scans, exploitation, post-exploitation strategies and pivoting, and password attacks. Legal and ethical frameworks will be introduced and guidance on appropriate application of hacking techniques will be emphasized. Prerequisite: EE 602 or permission of the department, and admission to the MS program in Cyber Security. S.

CSCI 588. Data Structure, Algorithms, and Software Design in C++. 3 Credits.

This course is intended for the Scientific Computing Ph.D students. The course attempts to introduce C++ via laboratory sessions. More specifically, this course tries to incorporate Data Structures and Algorithms in C++ as well as Software Design in C++. During these sessions the students are introduced to C++ concepts using a series of examples. Having examined the examples given in the session and having understood the concepts covered, the student should be able to complete open-ended problems. This course assumes no prior knowledge of C++.

CSCI 589. Application Layer Security. 3 Credits.

The ability to assess potential threats is a critical prerequisite to creating a secure system. This course will cover the following topics: cyber threats, security requirements, data collection and analysis, and dissemination of results. Prerequisite: EE 601 and EE 602 or approval of department, and admission to the MS program in Cyber Security. SS.

CSCI 599. Research. 1-6 Credits.

This course is intended for Ph.D students to obtain credit for their research efforts. Repeatable to 21 credits. Repeatable to 21.00 credits. S/U grading.

CSCI 998. Thesis. 1-9 Credits.

Thesis. Repeatable to 9.00 credits.

CSCI 999. Dissertation Research. 1-12 Credits.

This course is intended for doctoral students to obtain credit for all research that leads to the dissertation. Repeatable. F,S,SS.

Undergraduate Courses for Graduate Credit

CSCI 427. Cloud Computing. 3 Credits.

This is the undergraduate-level course on cloud computing models, techniques, and architectures. Cloud computing is an important computing model which enables information, software, and other shared resources to be provisioned over the network as services in an on-demand manner. This course introduces the current practices in cloud computing. Topics may include distributed computing models and technologies, Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), virtualization, performance and systems issues, capacity planning, disaster recovery, Cloud OS, federated clouds, challenges in implementing clouds, data centers, hypervisor CPU and memory management, and cloud hosted applications. S, even years.

CSCI 435. Formal Languages and Automata. 3 Credits.

A study of automata, grammars, and Turing machines as specifications for formal languages. Computation is defined in terms of deciding properties of formal languages, and the fundamental results of computability and decidability are derived. Prerequisite: CSCI 365 with a grade of C or better. F.

CSCI 445. Mathematical Modeling and Simulation. 3 Credits.

A study of various mathematical applications for digital computers, including the modeling, simulation and interpretation of the solution of complex systems. Prerequisite: CSCI 161 or CSCI 170, and MATH 166 and a statisitcs course. F, even years.

CSCI 446. Computer Graphics I. 3 Credits.

Introduction to computer graphics. Topics include raster scan graphics, 2D and 3D representations, affine transformations, light and color, texture mapping, image processing, ray-tracing, and computer animation. Team-based weekly homework develops a 4 minute computer animation. Prerequisite: CSCI 242, CSCI 363, and MATH 166. F, odd years.

CSCI 448. Computer Graphics II. 3 Credits.

A continuation of CSCI 446, topics covered include: history of games, game taxonomies, game design theory, computer game development, physics engines and AI engines. Prerequisite: CSCI 446. S, even years.

CSCI 451. Operating Systems I. 3 Credits.

Introduction to operating system theory and fundamentals. Topics include: CPU scheduling, memory management, file systems, interprocess communication facilities, security. Weekly homework assignments focus on process synchronization using fork/exe, threads, mutexes, pipes, semaphores, and shared memory. Prerequisite: CSCI 330 with a grade of C or better; recommended prerequisites CSCI 370 and CSCI 455. F.

CSCI 452. Operating Systems II. 3 Credits.

A study of the implementation of operating systems and parts of operating systems, and development of system software. Prerequisite: CSCI 451. On demand.

CSCI 455. Database Management Systems. 3 Credits.

Database concepts, database design (ER, UML), database programming languages (SQL), NoSQL Database, Database Concurrency and recovery techniques, and Database security. Prerequisite: CSCI 242 with a grade of C or better. S, even years.

CSCI 457. Electronic Commerce Systems. 3 Credits.

A study of the system architecture, content design and implementation, and data analysis, management, and processing of electronic commerce. Topics include Internet basics, business issues, data management and processing, static and dynamic web programming, e-commerce content design and construction, and databases and host languages with embedded SQL. Prerequisite: CSCI 260 with course topic of Dot Net. S, odd years.

CSCI 463. Software Engineering. 3 Credits.

This course teaches software engineering principles and techniques used in the specification, design, implementation, verification and maintenance of large-scale software systems. Major software development methodologies are reviewed. As development team members, students participate in a group project involving the production or revision of a complex software product. Prerequisite: CSCI 242 and CSCI 363. S.

CSCI 465. Principles of Translation. 3 Credits.

Techniques for automatic translation of high-level languages to executable code. Prerequisite: CSCI 365 and CSCI 370. F, odd years.

CSCI 487. Penetration Testing. 3 Credits.

Provides theoretical and practical aspects of Network Penetration Testing. The course includes in-depth details and hands on labs for each of the five distinct phases of an ethical hack including reconnaissance, scanning and vulnerability assessment, gaining access and exploitation, maintaining access, and covering tracks. An applied approach with a focus on current tools and methodologies will be stressed. S.

CSCI 491. Seminars in Computer Science. 1 Credit.

A course for advanced students. Repeatable to 3 credits. Prerequisite: Consent of instructor. Repeatable to 3.00 credits. S/U grading. F,S.

DATA Courses

DATA 511. Computing for Data Science I. 3 Credits.

An introduction to programming using common high-level programming languages for Data Science and Analytics. Problem solving, algorithm development and analysis, structured programming, data structures, and the theory of computation. Emphasis on designing, debugging, and documenting programs. Prerequisite: Admitted graduate students in data science or instructor consent. On demand.

DATA 512. Computing for Data Science II. 3 Credits.

An introduction to the fundamental concepts in data structures and algorithms and their roles in efficient problem solving. Basic data structures, classic algorithms, theoretical modeling techniques, database concepts and design, database concurrency and recovery techniques. Prerequisite: Admitted graduate students in data science or instructor consent. Prerequisite or Corequisite: DATA 511. On demand.

DATA 513. Mathematics for Data Science. 3 Credits.

Introduction to set theory, functions and relations, permutations and combinations, logic, Boolean algebra, induction, difference equations. Descriptive statistics, continuous and discrete probability density functions, sampling distributions, point and interval estimation, and tests of hypotheses. Prerequisite: Admitted graduate students in data science or instructor consent. On demand.

DATA 520. Databases. 3 Credits.

An introduction to the principles of Database design and management. Topics include query optimization, procedural extension of query languages, runtime error handling, normalization techniques, data warehousing, and NoSQL. Prerequisite: DATA 511, DATA 512, and DATA 513 or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 525. Data Engineering and Mining. 3 Credits.

This course studies theoretical and applied issues related to data engineering and mining. Data engineering is to identify, investigate, and analyze the underlying principles in the design and effective use of information systems; and data mining is to discover patterns in large data sets and transform the patterns into a comprehensible structure for further applications. The following topics are covered: data collection, data preparation, data indexing and storage, data processing and analysis, data classification and clustering, knowledge discovery, information retrieval, data visualization, data sharing, data applications, and some other special topics. Prerequisite: DATA 511, DATA 512, and DATA 513 or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 527. Predictive Modeling. 3 Credits.

The development of models that rely on statistical methods to predict future events based on past performance. Common modeling methods will be introduced, and procedures to determine the accuracy of models will be covered. Prerequisite: DATA 511, DATA 512, and DATA 513 or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 530. Artificial Intelligence. 3 Credits.

This course provides a broad overview of the algorithms and applications of Artificial Intelligence. Topics include agent theory, problem-solving with search, constraint satisfaction, game theory, knowledge-based systems, reasoning, information retrieval, pathfinding and classification. Prerequisite: DATA 511, DATA 512, and DATA 513 or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 532. Applied Machine Learning. 3 Credits.

Implementation and application of common machine learning algorithms using a high-level programming language. Algorithms that employ supervised and unsupervised learning will be considered in the context of a variety of applications such as searching and ranking, text mining, and recommender systems. Prerequisite: DATA 511, DATA 512, and DATA 513 or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 540. Data Visualization. 3 Credits.

An introduction to data visualization techniques that are used to effectively communicate the results of data analysis with a focus on visual cognition and perception. Topics include plots, tables, models, spatial visualization, themes, visualizing distributions and correlation, and isosurface generation. Prerequisite: DATA 511, DATA 512, and DATA 513 or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 550. Data Security. 3 Credits.

Data is considered one of the most important assets for any organization. The course in data security covers security and privacy issues, models, policies, and techniques for protecting data against various types of threats. Prerequisite: DATA 511, DATA 512, and DATA 513, or permission of the School of Electrical Engineering and Computer Science. On demand.

DATA 589. Data Science Ethics. 3 Credits.

This course takes a detailed look of the ethical considerations in applying artificial intelligence and statistical analysis on repositories of data that relates to groups of persons or the individual. There will be a review of the legal, regulatory, and international restrictions on the use of advance computer technologies on personal data from the perspectives of how such data may be captured, stored, accessed, and used. The course will cover the relevant ethical considerations at the personal and institutional professional levels. On demand.

DATA 994. Data Science Capstone. 3 Credits.

This course introduces the students to educational research in data science issues. Students are required to conduct a survey-type research effort on a cyber security topic of interest. The course provides students with an understanding of the basic models and methods of educational research and their application to data science issues. Prerequisite: Completion of at least 27 credits in the Graduate Program in Data Science. On demand.

EE Courses

EE 505. Control Systems II. 3 Credits.

Advanced topics in control systems including nonlinear systems, robust control, optimal control, and pole placement techniques; selective topics from the state of the art. Prerequisite: EE 405.

EE 506. Digital Control Systems. 3 Credits.

Digital systems representation, analysis and simulation; Z-transform; digital controllers design and realization; microprocessor based controllers. Prerequisite: EE 405.

EE 508. Intelligent Decision Systems. 3 Credits.

Systems and networks will be designed to work in an uncertain environment. Systems will be optimized using Neural Networks and Fuzzy Logic concepts. Prerequisite: EE 314 or consent of instructor.

EE 509. Signal Integrity. 3 Credits.

Fundamental concepts of signal integrity are presented. Topics include propagation of digital signals, electrical noise, and system timing. Prerequisite: EE 409 or consent of instructor.

EE 511. Power Electronics. 3 Credits.

Principles of power electronics switching control circuits. Including AC/DC, DC/DC, DC/AC converters, their harmonics and filtering techniques, and their application in switching power supplies, electric drives, renewable energy systems, etc. Prerequisite: EE 321 or consent of instructor. On demand.

EE 512. Wireless Communications. 3 Credits.

Key concepts, underlying principles, and practical applications of ever-growing wireless and cellular communication technologies. Prerequisite: EE 411 or consent of instructor.

EE 521. Digital Signal Processing. 3 Credits.

Modern methods of digital signal processing will be studied. Techniques that will be used include the recursive and nonrecursive discrete-time filters and the Fourier Transform. Prerequisite: EE 314.

EE 522. Renewable Energy Systems. 3 Credits.

This course will provide engineering students with an understanding of the principles of renewable energy conversion systems. Emphasis is on wind, photo-voltaic, hydrogen fuel, and fuel cell energy conversion and storage systems, along with their associated design and control issues.

EE 523. Power Systems II. 3 Credits.

Electric power systems analysis and control. Power flow; system response and stability; voltage and frequency control; computer methods in system analysis. Prerequisite: EE 423.

EE 524. Application Specific Integrated Circuit (ASIC) Design. 3 Credits.

To gain an historic perspective of ASIC Design. To familiarize students with the existing IC technology and their attributes. To recognize basic fabrication process, layout, circuit extraction and performance analysis. To understand CAD tools, hardware, systems engineering, and operational issues. Prerequisite: EE 421 or consent of instructor.

EE 525. Electromagnetic Fields. 3 Credits.

Static electric and magnetic fields, field mapping, and applications to transmission lines, wave-guides, and antennas. Prerequisite: EE 316.

EE 526. Engineering Systems Reliability. 3 Credits.

This course teaches the basics of reliability engineering concepts and techniques applicable to all engineering disciplines including electrical, mechanical, chemical, geological, aeronautical, and civil. To benefit the most from this course, some basic knowledge of probability and statistics would be helpful but is not necessary as the required background and tools are presented and discussed in the class. Prerequisite: Consent of the instructor. On demand.

EE 532. Antenna Theory. 3 Credits.

Physical principles underlying antenna behavior and design as applied to antennas. Prerequisite: EE 316 or consent of instructor.

EE 534. Advanced Wireless Communications Engineering. 3 Credits.

A combination of theory and practice underlying principles and practical applications of Wireless Communications. Prerequisite: Consent of Instructor. On demand.

EE 536. Optical Fiber Communications. 3 Credits.

Propagation in optical fibers, optical receivers, amplifiers, detectors, sources, transmission links, noise consideration, optical fiber communication systems, applications and future developments. Prerequisite: EE 434 or consent of instructor.

EE 539. Electromagnetic Compatibility. 3 Credits.

Introduction to design considerations and techniques used to ensure electromagnetic compatibility. Prerequisite: EE 409 or consent of instructor.

EE 540. Computer Networks Communications. 3 Credits.

Computer Communications is an undergraduate/graduate course that introduces fundamental concepts in the design and implementation of computer communication networks and their protocols. Prerequisite: Consent of the instructor. On demand.

EE 542. Network Architectures. 3 Credits.

Several network architectures are used today for transporting data and providing a good network service and performance. This course explains the fundamental network architecture concepts and their communications protocols. Prerequisite: Consent of the instructor. On demand.

EE 544. Advanced Microwave Engineering. 3 Credits.

Analysis of passive microwave components including power dividers, resonators, filters, ferromagnetic and MEMs components. On demand. Prerequisite: EE 409 and EE 434, or consent of instructor. On demand.

EE 545. Introduction to Biomedical Engineering. 3 Credits.

This course introduces biomedical engineering and several systems of the human physiology. Signals of biological origin obtained from these systems, biosensors, transducers and bioelectrodes used to acquire such signals, along with medical quality amplifiers for measuring bipotentials, are discussed. Prerequisite: EE 314, EE 421 or consent of instructor.

EE 546. Biomedical Signal Processing. 3 Credits.

This course presents the several fundamental of digital signal processing methods applied to biomedical signals. Topics include data acquisition and related issues, ltering, feature extraction, classification, and decision making. The course is based on a series of labs and experiments of applying different methods to real biomedical signals. Lectures cover signal processing topics relevant to the lab exercises. Prerequisite: Consent of the instructor. On demand.

EE 547. Deep Learning Applications in Biomedical Engineering. 3 Credits.

Applications of different machine learning techniques to biomedical image and signal processing are evaluated. Prerequisite: EE 314 or the consent of the instructor. On demand.

EE 550. Biomedical Instrumentation. 3 Credits.

Introduction to circuits and systems that allow electrical technology to interface with biological systems. Prerequisite: EE 314, EE 316 and EE 421, or consent of instructor.

EE 551. Cryptography Techniques and their VLSI Implementations. 3 Credits.

Modern cryptography algorithms are necessary for protecting data storage and communication streams from disclosure and manipulation of information by hackers. This course exposes students to the standard cryptography algorithms and their implementation in VLSI chips, Field Programmable Array devices, using VHDL language. Prerequisite: Consent of the instructor. On demand.

EE 552. Advanced Embedded Systems Design. 3 Credits.

This course provides students with cutting-edge techniques in the design and implementation of advanced embedded systems that involve analog/digital conversion, interrupts, timers, CCP modules, and parallel/serial communications. Prerequisite: EE 452 or consent of instructor.

EE 560. Engineering Computation. 3 Credits.

Development and application of optimization techniques in practical problems encountered in electrical engineering, Downhill and probabilistic optimization techniques, Modeling of complex systems by partial differential equations and their numerical solution by finite difference and finite element methods. Prerequisite: Consent of instructor. On demand.

EE 562. Advanced Linear Programming Modeling. 3 Credits.

This course will focus on the solution of large-scale linear optimization problems and systems of linear inequalities. Theoretical topics to be addressed include some fundamental results from convex analysis applied to linear programs, and basic ideas from complexity theory especially the importance of polynomial-time algorithms. Algorithmic topics include extensions to the simplex method, the primal-dual simplex method, interior point algorithms, and decomposition and column-and row-generation methods and Mixed integer programming and network flow topics. Prerequisite: EE 304 or consent of the instructor. On demand.

EE 595. Design Project. 3-6 Credits.

A three to six credit course of engineering design experience involving individual effort and a formal written report. Repeatable to 6 credits. Prerequisite: Restricted to Master of Engineering student candidates and subject to approval by the student's advisor. Repeatable to 6.00 credits.

EE 599. Doctoral Research in Electrical Engineering. 1-15 Credits.

Doctoral Research. Repeatable. F,S,SS.

EE 601. Analytical Foundations of Cyber Security. 3 Credits.

This course provides a solid mathematical foundation for further study in cyber security. Topics include: Set Theory, Discrete Functions and Relations, Permutations and Combinations, Logic and Boolean Algebra, Systems of Linear Equations, Finite Dimensional Vector Spaces, Linear Transformations, Determinants, Matrices, Eigenvalues, Eigenvectors, and Diagonalizability. Prerequisite: Students enrolled/admitted in the MS in Cyber Security program. F,S,SS.

EE 602. Computing Foundations of Cyber Security. 3 Credits.

This course provides a solid programming foundation for further study in cyber security. An introduction to the Python programming language; data structures, analysis of algorithms, and software design topics will be discussed. Prerequisite: Students enrolled/admitted in the MS in Cyber Security program. Prerequisite: Students enrolled/admitted in the MS in Cyber Security program. F,S,SS.

EE 611. Emerging Threats and Defenses. 3 Credits.

Cyber-attacks are a serious economic and security threat. To combat both immediate and future dangers, businesses and governments are investing in cyber security. Understanding trends in cyber-security and how machine-learning techniques defenses can respond to threats is a critical component of protecting networks, infrastructure and users. This course explores the growing challenges of securing sensitive data, networks to defend against malicious acts. Prerequisite: Consent of the instructor. On demand.

EE 612. Spread Spectrum Communications for Cyber Security. 3 Credits.

This course brings students up-to-date in key concept, underlying principles and practical applications of Spread Spectrum Technology. A course that presents timely information that student can immediately put to use in tackling real world cyber threats. Prerequisite: Consent of the instructor. On demand.

EE 613. Advanced Cyber Security Principles. 3 Credits.

This course is a comprehensive study of the principles and practices of computer system security including operating system security, network security, software security and web security. Topics include common attacking techniques such as virus, trojan, worms and memory exploits; the formalisms of information security such as the access control and information flow theory; the common security policies such as BLP and Biba model; the basic cryptography, RSA, cryptographic hash function, and password system; the real system implementations, with case study of UNIX, SE-Linux, and Windows; network intrusion detection; software security theory; web security; legal and ethical issues in computer security. Prerequisite: Consent of the instructor. On demand.

EE 614. Applied Cryptography. 3 Credits.

Modern cryptography algorithms are necessary for protection of data storage and communication streams from disclosure and manipulation of information to distrusted or malicious parties. This course explains the inner workings of cryptographic primitives and how to implement them. Assignments will be both theoretical and application based. Experience with C/ C++ programming is required. Prerequisite: Consent of the instructor. On demand.

EE 615. Cyber Forecasting. 3 Credits.

There are literally millions of enterprises and organizations that already conduct business on the World Wide Web and millions more that will in the future. Many are not sure on how much to spend to defend themselves against Internet Security attacks and many are afraid to conduct business on the Web because of the lack of security in their infrastructure and information systems. Prerequisite: Consent of the instructor. On demand.

EE 616. Cyber-Physical Energy Systems Security. 3 Credits.

This course discusses the basics of integrated power and communication infrastructures in cyber-physical electrical energy and power systems. In order to understand planning, design and operation of such systems, this course includes both cyber and physical topics related to modern power systems, such as technologies for storing and generating electric power (including renewable energy), layering, networking, packets routing, coding, cellular networks, WLAN, and sensors. Approaches for an integrated operation, management and control of such systems, as well as the application of signal processing techniques in electric power grids are also explored in this course. Implication of such integrated power and communications cyber-physical systems in terms of sustainability, security, resiliency, and reliability will also be reviewed. Prerequisite: EE 313 and EE 423 or consent of the instructor. On demand.

EE 617. Data Operations and Security. 3 Credits.

This course explains the key concepts used in database systems and demonstrates the features of a Database management software. The course will discuss the different types of commercial database systems and will explain the concepts used to design a database. Also this course will teach how to implement a database using the relational DBMS. The course also illustrates the usage of database management systems. The course will also discuss data base attacks, ACID properties. Prerequisite: Consent of the instructor. On demand.

EE 623. Introduction to Smart Grid I. 3 Credits.

This course is an in-depth study of the ways in which information and communication technologies (ICT) are being deployed to modernize the electric energy infrastructure, i.e. "Smart Grid." In this course we will dene Smart Grid as the use of ICT (in combination with power electronics and policy) to make electricity cleaner, less costly, and more reliable. Prerequisite: EE 313 or graduate student standing. On demand.

EE 624. Introduction to Smart Grid II. 3 Credits.

This is the next sequence of smartgrid course is an in-depth study of the ways in which information and communication technologies (ICT) are being deployed to modernize the electric energy infrastructure, i.e. "Smart Grid." In this course we will dene Smart Grid as the use of ICT (in combination with power electronics and policy) to make electricity cleaner, less costly, and more reliable. Prerequisite: EE 623. On demand.

EE 640. Communication Protocols: OSI model and TCP/IP Protocol Stack. 3 Credits.

Communication between computers and networks uses protocols. This course introduces students to the OSI model and TCP/IP protocol stack. Functions of each layer in the network are explained and their security analyzed. Prerequisite: Consent of the instructor. On demand.

EE 740. Intrusion Detection Algorithms. 3 Credits.

With the increasing number of cyber-attacks, intrusion detection systems become crucial tools for detecting anomalies and enhancing computers and networks security. This course exposes students to the existing intrusion detection techniques and algorithms, including signature-based and anomaly-based approaches. Prerequisite: Consent of the instructor. On demand.

EE 750. Internet of Things and Security. 3 Credits.

Internet of Things (IoT) is an emerging field where computing devices are interconnected through the existing internet infrastructure. The IoT has changed the world with new innovative products such as autonomous vehicles, smart home, and smart wearables devices. This course explains the concept of IoT, its applications, networks and communication architectures, and security threats. Prerequisite: Consent of the instructor. On demand.

EE 751. Wireless Sensor Networks. 3 Credits.

This class provides a hands-on introduction to wireless sensor networking. We will start with a discussion of the WSN+ubiquitous computing vision and applications, and also discuss emergent/swarm behavior in distributed and networked systems. We will provide a tutorial on programming wireless sensor network applications in Tinyos. Finally, we will quickly cover protocols for MAC layer, Localization, Routing, Querying, and Tracking. Prerequisite: Consent of the instructor. On demand.

EE 752. Introduction to Autonomous Systems. 3 Credits.

Advanced topics in autonomous and intelligent mobile robots, with emphasis on planning algorithms and cooperative control. Robot kinematics, path and motion planning, formation strategies, cooperative rules and behaviors. The application of cooperative control spans from natural phenomena of groupings such as fish schools, bird flocks, deer herds, to engineering systems such as mobile sensing networks, vehicle platoon. Prerequisite: Consent of the instructor. On demand.

EE 998. Thesis. 1-6 Credits.

Repeatable to 9.00 credits.

EE 999. Dissertation Research. 1-12 Credits.

Dissertation research for Ph.D. EE students. Repeatable. F,S,SS.

Undergraduate Courses for Graduate Credit

EE 411. Communications Engineering. 3 Credits.

Mathematical definition of random and deterministic signals and a study of various modulation systems. Prerequisite: EE 314. On demand.

EE 423. Power Systems I. 3 Credits.

Electric power systems operation, control and economic analysis. Prerequisite: EE 313. On demand.

EE 428. Robotics Fundamentals. 3 Credits.

Fundamentals of robotic systems: modeling, analysis, design, planning, and control. The project provides hands-on experience with robotic systems. Prerequisite: MATH 266 or consent of instructor. On demand.

EE 430. Introduction to Antenna Engineering. 3 Credits.

Review of vector analysis and Maxwell's equations, wave propagation in unbounded regions, reflection and refraction of waves, fundamental antenna concepts, wire-and aperture-type antennas, wave and antenna polarization, antenna measurements, and computer-aided analysis. Prerequisite: EE 409 or consent of instructor. On demand.

EE 434. Microwave Engineering. 3 Credits.

Review of transmission lines and plane waves, analysis of microwave networks and components using scattering matrices, analysis of periodic structures, transmission and cavity type filters, high frequency effects, microwave oscillators, amplifiers, and microwave measurement techniques. Prerequisite: EE 409 or consent of instructor. On demand.

EE 451. Computer Hardware Organization. 3 Credits.

The study of complete computer systems including digital hardware interconnection and organization and various operation and control methods necessary for realizing digital computers and analog systems. Prerequisite: EE 201 and EE 304; or consent of instructor. On demand.

EE 456. Digital Image Processing. 3 Credits.

Digital image retrieval, modification, enhancement, restoration, and storage. Image transformation and computer vision. The associated laboratory provides hands-on experiences. Prerequisite: EE 304 and EE 314. On demand.

EECS Courses 

EECS 500. Graduate Seminar. 1 Credit.

This course will expose students to research topics of general interest in electrical engineering, computer science, and related fields. Students will learn and practice giving technical presentations. Speakers will be drawn from faculty and students in SEECS, other departments on campus, and outside UND, as available. Repeatable to 3.00 credits. F,S.

EECS 537. Graduate Cooperative Education. 1-2 Credits.

A practical work experience in advanced engineering or computing, approved by the student's advisor. Requirements include a written report and an oral presentation upon completion of the work experience. Prerequisites: Students must be legally eligible to work at the employment site. Completion of a minimum of 18 graduate credits of coursework and consent of the School. Prerequisite: Students must be legally eligible to work at the employment site; completion of a minimum of 18 graduate credits of coursework and consent of the School; approval of the advisor and Graduate Program Director. Repeatable to 4.00 credits. S/U grading. F,S,SS.

EECS 590. Advanced Topics in Electrical Engineering and Computer Science. 3 Credits.

Selected topics from current developments in Electrical Engineering and Computer Science. Prerequisite: Open by permission to graduate students and qualified seniors. Repeatable to 6.00 credits. On demand.

EECS 591. Electrical Engineering and Computer Science Research. 1-3 Credits.

Students perform a project under the supervision of a SEECS graduate faculty. A written report is required. This course cannot be used to satisfy any requirements of doctoral or M.S. thesis programs. Prerequisite: Admission to one of the SEECS MEng or MS programs with non-thesis option, and consent of instructor. Repeatable to 6.00 credits. On demand.

EECS 994. Capstone. 3 Credits.

This course is intended for students enrolled in a graduate program, who need to complete a semester long project. The class will emphasize applied learning to demonstrate real world problem solving skills. F,S,SS.

EECS 996. Continuing Enrollment. 1-12 Credits.

Continuing Enrollment. Repeatable. S/U grading. F,S,SS.

EECS 997. Independent Study. 1-3 Credits.

This course is independent study for MS Non-Thesis Students. Prerequisite: Consent of the advisor. Repeatable to 3.00 credits. F,S,SS.