Learning Objective, Schedule, and Rubric¶
Learning Outcomes¶
There are five learning outcomes for this course.
(process) Describe the process of data science, define each phase, and identify standard tools
(data) Access and combine data in multiple formats for analysis
(exploratory) Perform exploratory data analyses including descriptive statistics and visualization
(modeling) Select models for data by applying and evaluating mutiple models to a single dataset
(communicate) Communicate solutions to problems with data in common industry formats
We will build your skill in the process
and communicate
outcomes over the whole semester. The middle three skills will correspond roughly to the content taught for each of the first three portfolio checks.
Schedule¶
The course will meet MWF 1-1:50pm on Zoom. Every class will include participatory live coding (instructor types, students follow along)) instruction and small exercises for you to progress toward level 1 achievements of the new skills introduced in class that day.
Programming assignments that will be due each week Tuesday by 11:59pm. until week 5 they were due Sundays
topics | skills | |
---|---|---|
week | ||
1 | [admin, python review] | process |
2 | Loading data, Python review | [access, prepare, summarize] |
3 | Exploratory Data Analysis | [summarize, visualize] |
4 | Data Cleaning | [prepare, summarize, visualize] |
5 | Databases, Merging DataFrames | [access, construct, summarize] |
6 | Modeling, Naive Bayes, classification performance metrics | [classification, evaluate] |
7 | decision trees, cross validation | [classification, evaluate] |
8 | Regression | [regression, evaluate] |
9 | Clustering | [clustering, evaluate] |
10 | SVM, parameter tuning | [optimize, tools] |
11 | KNN, Model comparison | [compare, tools] |
12 | Text Analysis | [unstructured] |
13 | Topic Modeling | [unstructured, tools] |
14 | Deep Learning | [tools, compare] |
Skill Rubric¶
The skill rubric describes how your participation, assignments, and portfolios will be assessed to earn each achievement. The keyword for each skill is a short name that will be used to refer to skills throughout the course materials; the full description of the skill is in this table.
skill | Level 1 | Level 2 | Level 3 | |
---|---|---|---|---|
keyword | ||||
python | pythonic code writing | python code that mostly runs, occasional pep8 adherance | python code that reliably runs, frequent pep8 adherance | reliable, efficient, pythonic code that consistently adheres to pep8 |
process | describe data science as a process | Identify basic components of data science | Describe and define each stage of the data science process | Compare different ways that data science can facilitate decision making |
access | access data in multiple formats | load data from at least one format; identify the most common data formats | Load data for processing from the most common formats; Compare and constrast most common formats | access data from both common and uncommon formats and identify best practices for formats in different contexts |
construct | construct datasets from multiple sources | identify what should happen to merge datasets or when they can be merged | apply basic merges | merge data that is not automatically aligned |
summarize | Summarize and describe data | Describe the shape and structure of a dataset in basic terms | compute summary statndard statistics of a whole dataset and grouped data | Compute and interpret various summary statistics of subsets of data |
visualize | Visualize data | identify plot types, generate basic plots from pandas | generate multiple plot types with complete labeling with pandas and seaborn | generate complex plots with pandas and plotting libraries and customize with matplotlib or additional parameters |
prepare | prepare data for analysis | identify if data is or is not ready for analysis, potential problems with data | apply data reshaping, cleaning, and filtering as directed | apply data reshaping, cleaning, and filtering manipulations reliably and correctly by assessing data as received |
classification | Apply classification | identify and describe what classification is, apply pre-fit classification models | fit preselected classification model to a dataset | fit and apply classification models and select appropriate classification models for different contexts |
regression | Apply Regression | identify what data that can be used for regression looks like | can fit linear regression models | can fit and explain regrularized or nonlinear regression |
clustering | Clustering | describe what clustering is | apply basic clustering | apply multiple clustering techniques, and interpret results |
evaluate | Evaluate model performance | Explain basic performance metrics for different data science tasks | Apply basic model evaluation metrics to a held out test set | Evaluate a model with multiple metrics and cross validation |
optimize | Optimize model parameters | Identify when model parameters need to be optimized | Manually optimize basic model parameters such as model order | Select optimal parameters based of mutiple quanttiateve criteria and automate parameter tuning |
compare | compare models | Qualitatively compare model classes | Compare model classes in specific terms and fit models in terms of traditional model performance metrics | Evaluate tradeoffs between different model comparison types |
unstructured | model unstructured data | Identify options for representing text data and use them once data is tranformed | Apply at least one representation to transform unstructured data for model fitting or summarizing | apply multiple representations and compare and contrast them for different end results |
workflow | use industry standard data science tools and workflows to solve data science problems | Solve well strucutred problems with a single tool pipeline | Solve semi-strucutred, completely specified problems, apply common structure to learn new features of standard tools | Scope, choose an appropriate tool pipeline and solve data science problems, describe strengths and weakensses of common tools |
Assignments and Skills¶
Using the keywords from the table above, this table shows which assignments you will be able to demonstrate which skills and the total number of assignments that assess each skill. This is the number of opportunities you have to earn Level 2 and still preserve 2 chances to earn Level 3 for each skill.
A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | # Assignments | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
keyword | ||||||||||||||
python | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
process | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
access | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 |
construct | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
summarize | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 11 |
visualize | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 10 |
prepare | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
classification | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 3 |
regression | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 2 |
clustering | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 2 |
evaluate | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 2 |
optimize | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 2 |
compare | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 |
unstructured | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 |
workflow | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 4 |
Portfolios and Skills¶
The objective of your portfolio submissions is to earn Level 3 achievements. The following table shows what Level 3 looks like for each skill and identifies which portfolio submissions you can earn that Level 3 in that skill.
Level 3 | P1 | P2 | P3 | P4 | |
---|---|---|---|---|---|
keyword | |||||
python | reliable, efficient, pythonic code that consistently adheres to pep8 | 1 | 1 | 0 | 0 |
process | Compare different ways that data science can facilitate decision making | 0 | 1 | 1 | 0 |
access | access data from both common and uncommon formats and identify best practices for formats in different contexts | 1 | 1 | 0 | 0 |
construct | merge data that is not automatically aligned | 1 | 1 | 0 | 0 |
summarize | Compute and interpret various summary statistics of subsets of data | 1 | 1 | 0 | 0 |
visualize | generate complex plots with pandas and plotting libraries and customize with matplotlib or additional parameters | 1 | 1 | 0 | 0 |
prepare | apply data reshaping, cleaning, and filtering manipulations reliably and correctly by assessing data as received | 1 | 1 | 0 | 0 |
classification | fit and apply classification models and select appropriate classification models for different contexts | 0 | 1 | 1 | 0 |
regression | can fit and explain regrularized or nonlinear regression | 0 | 1 | 1 | 0 |
clustering | apply multiple clustering techniques, and interpret results | 0 | 1 | 1 | 0 |
evaluate | Evaluate a model with multiple metrics and cross validation | 0 | 1 | 1 | 0 |
optimize | Select optimal parameters based of mutiple quanttiateve criteria and automate parameter tuning | 0 | 0 | 1 | 1 |
compare | Evaluate tradeoffs between different model comparison types | 0 | 0 | 1 | 1 |
unstructured | apply multiple representations and compare and contrast them for different end results | 0 | 0 | 1 | 1 |
workflow | Scope, choose an appropriate tool pipeline and solve data science problems, describe strengths and weakensses of common tools | 0 | 0 | 1 | 1 |