This page is for a previous semester (Fall 2022). Please visit this page to select a more recent semester to find updated details.

Information about the Exemption Exam for ES2 for Fall 2022.

Logistics of the Exemption Exam for ES2

Date/Time: Wednesday, October 19th 2022 from 12pm to 1pm (during the Tufts Open-Block)
Duration: one hour
Format: Virtual (e.g. complete independently, on your own, on your own computer, and submit results/solutions digitally)

Note: if you have a conflict or if you have accommodations that affect that logistics presented above, please email Prof. Ethan Danahy at so he can address and present you with a modification or alternative setup. (To help facilitate communication, please include “ES2 Exemption Exam” as part of your email subject.)

Use this form to “register” (optional) and stay updated on information leading up to the exam, and contact Ethan Danahy ( with direct questions or concerns.

Content of the Exemption Exam for ES2

The Exemption Exam for ES2 is designed to identify students for whom taking ES2 would not be beneficial to their education (e.g. they already have had significant prior exposure to the content of the ES2 course). See the section below for more details of the ES2 requirement based on major at the bottom of this page.

See more about the overall course content for ES2 to understand the topics covered in the course.

Exam Programming Language: You (the exam taker) can choose to answer the exam questions in the language of your choice (e.g. based on your own background and strengths). When taking the exam you should pick a language (see list below) and then answer all the questions using the appropriate syntax and programming structures for that language. All code (files) you create for answering the exam questions will be in that language.

  • – Matlab
  • – C
  • – C++
  • – Java
  • – Python

Exam Topics: The exam mostly tests programming basics (user input of data, assignment statements, use of variables and variable types, program control statements, logical and relational conditions, loops, arrays, functions and sub procedures, use of common intrinsic functions, and formatting program output) and the application of those basics to solve typical engineering problems. These higher-level concepts include:

  • Data Manipulation: converting data to appropriate formats for analysis and evaluation
  • Data Analysis: doing statistical analysis on data sets
  • Simple Modeling: modeling systems (physical or theoretical) in code
  • Quantifying Error: identifying and minimizing error in a solution

Note that the purpose of the exam is to demonstrate the above (programming basics and ability to solve problems) and thus evaluation of the exam looks at your demonstration of those (understanding how the syntax and language is used as well as your algorithmic thinking as applied to the problems). As such, it is NOT required that you have perfect code that executes and performs flawlessly, so it is more important that you demonstrate the above (your overall coding and thinking abilities) than obsess over the minutia and exact details of any particular solution. In fact, some exam questions may be written so that it’s actually impossible for you to actually test your code (e.g. “assume you have a sensor that gives you a stream of data…”), in which case you should focus on the concepts and computation vs exact syntax/compiling/execution.

Format of the Exemption Exam for ES2

The Fall 2022 Exemption Exam for ES2 is a VIRTUAL exam. You will need to work on and complete the exam on your own (independently, remotely) and submit your solutions (code files) electronically at the end of the exam.

Exam Date/Time: the exam will take place on Wednesday October 19th, 2022 from 12pm to 1pm (during the Tufts Open Block). The exam is a “one hour” exam in duration.

The following is a Practice Exam that provides example questions similar in scope, scale, and content to those found on the exam (although more examples are presented here; the actual exam will be shorter in length, so it can be completed within one hour):

Email Ethan Danahy for copy of Practice Exam

See Practice Exam for same instructions that will also appear in the actual exam to understand completion and submission requirements.

Exemption Exam No Longer Available Online


Coding IDE (Integrated Development Environment): you are welcome to use whatever coding environment with which you are familiar (software on your computer, online system, etc).

– If you are using C, C++, Java, or Python (e.g. not Matlab) and need an IDE, you can use an online browser-based environment like CodingRooms Classroom or Replit. If you haven’t used these previously, make sure you create an account, log in, and are familiar with the interface before the exam.

– If you are coding in Matlab and are a student within School of Engineering, you have access to either the web-based online version of Matlab or the Engineering Virtual Lab that has the desktop version of Matlab installed.

Submitting the Exemption Exam for ES2

When you are finished with the exam (e.g. you have created code for solving each presented problem), you will submit your code (either as a single ZIP file or as separate files for each question) via the following Google Form.

Note that you *must* log in with your email and verify your identity using Tufts password/Tufts two-factor authentication. (Do NOT “request access” via your personal Google account. Access to this form is open for all Tufts users, so please use your account to access it.)


Use your Google Account to access

Once you submit, you are done. You do NOT need to check in with anyone unless you have issues or concerns.

Real-Time Help During the Exam: During the exam itself, if you have questions or need assistance, you should join the following Zoom session where Prof. Ethan Danahy will be available to answer questions about the content of the exam or solve real-time technical issues you might have. YOU DO NOT need to join this Zoom Room; this is only if you have issues or concerns.


Meeting ID: 959 5113 7624
Passcode: 997182

Details of ES2 Requirement

As a degree requirement, the Tufts School of Engineering has a computing requirement (and majors within the School of Engineering satisfy this with COMP11 and/or ES2, depending on major). Students should check their major (or intended major(s)) and see if ES2: Introduction to Computing in Engineering is a degree option or requirement. If necessary, an exception may be granted to those students who can demonstrate proficiency in the ES2 course material.

For more details on particular majors for particular class years, please visit the Engineering Degrees webpage.

If your major/degree sheet requires ES2, and you pass the Exemption Exam for ES2, you are exempted from the ES2 requirement, but the test is worth zero credits towards graduation. Thus, students needing the ES2 requirement on their degree sheet will still need to replace the ES2 requirement with another appropriate course that equivalently fills that required spot on their degree sheet.

For any questions regarding the ES2 requirement, major degree sheets, or selecting appropriate classes, please contact one of the following:

Do I need to take the Exemption Exam for ES2?

The following are some questions we have received in the past regarding the Exemption Exam for ES2.

QUESTION: I am in CS 15 (by permission of instructor) but did not take CS 11.

ANSWER: If a degree requires CS 11, but you did not take CS 11 (as in case above), then you need to petition to substitute a new course for the missing course. This petition should be filed once you determine the substitution course (not before) at some point before you graduate. Once that petition is approved, then you have satisfied the CS 11 requirement, and any degree that requires “CS 11 or ES2” will then be satisfied (and you don’t need ES2 nor to take the Exemption Exam). Note: if your degree requires “CS 11 and ES2” then you still need to satisfy the ES2 requirement, either by taking the ES2 course or taking the Exemption Exam for ES2.

QUESTION: In high school I took a AP CS course, have AP CS credit, or took the AP CS Exam.

ANSWER: We do not accept HS AP CS coursework, credits, or exam scores as an alternative to ES2 or the Exemption Exam for ES2. Therefore, you still need to either take ES2 or the Exemption Exam for ES2 to satisfy the ES2 requirement.

QUESTION: I am a transfer student and took an equivalent to the CS 11 course at another institution before coming to Tufts.

ANSWER: A course transferred to Tufts from another institution will appear on your Tufts transcript as a Tufts equivalent course. If the course transfers in as CS 11 or ES 2 and is then used to completely satisfy the computation requirement as detailed on your major’s degree sheet (see notes above about “CS 11 or ES 2″ vs “CS 11 and ES 2″), then you do not need to take ES2 nor the Exemption Exam for ES2.

For more information about the Exception Exam for ES2, please contact Professor Ethan Danahy ( who will be administering the exam. (To help facilitate communication, please include “ES2 Exemption Exam” as part of your email subject.)