A student handling a computer part while another student uses a computer

EECE Courses

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

    Semester Hours: 4

    Prerequisite: MATH 245 or graduating standing

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

    Semester Hours: 4

    Prerequisites: EECE 4110 or graduate standing

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

    Semester Hours: 4

    Prerequisite: EECE 3210

  • Computer aided design of digital VLSI (Very Large Scale Integrated) systems using Very High Speed Integrated Circuits (VHSIC) Hardware Description Language (VHDL).

    Semester Hours: 4

    Prerequisite: EECE 3140

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

    Semester Hours: 4

    Prerequisite: EECE 3140

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

    Semester Hours: 4

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

    Semester Hours: 4

    Prerequisite: EECE 5210 and graduate standing

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

    Semester Hours: 4

    Prerequisite: Graduate standing

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

    Semester Hours: 4

    Prerequisite: EECE 5241 and graduate standing

     

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

    Semester Hours: 4

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

    Semester Hours: 4

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

    Semester Hours: 4

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

    Semester Hours: 4

    Prerequisite: EECE 5241 and graduate standing

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

    Semester Hours: 4

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

    Semester Hours: 4

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

    Semester Hours: 4

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