External New Student Exemption Exams

Exemption Exam Information

Exemption exams help determine the proper placement of undergraduate students into Computer Science courses before their first semester at the University of Maryland. Academic credit is not awarded for exemption exams. Permission to register for subsequent courses will only be given once an exam is taken and passed with a satisfactory score. There is no cost associated with taking a Computer Science exemption exam. Exemption exams are intended to test knowledge acquired from coursework, and we recommend against attempting them based on self study.

We offer exemption exams for the following CMSC courses (see the Undergraduate Catalog for course descriptions):

  • CMSC131/132: Object Oriented Programming I and II
    The CMSC131/132 exam is combined into three parts. If you are only attempting to place out of CMSC131, you only need to complete Part I and Part II. If you are attempting to place out of CMSC131 and CMSC132, you must complete Part I, Part II, and Part III.

    If you scored a 5 on the AP Computer Science A exam, you will earn academic credit for CMSC131, so you should only take this exam if you wish to place out of CMSC132. You must complete all three parts.
  • CMSC216: Introduction to Computer Systems
    In order to take the CMSC216 exemption exam, you must either have transfer credit for CMSC132 OR you must first take the CMSC131/132 exam. If you take the CMSC131/132 exam but do not score high enough to place out of CMSC132, then your CMSC216 exam will not be graded.
  • CMSC250: Discrete Structures
    Any qualifying student may take the CMSC250 exemption exam. You do not need to take the CMSC131/132 or CMSC216 exam first.

If you have any questions regarding exemption exams, email scheduling [at] cs [dot] umd [dot] edu. Please provide at least 48 hours for a response.


Computer Science exemption exams are open to all new incoming UMD undergraduate students, in all colleges and majors. This includes all new freshmen, external transfer students, and post-baccalaureate students who earned their first Bachelor’s degree at another institution. Post-baccalaureate students who earned their first Bachelor’s degree at UMD are welcome to take exemption exams unless they have already attempted CMSC 131, 132, 216, and/or 250 at UMD.

Current University of Maryland students, including internal transfers to the Computer Science major, are not eligible for exemption exams.

Please contact scheduling [at] cs [dot] umd [dot] edu if you have any questions about your eligibility.


If you have accommodations for a learning disability, you will need to submit an official Accommodation Letter from the UMD Accessibility and Disability (ADS) Office. You must register with ADS at https://counseling.umd.edu/ads/prospective. It may take some time for this to be processed, so please do this as soon as possible. You will be required to upload your official Academic Accommodations letter when completing your registration. We will work with the ADS Office to schedule your exam. In some cases, this may mean rescheduling your exam.

Summer 2024 Exemption Exam Dates & Registration

Exam Dates

Exemption exams will be offered in-person in the Brendan Iribe Center (IRB). You must arrive at least ten minutes early and must bring a valid photo ID (e.g. UMD Student ID, Driver's License, Military ID, Passport) and a pencil with you. If you are taking the CMSC131/132 exam, you will be given 2.5 hours. If you are taking the CMSC216 or CMSC250 exam, you will be given 2 hours.

Exams will be offered on the following dates. Additional dates during the last week of August will be added later this summer.

  • Friday, May 3 at 1:00 pm in IRB 1116
  • Wednesday, May 22 at 10:00 am in IRB 1116
  • Thursday, May 30 at 3:00 pm in IRB 0318
  • Tuesday, June 4 at 3:00 pm in IRB 0318
  • Thursday, June 6 at 3:00 pm in IRB 3137
  • Tuesday, June 11 at 3:00 pm in IRB 0318
  • Tuesday, June 18 at 3:00 pm in IRB 0318
  • Friday, June 21 at 3:00 pm in IRB 0318
  • Tuesday, June 25 at 3:00 pm in IRB 0318
  • Thursday, June 27 at 3:00 pm in IRB 0318
  • Tuesday, July 9 at 3:00 pm in IRB 0318
  • Thursday, July 11 at 3:00 pm in IRB 0318
  • Tuesday, July 16 at 3:00 pm in IRB 0318
  • Thursday, July 18 at 3:00 pm in IRB 0318
  • Tuesday, July 23 at 3:00 pm in IRB 0318
  • Wednesday, July 31 at 3:00 pm in IRB 0318
  • Thursday, August 8 at 3:00 pm in IRB 1116
  • Friday, August 16 at 3:00 pm in IRB 0318
  • Tuesday, August 20 at 3:00 pm in IRB 0318
  • Wednesday, August 21 at 3:00 pm in IRB 0318
  • Friday, August 23 at 9:00 am in IRB 0318
  • Friday, August 23 at 1:00 pm in IRB 0318
  • Monday, August 26 at 5:00 pm in IRB 0318
  • Tuesday, August 27 at 1:00 pm in IRB 4105

    Terms of Agreement and Honors Pledge

    1. Students will have two and a half hours for the CMSC131/132 exam and two hours for the CMSC216 and CMSC250 exams. If you are not able to complete the exam in the allotted time, you must turn in the exam as-is.
    2. Students may only attempt each exemption exam one time, and may only take one exam per time slot. All exams must be taken prior to the start of the student's first semester here at UMD.
    3. Exams will be graded within 1-2 weeks. Exams taken during the first week of classes will be graded within 3-4 business days so that there is enough time for students to adjust their registration during the schedule adjustment period.
    4. Students will be notified of their results via their registered UMD email (TERPmail).
    5. Students may not review their exam once it has been submitted for grading.
    6. Students who pass the exemption exam may still decide to enroll in the course they've placed out of if they wish to do so. This would not be counted as a repeated course. However, at that point the exemption exam score becomes void and they must complete the class with a grade of C- or higher to move on to the next CMSC course.
    7. Regarding Academic Integrity:
      • The University of Maryland takes academic integrity matters seriously. Students completing an exemption exam are expected to complete the exam without using any additional resources (e.g., code from the web, notes, etc.) Remember that it is in your best interest to complete exams following the above guidelines, otherwise you might be placed in a course where you might not be successful. 
      • After taking an exam, you may not disclose, post, nor distribute any information about the exam. Providing this information represents an academic integrity violation and will be reported as such. We appreciate your cooperation on this matter.
      • Cases of suspected cheating or misconduct (e.g., false identification) during the exam will be reported immediately to the Honor Council within the Office of Student Conduct.

    Exam Registration

    The registration form is linked below. Please note:

    1. You must submit a form for each exam you plan to take.
    2. You must register at least one business day prior to your exam date.
    3. In order to access the form, you must first activate your UMD Directory ID by going to https://identity.umd.edu and clicking on the “Activate Account” button (if you have questions, refer to #3 on the Admitted Student Checklist). Make sure you are logged in to your TERPmail account. If you still have trouble accessing the form, make sure you are logged out of all other Google accounts or try opening the form in a private/incognito window.


      How to prepare:

      Please review the information below to help you review the topics covered in each exam.

      CMSC131: Object Oriented Programming I

      Format: Handwrite code, define terms
      Summer 2024 Passing Score:

      • Students need to receive 70%+ on Part I and 70%+ Part II of the CMSC131/132 Exam in order to place out of CMSC131.
      • Students who receive 70%+ on Part I only will receive permission to register for CMSC133, a 2-credit course that covers the same material as the second half of CMSC131

      Practice Problems
      Preparation Notes
      Topics covered:

      • Hardware/Software/Java Terminology
      • Continue/break in loops
      • Recursion
      • Roundoff error
      • Primitives and Arithmetic and Logical Operators
      • Java String and StringBuffer
      • Conditional statements
      • For, while, and do-while loops
      • Arrays, Arrays as Parameters
      • Object Oriented Concepts
      • Mutable-vs-Immutable types, Reference/Shallow/Deep Copies
      • Generics, Interfaces, ArrayList
      • Objects
      • Exception Handling
      • JUnit Testing

      CMSC132: Object Oriented Programming II

      Format: Handwrite code, define terms

      Summer 2024 Passing score:

      • Students need to receive 70%+ on each of the three parts (Part I, Part II, and Part III) of the CMSC131/132 Exam in order to place out of CMSC132.

      Preparation Notes
      Topics covered

      • Topics listed under CMSC131
      • Object-oriented software development
      • Requirements & specifications
      • Designing objects & classes
      • Testing
      • Inheritance
      • Binary Search Trees
      • Algorithms & data structures
      • Asymptotic efficiency
      • Lists, stacks, queues
      • Trees, heaps
      • Sets, maps, graphs
      • Java Hash Code Contract
      • Programming skills
      • Java collection framework
      • Threads, synchronization

      CMSC216: Introduction to Computer Systems

      Note: You will need take the CMSC131/132 exam or have confirmed transfer credit for CMSC131 and CMSC132 prior to taking the CMSC216 exam. If you do not place out of CMSC131 and CMSC132, you cannot place out of CMSC216.
      Format: Handwrite code, define terms
      Summer 2024 Passing score: 70%+
      Preparation Notes
      Topics covered:

      • Unix Memory Model
      • Moving from Java to C programing
      • Pointers and dynamic data structures in C
      • I/O, standard libraries
      • Testing
      • Assembly Language (Y86) and Assembly Y86 Resources 
      • Process control
      • Systems programming
      • Program measurement and optimization
      • Multithreaded programming with pthreads
      • Libraries and linking
      • Dynamic memory management

      CMSC250: Discrete Structures

      Format: Define terms, problem solve
      Summer 2024 Passing score: 80%+
      Topics covered:

      • Propositional logic, circuits, and predicate logic
      • Elementary number theory
      • Countability
      • Summations/recurrences
      • Induction (weak, strong, structural, constructive)
      • Sets, Venn diagrams, Cartesian products, powersets
      • Counting and combinations
      • Functions and the pigeonhole principle
      • Relations, reflexivity, symmetry, and transitivity
      • Graph theory
      • Boolean algebra
      • Combinatorics