From one of the first professional schools of engineering in the U.S., Thayer School of Engineering at Dartmouth
Complete the program on the schedule that suits your needs (approximately 15-17 hours per week, per course)
Weekly live sessions, lecture videos, hands-on projects, and connection with instructors and peers
Pay only for courses you enroll in per term ($4,900 each)
In Dartmouth’s Master of Engineering in Computer Engineering (MEng-CE) program, you will learn to engineer the sensing and computing components of intelligent systems, machines that interact with the world via a combination of sensing, computing, and actuation. You will master skills essential for the fields of virtual/augmented reality, autonomous robots, self-driving cars, AI virtual assistants, and wearable/implantable devices to help you stay ahead in this rapidly evolving field.
Each course acts as a building block, paving your path towards mastery in computer engineering. The carefully curated curriculum will empower you with a deep understanding of how intelligent systems interact and transform our world.
As a student, you can also expect live interaction with Dartmouth faculty including weekly live sessions. These interactions will be offered twice during each week, at different hours, to accommodate for different learner time zones. There will also be group work within the curriculum, as well as live office hours with faculty throughout your online experience.
You will achieve the program learning objectives over nine required courses that make up the degree program. There is some flexibility in the order in which you take the courses, but some courses have prerequisite courses within the program. Signal Processing and Machine Learning must be taken early on in the program (within the first three courses). The capstone, Smart Sensors, must be taken last. We also recommend that you take Embedded Systems early in the program.
All nine courses have been freshly designed and updated to reflect the most current engineering challenges facing the industry. In every course, students will work in teams to tackle projects, structuring their learning to mirror real-life industry practices and trends, such as two-week sprints resulting in specified project deliverables.
The nine courses fall into the following broad groups:
Extracting Information from Data
Machine Learning (must be taken early)
Signal Processing (must be taken early)
Applied Natural Language Processing (Prerequisites required: Signal Processing and Machine Learning)
Machine Vision (Prerequisites required: Signal Processing and Machine Learning)
Deep Learning for Sensor Data (Prerequisites required: Signal Processing and Machine Learning)
Hardware for Intelligent Systems
Embedded Systems (recommended to be taken early)
FPGA Architecture and Algorithms (ideally, taken after Embedded Systems)
Distributed Computing
Capstone
Smart Sensors (must be taken last, Distributed Computing may be taken concurrently)
In this detailed overview, you will gain a deeper understanding of machine learning, laying the foundations for other courses in the program. With a heavy emphasis on practical application, this course will teach you essential data preparation techniques, foundational statistics, linear/logistic regression, decision trees, neural networks, kernel machines, and various unsupervised learning models.
This course will be primarily taught using Python, with some additional use of MATLAB.
The mathematical theories that underpin the discipline of signal processing are presented and used in applied settings, allowing you to analyze, optimize, and adjust a wide range of data and signals. You will learn topics such as sampling, signal filtering, noise reduction, data compression, the discrete Fourier transform (and fast Fourier transform), Fourier analysis, and feature extraction. Modeling a random signal as a stochastic process is used to investigate the analysis and processing of signals from a statistical viewpoint.
You will learn about the different types of hardware platforms, software tools, and techniques used in the design of embedded systems. Focusing particularly on the application of microcontrollers, you will learn how to design, program, test, and debug embedded systems. You will develop hardware-level device drivers for connected sensors, implement real-time data processing, and work with communications interfaces.
Pre-requisites: Students should be familiar with the C language, digital logic concepts, and Boolean/hexadecimal number representation. If you need to brush up on your C programming, you can take Dartmouth’s C Programming with Linux Specialization, also offered on Coursera.
Building on the knowledge gained through the Signal Processing and Machine Learning courses*, here you will learn the basics of natural language processing (NLP) - the linguistic theories underpinning it, the techniques and challenges that define the NLP landscape, and both the current and developing tools used to implement it. You will also gain a deeper understanding of the principles governing the development of generative AI models.
*This course must be taken after taking both Signal Processing and Machine Learning.
In this course, you will take concepts of machine learning and signal processing* learned earlier in the program, and learn how these tools can be used to allow computers to extract high-level understanding from visual content. You will trace the development of machine vision capabilities, from traditional machine vision tools through to the latest neural network algorithm functionality.
*This course must be taken after taking both Signal Processing and Machine Learning.
In this course, you will learn how to use FPGA architecture and algorithms for deep neural network learning. You will gain an overview of the specialized hardware devices being used to implement deep neural networks across a broad range of industries and applications, and why FPGA systems are the natural choice in many of these instances.
This course* focuses on the challenges and methods involved in processing sensor data as it streams, as opposed to static datasets. You will learn about the ways that streaming data is pre-processed, filtered and interpreted, and how cumulative meaning and context can be continually extracted from the data stream.
You will learn about the specific types of neural networks used to process this kind of data, and the real-world challenges such as latency that affect how we use sensors.
*This course must be taken after taking both Signal Processing and Machine Learning.
In this class, you will learn how different code needs to be implemented and executed across a variety of platforms, keeping in mind the different capabilities of these platforms, their requirements, and their limitations.
In this final course, you will apply everything you’ve learned and work with your peers on a larger-scale, ‘Smart Sensors’ project. Your instructors will aim to scaffold your learning by breaking down the project into stages, based on the different subject areas you’ve already covered.
Previous ‘Smart Sensors’ projects have required students to plan, design, and create a mobile sensor device for biomedical application, incorporating multiple course threads such as signal processing, sensor data processing, and NLP keyword processing.
The priority application deadline is May 15th! Submit your Fall 2025 application before that date to get your application fee waived!
Stay tuned
The priority application deadline is May 15th! Submit your Fall 2025 application before that date to get your application fee waived!
Stay tuned