To prepare for the fast-paced M.S. in Data Science (MSDS) program, we require all entering MSDS students — Residential and Online — to refresh their programming skills in Python and R. This programming requirement may be met through completion of our boot camps or passing the challenge assessments, or a combination depending on your background and skillset. Certificates of Completion for both Python and R are due:
- Spring Entry: Jan. 5
- Fall Entry: Aug. 1
You will receive an email with access information within 1-2 days of paying your enrollment deposit.
Python and R Boot Camps
We offer self-paced, asynchronous boot camps in Python and R to set you up for success from day one. Boot camps are free for enrolling students, though they may be completed in advance if you plan to apply and are missing the programming prerequisite for your application; learn more on our Professional Programs page.
The Python boot camp has 5 modules and R has 3 modules; each module takes an average of 8 hours to complete. You have unlimited attempts to pass each module.
You must pass all modules within the boot camp to earn the certificate of completion. Once you complete the boot camp, your will be emailed your certificate; upload this to your portal.
Already have high proficiency in Python and/or R? Take the Challenge Assessment(s)
The assessments each have two parts: a knowledge test and a coding test, and both parts must be passed with an 80% or higher to be exempt from the boot camp requirement. On the assessments:
- If you earn 80% or higher on both the knowledge test and coding test portions of the assessment, you are exempt from the boot camp for that topic. Once you pass the assessment, you will be emailed your certificate of completion; upload this to your portal.
- If you earn 79% or lower on one or both portions of the assessment, you must complete the programming boot camp for that topic.
You have one attempt to challenge out of the boot camps; allow 1-2 hours to complete each assessment. The assessment results will be graded by the instructor and then posted to Canvas Connect within a few business days.
Certificates of Completion
You will receive a Python Certificate of Completion and R Certificate of Completion when you complete all modules within the boot camp(s) or if you pass the challenge assessment(s). All certificates will be sent your email; upload this to your portal by the deadline for your cohort.
If you do not upload your certificates by the deadline, you will not be permitted to enroll in classes in your first term. We recommend you take the assessments at least two months in advance of the deadline to allow yourself plenty of time to complete the module(s), if needed.
If you have questions, use the "Inbox" feature of Canvas Connect to send a message to the instructor. If you have questions about deadlines or accessing your portal, email sdsadmissions@virginia.edu.
The following knowledge, skills, and abilities will be included in the programming boot camps:
Python Boot Camp
Basic Programming Concepts
Working from the Command-line
- Distinguish between major operating systems.
- Recognize the command line of a Unix-family operating system.
- Use basic shell commands for navigating and modifying directories and files.
Git and GitHub
- Distinguish between Git and GitHub.
- Perform basic Git operations, such as clone, add, commit, push, and pull.
- Perform basic GitHub operations, such as repository creation, fork, pull request, and fetch upstream.
Programming Editors
- Be able to use a standard programming editor, such as VS Code or JupyterLab, for coding Python and RStudio for R.
Python
Python Basics
- Determine which version of Python you are using on a machine.
- Locate where the Python interpreter is installed on a machine.
- Use the print function.
- Write a simple “Hello, World!” .py file.
- Execute a Python program file from the command line.
- Read and write files from disk within a program.
Variables, Data Types, and Data Structures
- Describe and use Python’s basic data types: integers, floats, booleans, strings, and complex numbers.
- Define literal representations of each data type.
- Cast data from one type to another.
- Inspect the data type of a variable.
- Describe and use Python’s built-in data structures: lists, dictionaries, tuples, and sets.
- Describe and use the basic operators associated with each data type and structure.
- Initialize new data structures.
- Define the difference between mutable and immutable data structures.
- Add and remove data from mutable data structures.
- Perform variable interpolation with Python strings.
Syntax and Grammar
- Write valid variable names.
- Assign values to variables.
- Define expressions and statements.
- Use proper indentation for code blocks.
Control Structures
- Write for-loops, while-loops, and describe their general use cases.
- Employ conditional logic statements that return boolean values and structure program flow.
- Define exit conditions of for- and while-loops.
- Use the proper keywords to break out of loops and skip iterations.
- Use list, dictionary, and set comprehensions for compact looping.
- Create and use iterators.
Functions
- Access common built-in functions, such as print and open.
- Import Common libraries, such as math and random.
- Import and alias attributes (function, classes, variables) from a module.
- Create user-defined functions.
- Understand variable scope, including global, local, and nonlocal.
- Create and use lambda functions.
- Understand general design principles for functions.
- Recognize and write a recursive function.
NumPy
- Describe key features of NumPy array design.
- Recognize NumPy data types.
- Perform basic array indexing, slicing, and broadcasting.
- Perform boolean indexing.
- Perform fancy indexing.
- Perform basic arithmetic operations with arrays.
- Understand and perform universal and vectorized functions.
Pandas
- Describe key features of Pandas DataFrame and Series design.
- Understand role of indexes in Pandas data structures.
- Perform indexing using loc and iloc.
- Perform column selection and creation.
- Apply vectorized functions to Pandas data structures.
- Reshape, transpose, stack, unstack Data Frames.
- Summarize Pandas Data Frames with value counts and groupby.
R Boot Camp
R Basics
- Use RStudio to edit and run R programs.
- Understand the essential differences between R and Python syntax.
- Understand R’s rules for naming variables.
- Describe and use R’s basic data types: logical, character, integer, float, and complex.
- Assign values to variables with R’s assignment operator.
- Understand the difference between R’s assignment operator and assigning values to parameters in functions.
- Describe and use R’s basic data structures: vector, matrix, list, and dataframe.
- Extract values from data structures with indexes, slicing, and boolean indexing.
- Create for- and while-loops with conditional statements.
- Produce scatterplots, bar graphs, and histograms with the plot function.
- Summarize data in data frames with the table function.
- Create user-defined functions.
- Install and use libraries.
- Understand how R handles namespaces.
The Tidyverse and Dplyr
- Awareness of the Tidyverse and how it differs from basic R.
- Define the expression “tidy data.”
- Describe and use Tibbles.
- Describe and use the basic data transformation verbs: select, filter, arrange, rename, mutate, and summarize etc.
- Use the pipe operator to chain functions together.
- Describe and use the split-apply-combine pattern for generating aggregate statistics on data sets.
Visualization
- Understand the layered architecture behind the grammar of graphics approach to visualization.
- Create layered graphics using the plus operator.
- Create graphics that visualize data from Dplyr operations.
- Create and render RMarkdown documents.
Boot Camp FAQs
How long do I have to complete the boot camp?
90 days from the first time you log in. The Python boot camp has 5 modules and the R boot camp has 3; each module contains about 8 hours of dedicated work. Most students complete each boot camp in about 30 days.
How much do I need to study before taking the boot camp?
You don't! The self-paced modules will guide you through the skills you need.
Can I skip the boot camp and go straight to the challenge assessment?
Yes.
Challenge Assessment FAQs
How long do I have to complete the assessments?
30 days from the time you enroll. Most students take about 1-3 hours per assessment.
How much do I need to study before taking the assessment?
Although it may be helpful to review the key topics listed above, the intention of an assessment is to evaluate your current skills, without studying, and without GenAI.
Can I take the assessment more than once?
No. Carefully review your coding test files for errors (including spelling) before submitting them.
What if I pass just the knowledge test but not the coding test (or vice versa) with an 80%+, but not the other?
You must enroll in the boot camp modules.