Skip to content

Commit

Permalink
Merge pull request #38707 from code-dot-org/staging
Browse files Browse the repository at this point in the history
DTT (Staging > Test) [robo-dtt]
  • Loading branch information
deploy-code-org committed Jan 22, 2021
2 parents d22d5b9 + 140d968 commit 6bd85d4
Show file tree
Hide file tree
Showing 11 changed files with 557 additions and 23 deletions.
2 changes: 1 addition & 1 deletion apps/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"@code-dot-org/js-numbers": "0.1.0-cdo.0",
"@code-dot-org/maze": "1.1.0",
"@code-dot-org/ml-activities": "0.0.26",
"@code-dot-org/ml-playground": "0.0.10",
"@code-dot-org/ml-playground": "0.0.11",
"@code-dot-org/p5.play": "^1.3.12-cdo",
"@code-dot-org/piskel": "0.13.0-cdo.6",
"@code-dot-org/redactable-markdown": "0.4.0",
Expand Down
560 changes: 547 additions & 13 deletions apps/yarn.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-collection-ailab.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{}",
"parent_level_id": 24643,
"long_instructions": "# Prepare: Collecting Your Own Data\r\n\r\nThis is a level."
},
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-ethics-ailab.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{}",
"parent_level_id": 24641,
"long_instructions": "# Prepare: App Ethics Challenge\r\n\r\nThis is a level."
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{}",
"parent_level_id": 24644,
"long_instructions": "# Prepare: Project\r\n\r\nThis is a level."
},
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-goldilocks-ailab.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{}",
"parent_level_id": 24642,
"long_instructions": "# Prepare: Goldilocks Principles\r\n\r\nThis is a level."
},
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-knn-ailab.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{\"datasets\":[\"candy\",\"titanic\",\"foods\"],\"hideSelectLabel\":true,\"hideSpecifyColumns\":true,\"hideChooseReserve\":true,\"hideModelCard\":true}",
"parent_level_id": 24635,
"long_instructions": "# Prepare an App with continuous labels (KNN)\r\n\r\n## Lesson Sequence Notes\r\n- Part of 3-lesson sequence\r\n- Focus in these 3 lessons: **Feature Iteration**. \r\n\t- How does our selection of features impact the model we create?\r\n - How can we tell which features are useful for models versus some that aren't impactful?\r\n\r\n## Curriculum Lesson Notes\r\n- This is AI-Lab portion of the third lesson in this sequence\r\n- Goals are to reinforce use of AI-Lab and AppLab to design your own app\r\n- Additional opportunities for student choice are added, such as selecting the dataset you'd like to use and adding an additional screen to the App\r\n- By end of lesson, students have created their own ML app that they can share & explain outside of the class\r\n\r\n## AI-Lab Notes\r\n- Same requirements as earlier lesson in this sequence with two exceptions: Students should be able to choose from multiple pre-curated datasets and students need to be able to export their model so they can use it in the next level.\r\n\t- Cannot upload their own dataset\r\n- Once they select a dataset, the label & column categories are still fixed. Student work is focused on using data visualization to select features to train their model.\r\n- Once they create their model and test it, they are given the option to export their model\r\n\t- [I know we're still iterating on this step. I put it here to differentiate that this step isn't needed in the earlier AI-Lab lesson, but is needed here]\r\n - Still do not need to complete a model card; this is introduced in a later lesson\r\n\r\n## Dataset / Model Notes:\r\n- New: Multiple Pre-curated Real-World Datasets\r\n- Datasets don't have any \"useless\" columns (like \"Name\"); all columns fit nicely into continuous/categorical labels"
},
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-knn-train.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{\"datasets\":[\"candy\",\"titanic\",\"foods\"],\"hideSelectLabel\":true,\"hideSpecifyColumns\":true,\"hideChooseReserve\":true,\"hideModelCard\":true,\"hideSave\":true}",
"parent_level_id": 24597,
"long_instructions": "# Train a model with continuous labels (KNN)\r\n\r\n## Lesson Sequence Notes\r\n- Part of 3-lesson sequence\r\n- Focus in these 3 lessons: **Feature Iteration**. \r\n\t- How does our selection of features impact the model we create?\r\n - How can we tell which features are useful for models versus some that aren't impactful?\r\n\r\n## Curriculum Lesson Notes\r\n- Goals are mostly focused on how to use certain features of AI-Lab:\r\n\t- Building from the last lesson: how to use data visualization tools within AI-Lab\r\n - How to select columns as features\r\n - Comfortable iterating on training a model within AI Lab and selecting different features to see how it impacts model\r\n- Conceptual goals:\r\n\t- How to use data visualizations to inform feature selection\r\n - Iterating on features to improve your model is a common practice on machine learning\r\n- Never get into AppLab; only AI Lab in this lesson\r\n\r\n## AI-Lab Notes\r\n- Students should have control over:\r\n\t- (when ready) data viz tools to inspect dataset\r\n - Selecting features\r\n - Seeing evaluation screen and test screen\r\n - Ability to return to earlier screens to select new features\r\n- Students should not have control over:\r\n\t- Selecting data; instead, data is preloaded on each level\r\n - Categorizing columns as continuous / categorical; this should be done for them\r\n - Selecting a label; this becomes available in later set of lessons\r\n - Selecting algorithm; decided for them\r\n - Selecting hold-out test set; hold-out set should be the same for every student every time (to make sure students focus on features rather than impact of test set)\r\n - Viewing or creating a model card; not needed here\r\n - Exporting app; not needed here\r\n\r\n## Dataset / Model Notes:\r\n- Pre-curated Toy Datasets\r\n- Datasets don't have any \"useless\" columns (like \"Name\"); all columns fit nicely into continuous/categorical labels\r\n- < 100 rows of data for easier inspection"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{\"datasets\":[\"candy\",\"titanic\",\"foods\"]}",
"parent_level_id": 24640,
"long_instructions": "# Mini-Project: Prepare: make an ML App\r\n\r\n## Lesson Sequence Notes\r\n- Part of 4-lesson sequence\r\n- Previously:\r\n\t- Students are mostly fluent with the tool in terms of selecting columns & creating models\r\n - Up until now, students have not had any handles to help improve accuracy (such as % of training data, where data comes from, etc)\r\n - Up until now, students have not thought about how data increases or decreases accuracy (ie: more data = better results)\r\n- Focus in these 3 lessons: **Data Sources & Improving Accuracy**. \r\n\t- Students see how choices around training data impacts accuracy (ie: how much training data, randomness of data, etc)\r\n - Students see how qualities from within the data itself can increase or decrease accuracy (larger datasets = more accurate)\r\n - Students begin creating model cards for their data\r\n\r\n## Curriculum Lesson Notes\r\n- Start of mini-project where students have most control over AI-Lab\r\n\r\n## AI-Lab Notes\r\n- Students should be able to select from several pre-curated datasets including data cards\r\n- Able to categorize columns, select features, and select labels\r\n- Able to select how much training data to withhold and whether it's first / last / random.\r\n- Before exporting, need to complete the model card\r\n- At this point, the only thing that still isn't exposed to them is the algorithm; this is still being done automatically for them based on whether it's continuous or categorical label\r\n\r\n## Dataset / Model Notes:\r\n- Real-World Datasets that lend themselves to model cards"
},
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-svm-ailab.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{\"datasets\":[\"candy\",\"titanic\",\"foods\"],\"hideChooseReserve\":true,\"hideModelCard\":true}",
"parent_level_id": 24637,
"long_instructions": "# Prepare: an app with categorical labels (SVM)\r\n\r\n## Lesson Sequence Notes\r\n- Part of 3-lesson sequence\r\n- Previously:\r\n\t- Up until now, students have been given columns that are prelabeled as categorical / continuous\r\n - Up until now, every column they've been given has been at least somewhat useful in training the model\r\n - Up until now, labels have been fixed for students\r\n- Focus in these 3 lessons: **Selecting Candidates for Machine Learning**. \r\n\t- Students are now able to add metadata to their columns in terms of categorical / continuous\r\n - Students may be given columns that are useless [or not formatted well (lots of blanks)?] and can decide not to include them as candidates for ML\r\n - Students are now able to decide labels, which lets them ask questions about what might be predictable given the features we have\r\n- Opportunities this opens:\r\n\t- Now students can make decisions about what columns are better able to predict other columns\r\n - Now students have more ownership over the data process since they are categorizing & selecting data\r\n\r\n## Curriculum Lesson Notes\r\n- This is AI-Lab part of 3rd lesson\r\n- Students apply skills from AI-Lab to create their own ML app\r\n- Students have choice of datasets to use\r\n- New AppLab skill: Go to a different screen depending on the result\r\n\t- ie: If we have \"which Marvel character are you?\", could go to a screen that has that marvel character on it\r\n\r\n## AI-Lab Notes\r\n- Same options available to students as before with 2 additions: ability to choose datasets, and ability to export the model\r\n\t- Once students choose datasets, they still need to categorize the columns, select labels, etc. \r\n- Once students have trained their model, they can export it so they can use it in the next screen\r\n\t- Still do not need to view / create a model card; this is introduced in next sequence of lessons\r\n\r\n## Dataset / Model Notes:\r\n- Choice of Real-World Datasets\r\n- Datasets can contain \"useless\" columns that don't fit into classifications\r\n- [Potentially: datasets can contain columns with errors, such as blanks]"
},
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/scripts/levels/ml-svm-train.level
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"encrypted": "false",
"instructions_important": "false",
"short_instructions": "Here are some short instructions for this test AI Lab level.",
"mode": "{ \"id\": \"load_dataset\", \"setId\": \"foods\" }",
"mode": "{\"datasets\":[\"candy\"],\"hideChooseReserve\":true,\"hideModelCard\":true}",
"parent_level_id": 24636,
"long_instructions": "# Train a model with categorical labels (SVM)\r\n\r\n## Lesson Sequence Notes\r\n- Part of 3-lesson sequence\r\n- Previously:\r\n\t- Up until now, students have been given columns that are prelabeled as categorical / continuous\r\n - Up until now, every column they've been given has been at least somewhat useful in training the model\r\n - Up until now, labels have been fixed for students\r\n- Focus in these 3 lessons: **Selecting Candidates for Machine Learning**. \r\n\t- Students are now able to add metadata to their columns in terms of categorical / continuous\r\n - Students may be given columns that are useless [or not formatted well (lots of blanks)?] and can decide not to include them as candidates for ML\r\n - Students are now able to decide labels, which lets them ask questions about what might be predictable given the features we have\r\n- Opportunities this opens:\r\n\t- Now students can make decisions about what columns are better able to predict other columns\r\n - Now students have more ownership over the data process since they are categorizing & selecting data\r\n\r\n## Curriculum Lesson Notes\r\n- Focus on fluency with the tool (see below)\r\n- Focus on selecting worthwhile columns that lead to good predictions based on features & labels\r\n\r\n## AI-Lab Notes\r\n- Students should have control over same (**bold** = new in these levels):\r\n\t- **Categorizing columns as continuous vs categorical**\r\n - **Selecting a label to train on**\r\n - (when ready) data viz tools to inspect dataset\r\n - Selecting features\r\n - Seeing evaluation screen and test screen\r\n - Ability to return to earlier screens to select new features\r\n- Students should not have control over:\r\n\t- Selecting data; instead, data is preloaded on each level\r\n - Selecting algorithm; decided for them\r\n - Selecting hold-out test set; hold-out set should be the same for every student every time (to make sure students focus on features rather than impact of test set)\r\n - Viewing / creating a model card; not needed here\r\n - Exporting app; not needed here\r\n\r\n## Dataset / Model Notes:\r\n- Each level has a single toy dataset associated with it\r\n- < 100 lines for easier analysis\r\n- Datasets can contain \"useless\" columns that don't fit into classifications\r\n- [Potentially: datasets can contain columns with errors, such as blanks]"
},
Expand Down

0 comments on commit 6bd85d4

Please sign in to comment.