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.
Eligibility
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.
Accommodations
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.
Winter 2025 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:
- Friday, January 17 at 10:00 am in IRB 4105
- Friday, January 24 at 10:00 am in IRB 4105
- Monday, January 27 at 10:00 am in IRB 4105
- Tuesday, January 28 at 10:00 am in IRB 4105
Terms of Agreement and Honors Pledge
- 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.
- 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.
- 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.
- Students will be notified of their results via their registered UMD email (TERPmail).
- Students may not review their exam once it has been submitted for grading.
- 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.
- 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:
- You must submit a form for each exam you plan to take.
- You must register at least one business day prior to your exam date.
- 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.
REGISTER FOR AN EXEMPTION EXAM HERE
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
Winter 2025 Passing Score:
- Students need to receive 70%+ on Part I and 70%+ on 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 2025 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
Winter 2025 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
- Please contact the CS Department at scheduling [at] cs [dot] umd [dot] edu for login credentials (for registered CMSC216 exam students only)
- Please note that it is not the same assembly covered by the preparation notes above.
- Y86 simulators are available online. Some examples are:
https://dept-info.labri.fr/ENSEIGNEMENT/archi/y86js_v2/
https://y86.js.org/
https://boginw.github.io/js-y86-64/ -
The Assembly language instructions you need to be familiar with are here.
- 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 2025 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