Our Embedded Systems (EMBS) Graduate program is designed for students who wish to pursue industrial jobs in automotive, aerospace, defense, and consumer electronics, as well as for practicing engineers in the embedded systems industry who want to gain knowledge in state-of-the-art tools and theories. The core topics span embedded control, real-time operating systems, model-based design and verification, and implementation of embedded systems.
Applicants are expected to have a strong academic background in both computer science and electrical engineering. All EMBS candidates must be confident working at both the hardware and software levels of the stack. EMBS is a multi-disciplinary field, but we understand that not all incoming students may have the background required in certain areas. While we do not have prerequisites for admission, it is highly recommended that your undergraduate coursework covered the basics of both C/C++ and Java programming, computer architecture, operating systems, and algorithms. Work experience and practical project experience in the domain of Cyber-Physical Systems a plus.
Basic Technical Skills
Hardware
- Basic circuit analysis
- Fundamentals of LCR circuits and active components
- Familiarity with micro controller programming and development
- Basics of signal processing - filter design and implementation
Software
- Data Structures
- basics of analysis of algorithms, space and time complexity, arrays, linked lists, recursion, stacks and queues, lists and iterators in Java, maps, dictionaries, hashing, sets, trees, graphs
- basics of analysis of algorithms, space and time complexity, arrays, linked lists, recursion, stacks and queues, lists and iterators in Java, maps, dictionaries, hashing, sets, trees, graphs
- Software Design
- software testing, design patterns, software architectures, graphics programming, multithreading, synchronization
- software testing, design patterns, software architectures, graphics programming, multithreading, synchronization
- Systems Programming
- data structures in C, threads and synchronization, C memory management, serial communication and networking
- data structures in C, threads and synchronization, C memory management, serial communication and networking
- C++ Programming
- object-oriented programming, operator overloading, templates
- object-oriented programming, operator overloading, templates
- Operating Systems Concepts
- process management, scheduling, caching, virtual memory
Application Requirements
- All applications for engineering graduate programs must be submitted online. Details about the application requirements can be found here.
- Applicants for Master's and Doctoral programs must have obtained a bachelor's degree from an accredited school or university prior to your intended matriculation date.
- All materials, such as transcripts, official test scores (i.e. GRE and TOEFL scores issued by ETS), certifications, letters of recommendation, etc. must be submitted with the application or shortly thereafter.
- Submission of standard GRE scores is required. Our GRE Institution Code is R 2888.
Application Deadline
- February 1
Additional Resources
- Graduate Student Fellowships & Aid | Learn about funding options for MS students in our department
- Penn Engineering Admission FAQ | Find answers to frequently asked questions
- EMBS Student Projects | Watch videos highlighting students' class projects
- Graduate Student Handbook | Read about our degree requirements in detail
- Master’s Degree Tuition | How to Pay for Your Education
- Campus Tour | Visit Penn Engineering
Voices of Penn Engineering Master's Alumni