- EECE 5150 Machine Learning (4 semester hours) Fundamental mathematical concepts of data science and their implementation in various programming languages. Methods for obtaining and massaging data. Data life cycle, optimization, cost functions, and stochastic gradient descent. Prerequisite: MATH 245 or permission of instructor.
- EECE 5151 Machine Learning (4 semester hours) Machine Learning (ML) amounts to the ability to recognize and react to new patterns of data more or less automatically. In this course, students are introduced to the concepts and methods of ML and tools and technologies that can be used to implement and deploy ML solutions. We will cover methods for supervised ML, whereby human beings are able to guide learning algorithms to improve their effectiveness through feedback and guidance, and unsupervised ML, which is essentially the ability to process data patterns without any examples of what one is looking for. Students will learn to work with the language R, which is rapidly becoming the lingua-franca for data science and ML. We will work through many ML problems in real-world situations, and see how R can be used to implement a solution. We cover many areas of ML application such as spam filtering, pharma, healthcare, and stock market. Graduate standing required.
- EECE 5160 Optical Engineering (4 semester hours) The objective of this course is to study the fundamentals of photonics. The concepts that are covered in the course include basics of optical science, ray optics, wave optics, beam optics, Fourier optics, electromagnetic optics, polarization of light, guided wave optics, fiber optics, and electro-optics. The applications studied in the course include design of free space optical imaging systems, design of optical waveguides, optical computing, optical sensing, etc. Students also have two workshops on two software packages used in industry to design optical systems. Prerequisites: EECE 3130, EECE 3210.
- EECE 5210 Random Processes (4 semester hours) Studies of the fundamental theories of probability, random variables, and stochastic processes at a level appropriate to support graduate coursework/research and practice in the industry in electrical and computer engineering. Selected topics include basic probability concepts, total probability and Bayes theorems, independence, probability functions, expectation, moments of random variables, multiple random variables, functions of random variables, central limit theorems, basic stochastic process concepts, wide-sense stationary processes, autocorrelation function, power spectral density, and important processes such as Gaussian, Markov, and Poisson. Applications of the theories to engineering and science problems will be emphasized. Both analytical study and simulation work will be carried out. Prerequisite: EECE 4110 or permission of instructor.
- EECE 5211 Digital Signal Processing (4 semester hours) The representation, analysis, and processing of discrete signals are discussed. Topics include sampling, quantization, Z-transform of signal, discrete Fourier and fast Fourier transforms, analysis and design of digital filters, and spectral estimation of random digital signals. Prerequisite: EECE 3210.
- EECE 5240 Digital System Design with VHDL (4 semester hours) Computer aided design of digital VLSI (Very Large Scale Integrated) systems using Very High Speed Integrated Circuits (VHSIC) Hardware Description Language (VHDL). Prerequisite: EECE 3140.
- EECE 5241 Introduction to Digital VLSI Design (4 semester hours) Custom and semi-custom design of VLSI circuits using standard cells, design methodologies of advanced complementary metal-oxide-semiconductor (CMOS) circuits, and simulation of designed circuits will be emphasized. At the end of the semester, circuits designed by the students will be sent for fabrication and tested by the students for functionality. Prerequisite: EECE 3140.
- EECE 5270 Wireless Networks (4 semester hours) This course is an introduction to wireless networks. It is divided into three main parts: wireless communications, computer networking, and wireless networking. The focus is on wireless networking mainly, which covers cellular networks and wireless local area networks. Students will understand the fundamental theories of transmission, antennas, and propagation, be able to identify the sources of received-signal impairments in wireless communication systems, be able to design basic bit and packet error detection and correction techniques, understand the protocol stack in packet-switched networks, and be able to identify the appropriate protocol standards and corresponding wireless-network technologies according to given application scenarios.
- EECE 5998 Special Studies (1-4 semester hours) Electrical Engineering and Computer Engineering majors only.
- EECE 5999 Independent Studies (1-4 semester hours) Electrical Engineering and Computer Engineering majors only.
- EECE 6110 Digital Image Processing (4 semester hours) This course covers the basic and advanced topics related to the techniques and applications of digital image processing (DIP). Topics include DIP fundamentals; edge detection; object shape recognition and classification. Upon completion of this course, the student will learn fundamental theories of digital image processing, practical algorithms of digital image enhancement, recognition and retrieval, and programming skills needed for implementation of DIP algorithms. Graduate standing required.
- EECE 6111 Information Theory and Coding (4 semester hours) The concepts of information measures and channel capacity are introduced. The applications of Shannon theory to evaluate the effectiveness of practical communication links is developed. Error correction coding and its application in reliable communications are emphasized in this class. Graduate standing required. Prerequisite: EECE 5210.
- EECE 6112 Optimization Techniques in Signal Processing (4 semester hours) An introduction to the theory, analysis, and design of optimal signal processing systems in both discrete and continuous time. Topics include spectral factorization, least-mean-square theory and estimation algorithms, linear signal estimation, Wiener and Kalman filtering, linear prediction, spectral estimation, and matched filtering. Access to computer with MATLAB, Python, C/C++, or other high level language compiler for assignments is required. Graduate standing required.
- EECE 6140 Digital VLSI Design (4 semester hours) Topics in computer-aided design of digital VLSI systems. Topics include: custom and semi-custom design, design methodologies of advanced CMOS circuits, and simulation of designed circuits. Circuits designed will be fabricated for testing by student. Graduate standing required. Prerequisite: EECE 5241.
- EECE 6150 Machine Learning (4 semester hours) Machine Learning (ML) amounts to the ability to recognize and react to new patterns of data more or less automatically. In this course, students are introduced to the concepts and methods of ML and tools and technologies that can be used to implement and deploy ML solutions. We will cover methods for supervised ML, whereby human beings are able to guide learning algorithms to improve their effectiveness through feedback and guidance, and unsupervised ML, which is essentially the ability to process data patterns without any examples of what one is looking for. Students will learn to work with the language R, which is rapidly becoming the lingua-franca for data science and ML. We will work through many ML problems in real-world situations, and see how R can be used to implement a solution. We cover many areas of ML application such as spam filtering, pharma, healthcare, and stock market. Graduate standing required.
- EECE 6170 Internet of Things (4 semester hours) This course provides an overview of the loT ecosystem and how value is created with loT products. It is an introduction to key loT concepts and technologies and a survey of important loT companies and their products. Students will learn how to turn ideas into new products that create value for customers. Students will also learn how to work together in cross functional teams, deal with fast, ambiguous, and rapidly changing projects. In addition, students will learn to identify and resolve cybersecurity threats in loT solutions. Graduate standing required.
- EECE 6210 Motion Capture Laboratory (4 semester hours) Students will learn how to set up motion capture systems using two different technologies: (1) infra-red cameras and reflective markers, (2) wearable wireless networks. The motion capture systems will be interfaced to a computer to log all motion-capture data and process it using digital-signal-processing and data-classification algorithms. Graduate standing required.
- EECE 6211 Satellite Communication Systems (4 semester hours) This course provides an introduction to the practical and theoretical analysis of the performance of satellite communications links. Topics in link design, satellite orbit dynamics, antenna gain and coverage, frequency and time division multiple access, component and subsystem nonlinearity, signal format, and error correction coding will be discussed. Graduate standing required.
- EECE 6220 Wireless Communication and Propagation (4 semester hours) Studies of the fundamentals of radio-frequency wireless communications and the associated wave propagation. Topics include concepts of cellular ratio, radio-wave propagation principles, stochastic wireless channels, small- and large-scale fading, propagation models, wideband channel characterizations, fading-combat techniques, orthogonal frequency division multiplexing (OFDM), spatial diversity and multiplexing, and multiple-input-multiple-output (MIMO) technique. Students will perform theoretical analysis based on learned theories, and also carry out simulations by programming in MATLAB, C, or FORTRAN. Graduate standing required.
- EECE 6221 Radar Engineering (4 semester hours) Radar fundamentals will be covered including radar applications, frequency allocation, radar space-time coordinates, target and clutter scattering, radar range performance and signal/target detection and location. Also, waveform and non-coherent/coherent signal processing design and analysis will be treated for targets embedded in various types of clutter. The course will also address simple antenna and transmitter/ receiver design and performance. A sample radar system design problem will be accomplished. Graduate standing required.
- EECE 6230 Analog VLSI Design (4 semester hours) Topics in computer-aided design of analog VLSI systems. Topics include: custom and semi-custom design, design methodologies, and simulation of designed circuits. Circuits designed will be fabricated for testing by student. Graduate standing required. Prerequisite: EECE 5241.
- EECE 6240 Parallel Computing (4 semester hours) Parallel computing is the process of solving computing problems using several processing units simultaneously, which requires breaking a problem into several subproblems that can be solved simultaneously. Students are first introduced to the hardware architecture of many-core and memory systems. Then, students learn how to decompose problems into subparts that can be solved in parallel using Graphical Processing Units and various programming models. The course consists of lectures and laboratory assignments that consider applications in areas such as augmented and virtual reality. Graduate standing required.
- EECE 6250 Deep Learning Applications (4 semester hours) This course will cover deep-learning models, including recursive and convolutional neural networks. The course also covers different areas of applications of deep learning such as natural language processing, speech recognition, and computer vision. A significant component of the course will be a project in which student groups implement a solution using deep learning to real-world problems. Graduate standing required.
- EECE 6260 Applications of Optical Engineering (4 semester hours) The objective of this course is to study applications of photonics in different fields of engineering, medicine and fundamental sciences. The concepts that are covered in the course include optical telecommunication systems, optical amplifiers, photo detection, fundamentals of Lasers and Laser manufacturing, fundamentals of nonlinear optics, and optical signal measurement. The applications studied in the course include ultrafast imaging, ultrafast spectroscopy, Laser Doppler vibrometry, optical coherence tomography, wideband data conversion, optical communications, optical computing, optical sensing, etc. Graduate standing required.
- EECE 6270 Wireless Sensor Networks (4 semester hours) This course is an introduction to the programming and implementation of wireless sensor networks (WSN). This course follows a hands-on approach. For every meeting time, students will receive a short lecture on programming concepts, which will be followed by laboratory assignments. In the lab assignments, students will apply the concepts introduced in the lecture to program wireless sensors with the objective of having them collaborate with each other to form a WSN. Graduate standing required.
- EECE 6901 Graduate Capstone Project I (2 semester hours) Project-based seminar in which students will be required to select, research, write about, and discuss some aspect of a broad area of current interest to electrical and computer engineers. Graduate standing and approval of academic advisor required.
- EECE 6902 Graduate Capstone Project II (2 semester hours) Project-based seminar in which students will be required to select, research, write about, and discuss some aspect of a broad area of current interest to electrical and computer engineers. Graduate standing and approval of academic advisor required.
- EECE 6911 Certificate Capstone Project (2 semester hours) Project-based seminar in which students will be required to select, research, write about, and discuss some aspect of the certificate area of emphasis. Graduate standing and approval of academic advisor required.
- EECE 6994 Thesis I (2 semester hours) Graduate students electing the thesis option must obtain a thesis advisor before departmental consent will be considered and comply with the Frank R. Seaver College of Science and Engineering Master's Thesis Requirements. Credit/No Credit grading Graduate standing and approval of academic advisor required.
- EECE 6995 Thesis II (2 semester hours) Graduate students electing the thesis option must obtain a thesis advisor before departmental consent will be considered and comply with the Frank R. Seaver College of Science and Engineering Master's Thesis Requirements. Credit/No Credit grading. Graduate standing and approval of academic advisor required.
- EECE 6996 Thesis III (2 semester hours) Graduate students electing the thesis option must obtain a thesis advisor before departmental consent will be considered and comply with the Frank R. Seaver College of Science and Engineering Master's Thesis Requirements. Credit/No Credit grading. Graduate standing and approval of academic advisor required.
- EECE 6997 Thesis IV (2 semester hours) Graduate students electing the thesis option must obtain a thesis advisor before departmental consent will be considered and comply with the Frank R. Seaver College of Science and Engineering Master's Thesis Requirements. Credit No/Credit grading. Graduate standing and approval of academic advisor required.
- EECE 6998 Special Studies (1-4 semester hours) Electrical Engineering and Computer Engineering majors only.
- EECE 6999 Independent Studies (1-4 semester hours) Electrical Engineering and Computer Engineering majors only.
Non-EECE Elective Courses
(This list is not exhaustive)
-
This course will provide an understanding of what software architecture is, why we need it and common architectural patterns used in software-intensive systems. It examines architecture from different viewpoints to develop understanding of the factors that matter in practice, not just in theory. It examines two aspects that are specific to the issue of evolving software intensive eco-systems: design of domain appropriate architectures and what it means to be an evolvable architecture.
Semester Hours: 3
-
This course will provide an understanding of what architecture is, why we need it and common architectural patterns used in software-intensive systems. It examines architecture from different viewpoints to develop understanding of the factors that matter in practice, not just in theory. The issue of evolving software intensive eco-systems will be explored, including: design of domain appropriate architectures and what it means to be an evolvable architecture, how architecture fits into the specification of software intensive systems, techniques to visualize software-intensive architectures, and common software architectural patterns and the problems they are designed to address. Key trades for systems implementation will also be discussed, such as: service, object and data oriented design principles, embedded and enterprise architectural solutions, centralized and distributed architectures, and cloud computing architectures.
Semester Hours: 3
-
Systems engineering approach to cybersecurity in modern, highly networked organizations in either the private or public sector. NIST’s formal framework of terms, concepts, and methods to understand the area of cybersecurity. Studies of realistic threat models and vulnerability assessments. Comprehensive coverage of technical foundations for extant technologies and tools available at different levels (host-based or network-based) to provide cybersecurity–anti-virus software, malware detection, intrusion detection/prevention, firewalls, denial of service attack mitigation, encryption, network monitoring, automatic audit tools, to name just a few. Complications in cybersecurity introduced by emerging trends such as mobile devices and cloud computing. As advocated by most security professionals, this course views the problem of devising cybersecurity solutions as a specific kind of risk management problem. Students are taught how to devise the optimal combination of management procedures and controls along with key technologies to address the relevant sets of cybersecurity threats and vulnerabilities for the organization. We will also cover related organizational concerns such as creating a disaster recovery and business continuity plan that can be used to minimize the impact of potential disruptions, including those related to security. The role of cybersecurity as part of the larger domain of Information Assurance and regulatory compliance issues for different types of organizations. ”Best practices” frameworks for security such as OWASP Top 10 and Security Technical Implementation GuideS (STIGS) and resources available from institutions such as CERT, NIST, and SANS. Case studies. From the real world to ground the concepts taught in real-world situations.
Undergraduate degree in Computer Science required.
Semester Hours: 3
-
Theoretical foundations and best practices in software development security. This course will examine the application of security techniques in all phases of the software life cycle (from requirements analysis through deployment and maintenance) with emphasis on writing secure code and application layer security. This course will provide introductions to the various methodologies to increase secure coding awareness and boost code integrity. Topics will cover common malicious attack vectors in application layer vulnerabilities such as SQL injections, Cross Site Scripting (XSS), and those found in the OWASP Top 10 CWE/SANS TOP 25 Most Dangerous Software Errors. The course will cover static and dynamic code analysis and identify tests, environments, tools, and the documentation of findings. As the tools necessary for effectively conducting secure software development activities largely depends on the technology and languages employed, common languages, platforms, development environments and the unique capabilities of each will be addressed.
Semester Hours: 3
Prerequisite: SYEG 560
-
This course covers what is needed at the tactical level to implement an enterprise approach for the protection of information systems by integrating technical controls with policies, best practices, and overall guidelines of cybersecurity. This course is designed to focus on the practical application of the detection and prevention of cyber attacks and to assess and limit the damage through proactive defensive cyber operations. This course examines external and internal security threats, and the risks to business relative to people, processes, data, facilities, and technologies. How to implement and manage effective the major technical components of security architectures (firewalls, virtual private networks, etc.) and selected methods of attacking enterprise architectures also will be addressed. Additional topics include conducting risk assessments and the implementation of mitigations/countermeasures; intelligence reporting, threat/vulnerability analysis and risk remediation; management of a security operations center; incident response and handling; business continuity planning and disaster recovery; security policy formulation and implementation; management controls related to cybersecurity programs; and privacy. legal, compliance, and ethical issues.
Semester Hours: 3
-
This course presents the fundamentals of satellite communications link design. Existing commercial, civil, and military communications systems are reviewed and analyzed, including direct broadcast satellites, high throughput satellites, VSAT links, and Earth-orbiting and deep space spacecraft. Topics include satellite orbits, link analysis, antenna and payload design, interference and propagation effects, modulation techniques, coding, multiple access, and Earth station design. Modules on optical communications and radar are also included.
Semester Hours: 3
-
This course will focus on incorporating an enterprise approach and using sound systems engineering principles in implementing cybersecurity in today’s modern highly complex and interconnected information systems. This course will provide introductions to the various cybersecurity frameworks, standards, and best practices (NIST, COBIT, ISO/IEC, NERC, HIPAA, CIS Critical Security Controls) in use by both government and commercial sectors. We will explore the benefits and limitations of each and provide detailed instruction on developing a cybersecurity risk management program that would be incorporated into an organization’s overall risk profile. Focus of this course will also be placed on reporting cybersecurity metrics and incidents to the board of trustees/directors, the C-suite and other executive leadership. Emphasis will be placed on utilizing the proper business acumen to effectively communicate complex technical cuber problems and challenges. Legal and privacy considerations will be addressed as well as forensics, disaster recovery and incident response planning and management, and security education. The course will cover the importance of third party management and how service level agreements play an integral part in managing risk at the enterprise level. Tabletop exercises, guest speakers and case studies will augment lecture materials on key concepts and principles.
Semester Hours: 3
Prerequisite: SYEG 560 (may be taken concurrently).
-
Introduction to the study of computability and computational complexity. Models for computation such as finite automata, pushdown automata, Turing machines, Post canonical systems, partial recursive functions, and phrase structure grammars. Complexity classes such as P, NP, RP, and NC. NP- Completeness. Efficient algorithms for matrix multiplication and fast Fourier transforms. Approximation algorithms, randomized algorithms and parallel algorithms.
Semester Hours: 3
-
Mechanisms for the definition of syntax and semantics of programming languages, covering binding, scope, type systems, control flow, subroutines and coroutines, asynchronous and parallel execution, modularity, and metaprogramming. Denotational, operational, and axiomatic semantics. Case studies are taken from existing popular languages and virtual machines.
Semester Hours: 3
-
Fundamental concepts in the field of database technology. Database system structure, semantic data modeling. relational, document, key-value, object-oriented, and graph databases. Formal query languages, integrity, normalization, security, physical database design, indexing and hashing, query processing and optimization, transaction processing, concurrency, crash recovery, and current research in the field.
Semester Hours: 3
Prerequisite: CMSI 486 or consent of the instructor.
-
Introduction to the fundamental concepts behind the implementation of human-level intelligence in computer systems. Agent architectures, problem-solving methods, heuristic search, game playing, knowledge representation, frames, inheritance and common-sense reasoning, neural networks, genetic algorithms, conceptual clustering, and current research in the field.
Semester Hours: 3
Prerequisite: CMSI 385 and CMSI 386 or consent of the instructor.
-
Topics at the intersection of cognitive psychology, experimental design, and machine learning, through an examination of the tools that automate how intelligent agents (both human and artificial) react to, learn from, and otherwise reason about their environments. Causal formalizations for higher cognitive processes surrounding the distinction between associational, causal, and counterfactual quantities, as well as advanced topics in causal inference including do-calculus and transportability. Automation of aspects of human and animalistic reasoning by employing modern tools from reinforcement and causal learning, including: Structural Causal Models, Counterfactual Randomization, Multi-armed Bandit Agents, Markov Decision Processes, approaches to Q-Learning, and Generative Adversarial models.
Semester Hours: 3
Prerequisite: CMSI 630 or equivalent.
-
Study of the development of multi-agent systems for distributed artificial intelligence. Topics include intelligent agents, multi-agent systems, agent societies, problem solving, search, decision-making, and learning algorithms in distributed domains, industrial and practical applications of distributed artificial intelligence techniques to real-world problems.
Semester Hours: 3