CMSE 202 - Exam II Study Guide

CMSE 202 - Exam II Study Guide#

The following document is intended to provide you with a list of the types of tasks you may be asked to complete on your final exam for CMSE 202. The exam will be “open internet” so that you can look up documentation, python package installation instructions, etc. You’re also welcome to refer to your previous assignments. However, you will NOT be allowed to access your email or any other means of person-to-person communication (i.e. Slack). Generative AI tools are NOT allowed in exams!

On the exam, the tasks you will be asked to do will most closely align with in-class assignments from the second half of the course and Homeworks 2, 3, and 4. You will not be expected to build/run an ABM like you did in Homework 2. Nor will you be expected to build any machine learning models from scratch like we did in class with the Perceptron model, but you will likely need to use pre-existing machine learning models (e.g. from sklearn) to complete some tasks.

For the final exam, you should be comfortable with:

  • Adding files and committing changes to a GitHub repository that you own

  • Pushing changes to a remote Git repository that you have permission to update

  • Downloading files from the internet using the command line or the equivalent commands within a Jupyter Notebook

  • Loading data into a Jupyter notebook

  • Exploring and analyzing an unfamiliar dataset using familiar Python packages (e.g. pandas)

  • Reading and understanding the documentation for an Python package so that you can use the package to complete a task (e.g. networkx, statsmodels, sklearn)

  • Making plots using matplotlib

  • Working with NumPy arrays

  • Working with Python dictionaries

  • Debugging malfunctioning or broken Python code

  • Using and modifying a Python class (i.e. utilizing object-oriented programming)

  • Writing a new class that inherits from a pre-existing class.

  • Building and using a networkx graph object to explore connections with a dataset

  • Performing regression using statsmodels (e.g. OLS or logistic regression)

  • Performing classification using sklearn (e.g. SVC, GridSearchCV, etc)

  • Performing Principle Component Analysis (PCA) to do feature reduction for classification

Some or all of these concepts may show up on the exam, so make sure you spend time reviewing the ones you’re less comfortable with and don’t hesitate to reach out on Slack to ask your fellow classmates or the instructors questions about things you don’t understand.

Final Note: If you’re currently having any issues with your JupyterHub, your local Python installation, GitHub, or any other software related to the course, contact your instructor as soon as possible and explain the issue so that it can be addressed before the exam!