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
These two intro classes are combined into one exam. You should take this exam if you wish to place out of CMSC131 or CMSC131 & CMSC132. 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.
- 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 ADS Office. You must register with ADS at https://counseling.umd.edu/ads/prospective. Email scheduling [at] cs [dot] umd [dot] edu with your Accommodation Letter as soon as possible, and no later than three business days prior to your exam date. We will work with our proctors to accommodate your needs. In some cases, this may mean rescheduling your exam.
Winter 2023 Exemption Exam Dates & Registration
Exam Registration
Exemption exams will be offered in-person in IRB 0318 (Gannon Auditorium), which is located on the ground floor of the Brendan Iribe Center. You must arrive at least ten minutes early and must bring your student ID or another form of valid photo ID (e.g. Driver's License, Military ID, Passport) with you. You will be given 2 hours to complete the exam.
Exams will be offered at the following times in Winter 2023:
- Monday, January 23 at 9:30am
- Monday, January 23 at 1:30pm
- Tuesday, January 24 at 9:30am
- Tuesday, January 24 at 1:30pm
- Thursday, January 26 at 5:00pm
- Friday, January 27 at 3:00pm
Submit this form to register for an exemption exam. 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), 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.
Terms of Agreement and Honors Pledge
- Students will have two hours to complete the exam. 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.
- It may take up to one week to grade your exam. 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.
- 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.
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 2023 Passing score: 70%+ on Parts I and II of the CMSC131/132 Exam
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 and While and Do 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 2023 Passing score: 70%+ on Parts I, II, and III of the CMSC131/132 Exam
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
- 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 2023 Passing score: 80% +
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.
- 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 2023 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