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

Information about the Fall 2021 Exemption Exam for ES2.


October 15th, 2021 at 1:30pm (during Friday “exam block”). Exam typically happens during a Friday afternoon in mid-October.

Date: Friday, October 15th, 2021
Time: 1:30pm to 2:30pm (one hour exam)
Format: VIRTUAL (see Exam Format section below for details)

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 stay updated on information leading up to the exam, and contact Ethan Danahy ( with questions or concerns.

ES2 Exemption Exam Content:

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.

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 include:

  • Data Manipulation: converting data to appropriate formats for analysis
  • 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.

Exam Format (Fall 2021)

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

Exam Date/Time: the exam will be on Friday, October 15th, 2021 at 1:30pm (during the block-schedule Exam Block). The exam is a “one hour” exam (so technically 1:30pm to 2:30pm).

The following is a Practice Exam that provides example questions similar in scope, scale, and content to those found on the exam (although the exam will be shorter in length, so be completed in one hour):

Download Example Practice Exam Here

See Practice Exam for same instructions that will appear in the actual exam.

ES2 Exemption Exam Download:

The exam is no longer available for download.

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), there will be an online browser-based CodingRooms Classroom available (see information about using CodingRooms Classrooms). Or you can use If you are coding in Matlab and a student within School of Engineering, you have access to the Engineering Virtual Lab that has Matlab installed.

Submitting Your Solutions: 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 using Tufts password/Tufts two-factor authentication).

Submit solutions here:

Real-Time Help During the Exam: During the exam itself (Friday Oct 15th, 2021 at 1:30pm), if you need assistance you should join the following Zoom session where Prof. Danahy will be available to answer questions about the content of the exam or solve real-time technical issues you might have.
(Meeting ID: 950 5498 1319, Passcode: 650018)

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:

  • Your assigned faculty advisor
  • Dean Jennifer Stephan (Dean of Academic Advising and Undergraduate Studies, SOE)
  • Dean Chris Swan (Dean of Undergraduate Education, SOE)

Do I need to take the exam?

Q: I am in COMP15 (by permission of instructor) but did not take COMP11.
A: If a degree requires COMP11, but you did not take COMP11 (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 COMP11 requirement, and any degree that requires “COMP11 or ES2” will then be satisfied (and you don’t need ES2 nor to take the Exemption Exam). If your degree requires “COMP11 and ES2” then you still need to satisfy the ES2 requirement, either by taking the ES2 course or taking the Exemption Exam for ES2.

Q: In high school I took a AP CS course, have AP CS credit, or took the AP CS Exam.
A: 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.

Q: I am a transfer student and took an equivalent to the COMP11 course at another institution before coming to Tufts.
A: 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 COMP11 or ES 2 and is then used to satisfy the computation requirement as detailed on your major’s degree sheet, 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.)