MADS placement tests
After you’re admitted to the Master of Applied Data Science program, you’ll take a placement test to determine your starting point in the program. If you have completed certain programming coursework, you may be eligible to receive a standard placement waiver.
You can choose from two placement tests, based on your current Python skills:
Standard placement
The standard placement test takes about one hour to complete. You can prepare using the University of Michigan’s Python 3 Programming Specialization, a low-cost online course series, as a resource.
This test evaluates foundational Python knowledge, including:
- Variables and data types: int, float, str. mutable vs immutable
- Arithmetic, boolean, and comparison operators
- Lists: create, index, slice, update, append, sorting, list comprehensions
- Dictionaries: create key-value pairs, retrieve, update
- Functions: built-in functions such as print, len, sum; defining and calling user-specified functions with parameters and return values
- Input/Output: input(), print() formatting
- Classes and objects
- JSON processing
- Control flow: if-elif-else, for and while loops, basic exception handling
- Error recognition and debugging: predict simple script output, understand code flow, and detect common pitfalls: e.g. error due to no return result, variable type mismatch, index out of bounds
With standard placement, you’ll begin the MADS program with the introductory course SIADS 500: Data-Oriented Python Programming and Debugging, building a strong foundation in Python before moving into more advanced coursework.
Advanced placement
The advanced placement test usually takes about one hour to complete. You can prepare using the Data-Oriented Python Programming and Debugging Specialization, a low-cost online course series. Since the advanced placement test is based on assignments from this course series, applicants who have already completed the specialization can submit their existing solutions for this test.
This test requires a deeper knowledge of Python, data manipulation and basic statistics, including:
- Preparing data for analysis using pandas and numpy libraries, including reading data from a file into a DataFrame, removing missing values, converting data types, renaming columns, and reformatting tables to meet requirements.
- Data transformation operations with pandas and numpy, such as filtering, grouping, shuffling, sampling, aggregating, and mutating, including the ability to plan and execute compound sequences of transformations to achieve an analysis goal.
- Basic statistical methods, including calculating and interpreting summary statistics about a dataset, properties of probability distributions, and basic significance testing.
- Strategies for debugging more advanced workflows.
If you earn advanced placement, you’ll enter the MADS program with four credits awarded toward your 38-credit degree, allowing you to skip the introductory course SIADS 500: Data-Oriented Python Programming and Debugging.
Interview
Video description: Two people talk on a Zoom video call and discuss lines of code within a test environment. Text reads: Part 5: Statistical Significance Testing, Test whether the difference is in average order value between two regions is statistically significant. Lines of code are displayed.
The advanced placement test is paired with a 30-minute Zoom interview with a member of the UMSI enrollment team. The interview schedule will unlock automatically once you have passed the assessment.
The interview has two purposes:
- To confirm you understand the “why” behind your coding choices
- To confirm you have programming knowledge at the level demonstrated on the test
You will be asked to explain a subset of the work you submitted. Additional follow-up questions (e.g., how your code might change if X happened, or how you might approach rewriting your code if Y was a new requirement) should be expected and will depend in part on the work submitted.
AI policy
You may not use GenAI tools, including ChatGPT, CoPilot, or other assistive generative technologies, while completing your placement test. This requirement helps us accurately assess your programming skills, allowing us to find the right starting point for you.