Master's Degree in Computer Engineering

About: The mission of the computer engineering program, consistent with the Missouri S&T campus mission statements, is the education of students to fully prepare them to provide leadership in the recognition and solution of society’s problems in computer engineering.

This program is multidisciplinary. Specialization areas of study include Digital Systems Design, Electrical Engineering, Embedded Computer Systems, Systems, Intelligence, and Software Engineering — topics include computational intelligence, computer networks, dependability, fault tolerance, image processing, neural networks, and system security/survivability.

Term: Typically about 3 years

Inquire Today

Today's the day to advance your career with our in-person or distance programs, conveniently located in St. Louis.

Inquire

  • Requirements
  • Course Information

Requirements

A Master of Science non-thesis program consists of:

  • A minimum of 30 credit hours of coursework.

Course Information

{{ course accordions import here }}

Courses

Description

An introduction to cluster analysis and clustering algorithms rooted in computational intelligence, computer science, and statistics. Clustering in sequential data, massive data, and high dimensional data. Students will be evaluated by individual or group research projects and research presentations. Prerequisite: At least one graduate course in statistics, data mining, algorithms, computational intelligence, or neural networks, consistent with the student's degree program.

Learning Objective

  1. Understand the fundamental concepts of clustering in data analysis.
  2. Evaluate and compare various clustering algorithms.
  3. Apply clustering techniques to real-world systems engineering problems.
  4. Analyze and interpret clustering results.
  5. Implement clustering algorithms in Python or another programming language.

Course Content

  • Introduction to Clustering
  • Data Preprocessing
  • Distance Metrics
  • Partitional Clustering
  • Hierarchical Clustering
  • Density-Based Clustering
  • Advanced Topics in Clustering
  • Clustering in Systems Engineering

Course Evaluation Criteria

  • Research Assignments and Presentations
  • Final Project

Description

Development of hardware and software for embedded systems, including real-time operating systems, advanced programming, communication schemes, hardware peripherals and sensors, control methodologies, printed-circuit board design, interrupts, microcontrollers, and hardware-software co-design.

Learning Objective

  1. Understand Embedded System Fundamentals
  2. Master Microcontroller and Microprocessor Architecture
  3. Learn Programming for Embedded Systems
  4. Explore Real-Time Operating Systems (RTOS)
  5. Design Hardware Peripherals and Interfaces
  6. Implement Control Methodologies
  7. Master Printed-Circuit Board (PCB) Design
  8. Comprehend Interrupt Handling and Exception Handling
  9. Explore Hardware-Software Co-Design
  10. Apply Practical Embedded System Design Skills
  11. Evaluate and Debug Embedded Systems

Course Content

  • Hardware and software embedded systems
  • Microcontrollers and Microprocessors
  • Embedded System Testing and Debugging 
  • Hardware peripherals and sensors
  • Control methodologies
  • Printed-circuit board design.

Course Evaluation Criteria

  • Assignments 
  • Midterm Exam
  • Final Project

Description

Digital system modeling for simulation, synthesis, and rapid system prototyping. Structural and behavioral models, concurrent and sequential language elements, resolved signals, generics, configuration, test benches, processes, and case studies.

Learning Objective

  1. Understand Digital System Modeling: Gain a comprehensive understanding of digital system modeling and its importance in computer engineering.
  2. Learn Modeling Techniques: Learn various modeling techniques for digital systems, including structural and behavioral models.
  3. Explore Language Elements: Explore concurrent and sequential language elements used in digital system modeling.
  4. Master Resolved Signals: Understand the concept of resolved signals and their significance in modeling.
  5. Utilize Generics: Learn how to use generics to create flexible and reusable models.
  6. Develop Test Benches: Learn to create effective test benches for simulation and verification.
  7. Hands-on Experience: Gain practical experience by working on modeling projects and case studies.

Course Content

  • Structural Modeling and Behavioral Modeling
  • Language Elements and Generics and Configurations
  • Test Benches and Processes in Digital System Modeling

Course Evaluation Criteria

  • Assignments
  • Final Project

Description

Introduction to the principles, subsystems, and architectures of quantum computing. Topics include architectural and general considerations of quantum systems that are suitable for parallel computing applications using a rule-based approach.

Learning Objective

  1. Understand the fundamental principles of quantum mechanics and their relevance to quantum computing.
  2. Describe the key components and subsystems of a quantum computer.
  3. Analyze various quantum computing architectures and their applications.
  4. Apply a rule-based approach to quantum computing problem-solving.
  5. Evaluate the potential advantages and limitations of quantum computing for specific tasks.

Course Content

  • Quantum Mechanics Fundamentals (Overview of classical vs. quantum computing)
  • Quantum Algorithms
  • Quantum Hardware
  • Quantum Software and Programming
  • Quantum Architectures
  • Quantum Parallelism and Rule-Based Computing

Course Evaluation Criteria

  • Quizzes and Assignments 
  • Midterm Exam
  • Final Project

Description

This course introduces the mathematical and computational foundations of game theory, and its applications to computer science (e.g., cybersecurity, robotics, and networking). Topics include decision rationality, game representations, equilibrium concepts (e.g., Nash equilibrium), Bayesian games, dynamic games, cooperative game theory, and mechanism design.

Learning Objective

  1. Understand the Foundations of Game Theory
  2. Analyze and Represent Games
  3. Identify and analyze other equilibrium concepts, such as mixed Nash equilibrium and subgame perfect equilibrium.
  4. Discuss applications of game theory in computer science, including cybersecurity, robotics, and networking.
  5. Analyze scenarios involving incomplete information and information asymmetry using Bayesian games.
  6. Analyze strategies in dynamic Games and Sequential Decision-Making
  7. Evaluate and solve cooperative games 

Course Content

  • Introduction to Game Theory
  • Game Representations
  • Nash Equilibrium (Pure vs. Mixed Strategies, Solving for Nash Equilibrium)
  • Bayesian Games (Bayesian Games in Network Security, Bayesian Stackelberg Games)
  • Dynamic Games (Subgame Perfect Equilibrium, Evolutionary Game Theory)
  • Cooperative Game Theory (Coalitional Games, The Core and Shapley Value)
  • Mechanism Design

Course Evaluation Criteria

  • Assignments and quizzes
  • Midterm exam
  • Final project

Description

This course examines basic issues in network management, testing, and security; it also discusses key encryption, key management, authentication, intrusion detection, malicious attacks, and insider threats. Security of electronic mail and electronic commerce systems is also presented.

Learning Objective

  1. Understand fundamental concepts of network security.
  2. Identify common security threats and vulnerabilities in computer networks.
  3. Implement security measures to protect network infrastructure and data.
  4. Analyze and design secure network architectures.
  5. Demonstrate knowledge of encryption, authentication, and intrusion detection techniques.
  6. Evaluate and address security concerns in electronic mail and e-commerce systems.
  7. Develop effective strategies for mitigating insider threats.

Course Content

  • Network Vulnerabilities and Threats
  • Network Authentication and Access Control
  • Encryption and Cryptography
  • Network Intrusion Detection and Prevention
  • Network Security Technologies
  • Email and E-commerce Security
  • Insider Threats and Security Policies

Course Evaluation Criteria

  • Assignments 
  • Term project
  • Final Exam

Description

Introduction to wireless communications and networking. Topics include transmission fundamentals, wireless channels, coding techniques and error control, satellite and cellular networks, cordless systems, mobile IP and management, multiple access techniques and wireless protocols, wireless LAN, IEEE 802.11, and ad-hoc and sensor networks.

Learning Objective

  1. Understand the fundamentals of wireless communication and networking.
  2. Analyze the characteristics of wireless channels and transmission.
  3. Learn coding techniques and error control methods in wireless networks.
  4. Explore satellite and cellular networks.
  5. Understand cordless systems and mobile IP management.
  6. Study multiple access techniques and wireless protocols.
  7. Examine wireless LAN standards, with a focus on IEEE 802.11.
  8. Explore the concepts of ad-hoc and sensor networks.

Course Content

  • Wireless Transmission Fundamentals
  • Wireless Channel and Coding
  • Satellite and Cellular Networks
  • Cordless Systems and Mobile IP
  • Multiple Access Techniques and Wireless Protocols
  • Wireless Local Area Networks (LAN)
  • Adhoc and Sensor Networks

Course Evaluation Criteria

  • Quizzes and Assignments 
  • Term project
  • Final Exam

Description

This course provides an introduction to robotics, covering robot hardware, fundamental kinematics, trajectories, differential motion, robotic decision-making, and an overview of current topics in robotics.

Learning Objective

  1. To introduce students to the fundamental concepts and components of robotic systems.
  2. To provide hands-on experience with programming and controlling robots.
  3. To explore mathematical foundations, including kinematics and trajectories.
  4. To develop problem-solving and decision-making skills for robotics applications.
  5. To examine current advancements and emerging trends in robotics.

Course Content

  • Robot Hardware
  • Kinematics and Motion
  • Trajectories and Path Planning (Robot motion simulation)
  • Differential Motion (Wheel encoders and odometry)
  • Robotic Decision-Making (Robot perception and environment modeling)
  • Robot Control
  • Robot Programming
  • Emerging Trends in Robotics

Course Evaluation Criteria

  • Assignments 
  • Midterm Exam
  • Final Project

Description

An introduction to cluster analysis and clustering algorithms rooted in computational intelligence, computer science, and statistics. Clustering in sequential data, massive data, and high dimensional data. Students will be evaluated by individual or group research projects and research presentations. Prerequisite: At least one graduate course in statistics, data mining, algorithms, computational intelligence, or neural networks, consistent with the student's degree program.

Learning Objective

  1. Understand the fundamental concepts of clustering in data analysis.
  2. Evaluate and compare various clustering algorithms.
  3. Apply clustering techniques to real-world systems engineering problems.
  4. Analyze and interpret clustering results.
  5. Implement clustering algorithms in Python or another programming language.

Course Content

  • Introduction to Clustering
  • Data Preprocessing
  • Distance Metrics
  • Partitional Clustering
  • Hierarchical Clustering
  • Density-Based Clustering
  • Advanced Topics in Clustering
  • Clustering in Systems Engineering

Course Evaluation Criteria

  • Research Assignments and Presentations
  • Final Project

Description

Engineering Systems of today are non-linear, distributed, global, and adaptive to their environment in both space and time, thereby creating emergent behaviors. This course covers the current modeling tools and techniques used in modeling and architecting these complex systems.

Learning Objective

  1. Define complex systems and recognize their characteristics, including non-linearity, distribution, global interactions, and adaptability.
  2. Explore various modeling paradigms (e.g., agent-based, system dynamics, network theory) used for representing complex systems.
  3. Learn how to apply appropriate modeling techniques to different types of complex systems.
  4. Identify and analyze emergent behaviors in complex systems and explain how they arise from interactions among system components.
  5. Examine the architectural principles and design patterns used in modeling complex systems.
  6. Develop skills in simulating complex systems and validating models against real-world data.

Course Content

  • Principles of system modeling (Types of models: mathematical, computational, and conceptual)
  • Discrete-event simulation vs. continuous simulation
  • Network Theory and Graph Models (Graph-based models for complex systems; Topology analysis and network properties)
  • Agent-based modeling (Agent behaviors and interactions; Applications in modeling adaptive systems and AI)
  • Dynamic Systems and Control Theory
  • Machine Learning for Complex Systems
  • Model Validation and Verification

Course Evaluation Criteria

  • Assignments and quizzes
  • Term project
  • Final Exam