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 provide your official Academic Accommodations letter when completing your registration. We will work with our proctors to accommodate your needs. In some cases, this may mean rescheduling your exam.

Winter 2024 Exemption Exam Dates & Registration

Exam Dates

Exemption exams will be offered in-person in either the Brendan Iribe Center (IRB) or the Computer Science Instructional Center (CSI). 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 at 10:00 am (location TBD).

  • Friday, January 5
  • Friday, January 12
  • Monday, January 22
  • Tuesday, January 23
  • Friday, January 26

      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 taken between May and early August will be graded within two weeks. Exams taken in late August will be graded within 3-4 business days.
      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 pass the class with at least a C- in order to meet the Computer Science gateway and benchmark requirements. For example, if a student places out of CMSC132 via their exemption exam score, they may still choose to enroll in CMSC132 with no penalty. Their exemption exam score would become void and they would need to pass CMSC132 with a C- or greater. If they receive a grade lower than C-, they would need to repeat the 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

      Registration for winter exemption exams will open by December 15, 2023. Please check back in December to access the registration form.

      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), and log 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 course descriptions below to help you review the topics covered in each exam.

        CMSC131: Object Oriented Programming I

        Format: Handwrite code, define terms
        Winter 2024 Passing score:

        • Students will need to receive 70%+ on both Part I and Part II of the CMSC131/132 Exam in order to place out 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

        Winter 2024 Passing score:

        • Students will need to receive 70%+ on 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 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
        Winter 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
        Winter 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