Embedded Systems and Internet of Things


 With the rapid pace of growth in Internet of Things (IoT) products and applications, there is a pressing need for engineers with unique skills in both hardware and software design.  Earning a Bachelor of Science in Embedded Systems and Internet of Things (ESIOT) from the Clark School of Engineering at the Unviersity of Maryland will train future engineers in both of these fields, with specializations in networks, cybersecurity, and machine learning.  

The cohort-based ESIOT curriculum is designed to be completed in two years at the Biomedical Sciences and Engineering Building (BSE) at the Universities of Shady Grove campus in Rockville, MD. During their junior year,  students focus on foundational knowledge to prepare them for advanced-level topics in their senior year.  

ESIOT Major Course Requirements

The ESIOT major requires a total of 62 credits, with 60 credits completed prior to enrollment in the ESIOT program. Students will take the program required courses in their junior and senior years, in addition to general elective coursework in the second semester of their senior year.  The specific elective course offerings will vary each spring semester. 

Sample Four Semester Plan Course Descriptions

Included Foundational Topics:  

  • Analog Circuitry 
  • Discrete Mathematics
  • Computer Organization 
  • Networks & Protocols 
  • Microelectronics 
  • Introduction to Internet of Things 
  • Coding Languages: C, Python, Java & Verilog 

Included Advanced Topics: 

  • Firmware Development
  • Real-time Operating Systems
  • Network & Hardware Security
  • Embedded Systems-focused Machine Learning
  • Individualized Year-Long Capstone Design Project 
Course Title Credits Prerequisites
ENEB302 Analog Circuits  4 PHYS 260/261, MATH 240, 241 OR 246 
ENEB304 Microelectronics and Sensors  3 ENEB302
ENEB340 Intermediate Programming Concepts and Applications for Embedded Systems (C/C++) 3  
ENEB341 Introduction to Internet of Things  3  
ENEB344 Digital Logic Design for Embedded Systems  4  
ENEB352 Introduction to Networks and Protocols  3 ENEB340
ENEB353 Computer Organization for Embedded Systems 3  
ENEB354 Discrete Mathematics for Information Technology 3 MATH141
ENEB355 Algorithms in Python 3 ENEB340 & ENEB354
ENEB408 Capstone Design Lab I 3  
ENEB409 Capstone Design Lab II 3  
ENEB443 Hardware/Software Security for Embedded Systems 3 ENEB354
ENEB454 Embedded Systems    

ENGL 393
Offered by English Dept. 

Technical Writing    


Course Title Credits Prerequisites
ENEB345 Probability and Statistical Inference 3  
ENEB346 Linear Algebra for Machine Learning Applications 3  MATH140
ENEB444 Operating Systems for Embedded Systems 3 ENEB340 & ENEB344
ENEB451 Network Security 3 ENEB352
ENEB452 Advanced Software for Connected Embedded Systems  3  
ENEB453 Web-Based Application Development 3  
ENEB455 Advanced FPGA Systems Design Using Verilog for Embedded Systems 3 ENEB340 & ENEB344
ENEB456 Machine Learning Tools 3  
ENEB457 Foundations of Databases for Web Applications 3 ENEB345, 352 & 355