Build the broad foundation every strong software engineer needs, including programming, algorithms and computer architecture through the ECE software engineering master’s track. Duke’s curriculum is intentionally structured to help you progress from core technical skills to more specialized electives in areas such as security, mobile development or databases.
Note: Courses are subject to change based on availability.
To earn a master’s in ECE focused on software engineering (MS or MEng)
10
Courses
Build depth in programming, systems and computer systems
Industry Connections
Learn from instructors with industry experience and alumni working at major software companies
Customize Your Degree
Flexible pathways allow you to tailor your curriculum for industry or research
Why Choose the Software Engineering Track?
Duke ECE’s Software Engineering track is designed to help you become a stronger, more versatile software engineer. In an era when AI tools make it easier than ever to generate code, real engineering judgment is essential. Duke’s structured curriculum helps you build that foundation, specialize in the areas that fit your goals, and prepare for industry roles that value those skills.
Build a broad foundation in software engineering: Rigorous coursework in programming, algorithms, systems and computer architecture helps you understand how software works across the full computing stack.
Follow a curriculum designed for master’s students: This track is intentionally structured to build from core skills to advanced electives, giving you a clearer path than programs built mostly from research-focused PhD courses.
Develop judgment in the age of AI: As AI tools streamline code generation, software engineers still need to know how to evaluate, test, debug and optimize systems that must work reliably in practice.
Specialize in high-value areas of computing: After building a strong foundation in your first year, tailor your studies toward areas such as security, mobile development, human-centered computing, performance optimization and other advanced software topics.
Learn from faculty with industry experience: You’ll study with faculty members who have real-world software experience and active industry connections.
Software Engineering Track Curriculum
Graduates must take a minimum of 10 required graduate level courses (30 credits) and the first-year seminar.
ECE 551D* (Programming, Data Structures, and Algorithms in C++) or ECE 751D (Adv. Programming, Data Structures, and Algorithms in C++)
ECE 651 (Software Engineering)
*If you believe your programming skills are good enough to bypass ECE 551D please fill out the application quiz (Deadline August 1). Your answers will be reviewed, and you will be contacted after the deadline. If approved, you may take ECE 751 if it is offered. If we are not able to offer 751 and you receive a waiver for ECE 551, then you may replace this requirement with a course from the Systems or Computing categories.
ECE 550D (Fundamentals of Computer Systems and Engineering)
ECE 552 (Advanced Computer Architecture I)
ECE 554 (Fault-Tolerant and Testable Computer Systems)
ECE 652 (Advanced Computer Architecture II)
ECE 553 (Compiler Construction)
ECE 558 (Advanced Computer Networks)
ECE 560 (Computer and Information Security)
ECE 565 (Performance Optimization & Parallelism)
ECE 566 (Enterprise Storage Architecture)
ECE 567 (Cyber-Physical System Design)
ECE 568 (Engineering Robust Server Software)
ECE 650 (Systems Programming and Engineering)
ECE 655L (Full-Stack IOT Systems)
COMPSCI 510 (Operating Systems)
COMPSCI 512 (Distributed Systems)
ECE 555 (Probability for Electrical and Computer Engineers)
ECE 564 (Mobile Application Development)
ECE 653 (Human-Centered Computing)
ECE 654 (Edge Computing)
ECE 656 (Cryptography)
ECE 661 (Comp. Eng. Machine Learning & Deep Neural Nets)
590 in CE (Advanced Topics in ECE – must be in Computing: advisor’s approval required)
COMPSCI 516 (Database Systems)
COMPSCI 527 (Computer Vision)
COMPSCI 570 (Artificial Intelligence)
Any course from the systems category above, not used to satisfy other requirements
MS students choose three electives, and MEng students choose one elective from the following list:
Any other course in the software engineering study track not already used to satisfy another requirement
ECE 899 (Independent Study) in a relevant topic with faculty agreement required (max 2)
Any other graduate-level course with advisor approval
Ungraded research (3 credits for optional MS project, 6 credits for optional MS thesis)
ECE 701S (weekly seminar required for first-year master’s students)
MEng 540 (Management of High Tech Industries)
MEng 570 (Business Fundamentals for Engineers)
Internship (0 credits), typically completed in the summer between first and second years
MS students have three options to complete their requirements.
Coursework only (30 credits) with poster session
Coursework (27 credits) + capstone project (3 credits of ungraded research or independent study ECE 899)
Coursework (24 credits) + thesis (6 credits of ungraded research or independent study ECE 899)
Hear From Our Alumni
The Duke ECE master’s program opened the path to the exact career I wanted. It gave me the skills, the expertise, and networking to start strong in industry.
Pat PensabeneMEng ECE (Software Engineering), 2014, Software Engineer at Nvidia
The program at Duke really helped me grow my computer science and computer engineering foundation and gave me the skills to enter industry.
Siyu ChenMEng ECE (Software Engineering), 2020, Software Engineer at Netflix
Beyond the coursework, the Duke alumni network has been an incredible resource. They were very generous with their time, agreeing to coffee chats, providing referrals, and even conducting mock interviews with me, all of which were crucial in my job search.
Jingheng HuanMS ECE (Software Engineering), 2026, Software Engineer at Bloomberg
Careers in Software Engineering
All Duke ECE master’s students have access to professional development support, faculty mentorship and career advising as they prepare for roles in industry or further graduate study. MEng students complete an industry internship and take core courses in management and business fundamentals designed to strengthen career readiness.
Associate Director of Undergraduate Studies, Associate Professor of the Practice in the Department of ECE
Frequently Asked Questions (FAQs)
A software engineering master’s can prepare you for software engineering roles across a wide range of industries. Duke ECE graduates from this track have gone on to work at companies such as Google, Amazon, Meta, Netflix and NVIDIA in sectors including big tech, internet services and digital media.
In Duke ECE’s software engineering track, you’ll build skills in programming, algorithms, systems and computer architecture. You’ll also learn how to evaluate, test, debug and optimize software systems, then tailor your studies through electives in areas such as security, mobile development, human-centered computing and performance optimization.
A software engineering degree focuses more directly on building reliable, efficient software systems through structured training in programming, systems and software design. Although a computer science degree may be broader or more theory-oriented, Duke ECE’s software engineering track emphasizes engineering practice, the full computing stack and preparation for industry roles in modern software development.
This website uses cookies as well as similar tools and technologies to understand visitors' experiences. By continuing to use this website, you consent to Duke University's usage of cookies and similar technologies, in accordance with the Duke Privacy Statement.
Cookie Preferences
Manage your cookie preferences below:
Essential cookies enable basic functions and are necessary for the proper function of the website.
Name
Description
Duration
Cookie Preferences
This cookie is used to store the user's cookie consent preferences.