Placement Exams

Placement exams are a key component of the MPCS onboarding process, designed to ensure students are matched with coursework that aligns with their existing knowledge and skills. All incoming students to the MS in Computer Science should plan to take placement exams before beginning their studies.

If you are a new student without any programming background, you can opt to begin in the Immersion Program without taking exams. Please make sure you understand that these immersion classes are prerequisite classes and will be taken in addition to your courses required for graduation. In some cases, this will extend your time in the program and could limit the core courses you can take in your first quarter in the program.

Important Notes

  • Placement exams are held before each quarter begins and may only be taken once.
  • Non-MPCS students approved to take MPCS courses must also pass the relevant placement exams. The required exams will be noted in your approval email from the MPCS Course Request Form.
  • Students requiring exam accommodations must register with the Student Disability Services (SDS) office.

Winter 2024 MPCS Placement Exam Schedule

  • Programming Exam I: December 16-17, 2024 (Online)
  • Programming Exam II: January 4-5 (Online)
  • Discrete Math Exam:
    Thursday, December 12, 10am-12pm (In-Person)
    Monday, January 6, 3-5pm (In-Person)

Programming Exam Registration

Discrete Math Exam Registration

Registration forms will open in November. 

Placement Exam Overviews

Programming Placement Exam Overview

The MPCS offers a sequence of placement exams to assist with correct course placement for new MPCS students. An overview of the exams can be found below. Non-MPCS students interested in taking MPCS classes may be required to take one or both of these exams to be eligible to take a class. 

Additional details on the exams and practice problems are found in separate Canvas sites. New MPCS students and those approved to take MPCS classes will be added to the required Canvas site. 

Important notes on exams:

  • The Programming placement exam is offered ahead of every quarter. New MPCS students will be required to take this exam before beginning the program. Non-MPCS students will be eligible to take the exam if approved for a MPCS class.
  • Students are allowed to take the exam once. i.e., if you do not pass the exam at the main sitting, you are not allowed to retake the exam at subsequent sittings. 
  • Students without any background in programming can opt out of the exam and instead take MPCS 50101 Concepts of Programming as their first course in the program. Taking MPCS 50101 Concepts of Programming will extend the time to graduation for most MPCS students.
  • For new MPCS students, passing the MPCS Programming Exam I will allow for course placement into MPCS 51042 Python Programming or MPCS 50136 Java Programming. For advanced course placement, the second programming exam is required. 

An overview of topics and format are found below:

The MPCS Programming Exam I (“MPCS Exam 1”) will test the material that students must know before taking a Core Programming class in the MPCS. This exam will cover the following topics:

  • Programming Basics (e.g., values, types, expressions, and control flow)
  • Functions and Recursive Functions
  • Object Oriented Programming (defining classes, methods, etc.)
  • Data Structures (e.g., lists, sets, dictionaries) and Simple Recursive Data Structures (i.e. trees)

Exam Format

This exam will be offered online, and may be taken in C++, Java, or Python. It is intended to evaluate students’ grasp of concepts, not their fluency with any specific programming language.

Once a student starts the exam, they will have 120 minutes to write programs that solve four programming problems of varying difficulty. Students will be expected to make progress on all four problems to pass the exam.

You will submit your solutions through the Gradescope platform, which will run your code, including testing your code with a variety of inputs. We provide detailed instructions on how to use this platform in the Canvas site. We also provide several practice problems, and a practice exam, to help you familiarize yourself with the exam platform.

The exam will be open-book and open-Internet with some limitations. While students will be allowed to consult any online documentation, they must cite any resources used by including the relevant information in a comment in their code. Students are also expected to solve the problems themselves. A student who gets help from a friend or family member or who uses a tool, such as ChatGPT, violates the exam’s academic honesty policy.

New MPCS students who pass MPCS Exam I will have the option to take MPCS Exam II. This second exam, offered at a later date, will allow for advanced course placement.

MPCS Programming Exam II covers the following topics:

  • Programming Basics (e.g., values, types, expressions, and control flow)
  • Functions and Recursive Functions
  • Object Oriented Programming (classes, inheritance, etc.)
  • Data Structures (e.g., lists, sets, dictionaries) and Recursive Data Structures (e.g., trees, graphs)
  • Software Development (e.g., design, testing)
Discrete Math Placement Exam Overview
Students with a background in Discrete Math can take the placement exam to waive MPCS 50103 Mathematics for Computer Science: Discrete Math. MPCS 50103 is a prerequisite for MPCS 55001 Algorithms. In order to take MPCS 55001 Algorithms, students must pass the Discrete Math placement exam or take MPCS 50103. Students without a background in Discrete Math do not have to take the MPCS mathematics exam and should plan to enroll directly in MPCS 50103 Mathematics for Computer Science: Discrete Math.
  • PLACEMENT EXAM CAN BE TAKEN ONLY ONCE. 
  • Students who have previously taken MPCS 50103 are not eligible to take the math placement exam.
  • All new MPCS students MUST take the placement exam OR enroll in MPCS 50103 Mathematics for Computer Science: Discrete Math
  • Non-MPCS students will need to pass the Discrete Math placement exam for approval to register for MPCS 55001 Algorithms. Students who have taken CMSC 27100 may be given a waiver for the exam. Course request approvals will include information about required exams.
STUDY MATERIALS:
To pass the exam students should have good working knowledge of all (or most) of the exercises on the Topics List (below). These exercises are from Discrete Mathematics and its Applications – 7th Edition, Rosen. Specific exercises may or may not appear on the actual exam. 
 
Scroll to Top