Build your blueprint.

Structured for depth yet flexible by design, the Master of Engineering program delivers critical knowledge and applied learning to support a range of trajectories in computer science.

Planning your curriculum.

Courses and Credits

The Master of Engineering Program is designed to allow students flexibility in their course choices so they can best tailor their program of study to match both what they are interested in and their post-graduation employment goals. Although there is flexibility, there are several rules and requirements which must be met before a degree is conferred.

 

View Course Catalog

A student must complete a total of 30 credit hours.

  • None of the 30 credits may be counted toward any other degree program.
  • No more than 20 credits can be taken in one semester.
  • At least 28 credits must be taken for a letter grade.
  • Only two S/U credits will be counted towards the degree credit requirement.
  • Courses taken as Audit will not count towards the degree credit and students may only enroll in one audit course per semester.
  • Not every CS course allows AUDIT as a grading option

All non-project credits must be earned from courses that are both "technical" and "advanced".

  • "Advanced" courses include most upper level and graduate-level courses (5000 and above).
  • Many, although not all, 5000 and 6000 level courses offered by the College of Engineering, the Departments of Mathematics, Physics, Chemistry, and the ''Information Systems'' program at the Johnson Graduate School of Management can be considered "advanced." The M.Eng. Curriculum Committee determines whether a course is considered technical.
  • For Computer Science courses, "advanced" courses are numbered 5000 and above.
  • No courses at the 4000 level will be accepted* (*courses taken prior to summer 2021 exempt).
  • For courses co-listed at the 4000 and 5000 levels, M.Eng. students must enroll in the 5000 level version.
  • 5000 level courses co-listed with a 4000 level course will have different expectations.

Three to six (3-6) of the 30 credits must be earned as project credit.

  • Project courses and practicum courses do not count as your M.Eng. Project
    • Additional information on projects can be found here.
    • Project grade must not be lower than a B to count towards project requirement.
    • Project credit will not be counted towards the required 15 CS course credits.
    • No more than 6 credits of project work will be counted towards the 30 credit total.
    • All projects must be accompanied by a written report due on the last day of final exams.
    • All project work must be taken for a letter grade.

At least 15 of the 30 credits must come from Computer Science courses that are not:

  • Seminars/Colloquiums (7000 level classes)
  • Independent studies (CS 5999/7999)
  • CS 5998 will not count as CS Course credit
  • M.Eng. project (CS 5999)
  • A minimum of twenty-eight credits required must be taken for a letter grade.
  • No course with a grade of less than C- will be counted for M.Eng. credit.
  • A grade of B or better is required for all the credits associated with the project.
  • A cumulative GPA of at least 2.5 must be maintained to continue in the program.
  • M.Eng. students must be registered as full-time students (12 credit minimum) while taking courses and completing project work under the course CS 5999.
  • Students are expected to complete the program in two semesters and should plan their schedules accordingly.
  • Students should not expect an extension of their student status for reasons such as continuing a job search, waiting for graduate school decisions, etc.
  • No part-time study is permitted.

Overview

Three to six of the thirty required degree credits must be earned by completing an M.Eng. Project. The M.Eng. Project in Computer Science is defined as the development of a computer science application (software or hardware) useful in exploring and/or solving an engineering problem.

  • Students must enroll in CS 5999, Master of Engineering Project, for 3-6 credits under the section of the supervising faculty member.
  • All projects must be supervised by an authorized Computer Science faculty member or researcher. Authorized supervisors are listed in the Cornell Class Roster under CS 5999.
    • Although students may work with advisors outside of the field of Computer Science, they must have a Computer Science advisor. Project proposals must be approved by the Computer Science advisor in advance to ensure their suitability.
  • All projects must include a final written report.
  • All grades associated with the Project must be B or higher.
  • Joining a faculty member's research group.
  • Further developing a project started within an advanced course, perhaps in collaboration with other students from that course. (Note: project must be done after the course is completed and have substantial new content to be considered a valid "stand-alone" project.
  • Working more one-on-one with a faculty member — this might either be a smaller project or a test-run for a larger initiative.
  • Working as a member of one of the College's large team efforts — there are an increasing number of these relatively high-profile projects.
  • Collaborating with another Engineering department's M.Eng., PhD or faculty program.
  • Providing critical computer science skills to disparate projects across the University.
  • Working on commercial, industrial or government projects — with appropriate coordination of NDAs.
  • Working with other students (typically either CS or JGSM) on exercises which may develop into 'start-ups.'
     
students work on a laptop together and laugh

Entrepreneurship

Entrepreneurship is more than launching start-ups. It’s a mindset — a dynamic approach to problem-solving that’s entirely future-focused.

At Cornell Bowers and throughout the Ithaca community, entrepreneurship is thriving. Here are some great ways to get started:

The CS M.Eng is flexible enough for you to take one or two courses in subjects that support the entrepreneurial mindset.

  • NBA 5070: Entrepreneurship for Scientists and Engineers
  • NBA 5640: Entrepreneurship and Business Ownership
  • NBA 6010: Electronic Commerce
  • STS 6241: Science, Technology, and International Security
  • STS 6261: Seminar in the History of Technology
  • STS 6321: Inside Technology
  • STS 6661: Public Engagement in Science

Electives

You can augment your academic experience by taking courses outside of CS in several different areas. 

  • INFO 5101 Learning Analytics
  • INFO 5200 Information Policy: Applied Research and Analysis
  • INFO 5240 Designing Technology for Social Impact
  • INFO 5250 Surveillance and Privacy
  • INFO 5301 Ethics in New Media, Technology and Communication
  • INFO 5321 Intro to Rapid Prototyping and Physical Computing
  • INFO 5355 Human-Computer Interaction Design
  • INFO 5505 Computing and Global Development
  • INFO 5556 Business Intelligence Systems
  • INFO 6113 Technology and Law Colloquium
  • INFO 6120 Ubiquitous Computing
  • INFO 6140 Computational Psychology
  • INFO 6400 Qualitative User Research and Design Methods
  • INFO 6130  Health and Computation
  • INFO 6230 Games, Economic Behavior and the Internet
  • INFO 6648 Speech Synthesis by Rule
  • INFO 6850 The Structure of Information Networks

View Class Roster 

  • NBA 5070 Entrepreneurship for Scientists and Engineers
  • NBA 5100 Social Entrepreneurship
  • NBA 5150 Leadership Theory and Practices
  • NBA 5380 The Business Idea Factory
  • NBA 5410 Project Management
  • NBA 5600 Demystifying Big Data and FinTech
  • NBA 5640 The Business of Entrepreneurship
  • NBA 5690 Management Consulting Essentials
  • NBA 5770 Entrepreneurship in Creative Industries
  • NBA 6010 Electronic Business (formerly Electronic Commerce)
  • NBA 6070 Designing Data Products
  • NBA 6120 Disruptive Technologies
  • NBA 6130 Women and Leadership​
  • NBA 6145 AI Strategy and Applications
  • NBA 6390 Data-Driven Marketing
  • NBA 6920 Machine Learning Applications in Business
  • NBA 6921 Artificial Intelligence for Marketing Strategy

View Class Roster

  • OR&IE 5140 Model Based Systems Engineering
  • OR&IE 5270 Big Data Technologies
  • OR&IE 5300 Optimization II
  • OR&IE 5310 Optimization II
  • OR&IE 5350 Introduction to Game Theory
  • OR&IE 5500 Engineering Probability and Statistics II
  • OR&IE 5510 Intro to Engineering Stochastic Processes I
  • ORIE 5581 Monte Carlo Simulation
  • OR&IE 5600 Financial Engineering with Stochastic Calculus I
  • OR&IE 5610  Financial Engineering with Stochastic Calculus II
  • OR&IE 5640 Statistics for Financial Engineering
  • OR&IE 5740 Statistical Data Mining I
  • OR&IE 5741 Learning with Big Messy Data
  • OR&IE 6500 Applied Stochastic Processes
  • OR&IE 6741 Bayesian Machine Learning

View Class Roster

  • ECE 5412 Bayesian Estimation and Stochastic Optimization
  • ECE 5420 Fundamentals of Machine Learning
  • ECE 5470 Computer Vision
  • ECE 5660 Computer Networks and Telecommunications
  • ECE 5620 Fundamentals of Data Compression
  • ECE 5630 Information Theory for Data Transmission, Security and Machine Learning
  • ECE 5670 Digital Communications
  • ECE 5710 Datacenter Computing
  • ECE 5720 Introduction to Parallel Computing
  • ECE 5725 Design with Embedded Operating Systems
  • ECE 5740 Computer Architecture
  • ECE 5750 Advanced Computer Architecture
  • ECE 5772 Autonomous Mobile Robots
  • ECE 5780 Computer Analysis of Biomed Images

View Class Roster

  • CEE 5980 Decision Framing and Analytics
  • CEE 5900 Project Management
  • CEE 5930 Data Analytics

View Class Roster

  • MAE 5180 Autonomous Mobile Robots
  • MAE 5750 Robotic Manipulation
  • MAE 5810 Robot Perception

View Class Roster

  • STSCI 5065 Big Data Management and Analysis
  • STSCI 5740 Data Mining and Machine Learning

View Class Roster

  • ENGMT 5900 Project Management
  • ENGMT 5930 Data Analytics
  • ENGMT 5980 Decision Framing and Analytics

View Class Roster

  • BME 5780 Computer Analysis of Biomed Images

View Class Roster

  • SYSEN 5400 Theory and Practice of Systems Architecture
  • SYSEN 5860 Quantum Computing and Artificial Intelligence
  • SYSEN 6880 Industrial Big Data Analytics and Machine Learning
  • SYSEN 6888 Deep Learning

View Class Roster

  • STS 6241 Science Technology and International Security
  • STS 6321 Inside Technology
  • STS 6661 Public Engagement in Science

View Class Roster

Course Enrollment and Offerings

Course enrollment is handled electronically through the Student Center. Enrollment happens four times a year — once at the start of each semester and once in the middle of each semester.

About one-third through the fall and spring semesters students have the opportunity to pre-enroll for the following semester. We highly recommend pre-enrolling, as these numbers are used to arrange for appropriate course staff and classroom accommodations.

Adjustments can be made to all pre-enrollment schedules during the official ADD/DROP period at the start of the semester.

You can add/drop courses at the start of each semester (when students can enroll in courses and drop courses they no longer want).

  • Advisor approval is not required for adding courses.
  • Department approval is required.
  • You should plan your courses carefully to create a well-balanced and manageable schedule that allows for graduating after two semesters.
  • The ADD period lasts for approximately three weeks followed by an additional four weeks to DROP courses.
    • Any changes to credit hours or grading options should be done prior to the end of the ADD period.
    • Any late "adds" done after the ADD period ends, will require a petition..
    • After the DROP period ends students can petition to drop a course, however, they will be given a "W" on their transcripts marking the late withdrawal.
    • The course enrollment petition is required for any changes made after the add period has ended. The form is available on the College of Engineering Registrar Forms page.

 View courses available to M.Eng. students on the Cornell Class Roster.

The Johnson Graduate School of Management (JGSM) has a registrar separate from the university registrar and consequently, their course enrollment is done differently.

  • You should read the enrollment rules for each JGSM course you wish to take, including the deadlines for dropping the course.
  • If you have enrollment questions email gm-registrar [at] cornell.edu.

PE courses have special enrollment conditions and their add/drop deadlines may differ from other University courses. Fees may also be associated with the courses depending on equipment needs and other factors. Find all the information about PE classes here: https://pe.cornell.edu/policies 

Current Student FAQs

Yes, provided they are both "technical" and "advanced". More information can be found along with a list of pre-approved non-CS courses. Note that at least 15 credits must be CS courses; not counting any project courses, seminars or courses not taken for a letter grade.

M.Eng students are allowed to enroll in no more than 20 credits in a semester.

Yes, you can take up to 9 credits of MEng courses at Cornell to count toward your M.Eng. degree. These course credits cannot be counted for any of your undergraduate requirements. There is a petition form you need to fill out to "transfer" these credits towards your CS MEng program.

Currently, we are only permitted to admit students into a two-semester program. We understand that some students wish to stay for an additional semester to establish a greater breadth and depth of knowledge, however, we cannot approve an extension at this time.