chore(curriculum): move d3 to catalog (#67513)

Signed-off-by: Jessica Wilkins  <67210629+jdwilkin4@users.noreply.github.com>
This commit is contained in:
Jessica Wilkins 2026-06-04 00:15:02 -07:00 committed by GitHub
parent 8a9432a0e2
commit bcadda7054
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 79 additions and 32 deletions

View File

@ -587,6 +587,48 @@
}
}
},
"learn-data-visualization-with-d3": {
"title": "Learn Data Visualization with D3",
"summary": [
"Learn how to use D3 to turn data into interactive bar charts and scatterplots."
],
"intro": [
"In this course, you'll learn core data visualization concepts and practice using the D3 library to build charts from datasets."
],
"note": "",
"chapters": {
"learn-data-visualization-with-d3": "Learn Data Visualization with D3"
},
"modules": {
"introduction-to-d3": "Introduction to D3"
},
"module-intros": {
"introduction-to-d3": {
"note": "Coming Late 2026",
"intro": [
"In this module, you will learn the basics of working with D3."
]
}
},
"blocks": {
"lecture-introduction-to-data-visualization": {
"title": "Introduction to Data Visualization",
"intro": [
"In these lessons, you will learn about basic data visualization concepts."
]
},
"lab-bar-chart": {
"title": "Build a Bar Chart",
"intro": ["In this lab, you will use D3 to build a bar chart."]
},
"lab-scatterplot-graph": {
"title": "Build a Scatterplot Graph",
"intro": [
"In this lab, you will create a D3 scatterplot graph using a provided dataset."
]
}
}
},
"relational-database": {
"title": "Relational Database V8",
"intro": [
@ -5925,7 +5967,6 @@
"typescript-fundamentals": "TypeScript Fundamentals",
"lab-flashcard-quiz-app": "Build a Flashcard Quiz App",
"lab-digital-pet-game": "Build a Digital Pet Game",
"data-visualization": "Data Visualization and D3",
"review-front-end-libraries": "Front-End Libraries Review",
"front-end-development-libraries-certification-exam": "Front-End Development Libraries Certification Exam"
},
@ -5935,12 +5976,6 @@
"In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz."
]
},
"data-visualization": {
"note": "Coming 2026",
"intro": [
"In this module, you will be introduced to data visualization and learn how to work with the D3 library."
]
},
"front-end-development-libraries-certification-exam": {
"note": "Coming 2026",
"intro": [
@ -6298,22 +6333,6 @@
"title": "TypeScript Quiz",
"intro": ["Test what you've learned on TypeScript with this quiz."]
},
"lecture-introduction-to-data-visualization": {
"title": "Introduction to Data Visualization",
"intro": [
"In these lessons, you will learn about basic data visualization concepts."
]
},
"lab-bar-chart": {
"title": "Build a Bar Chart",
"intro": ["In this lab you will use d3 to build a bar chart."]
},
"lab-scatterplot-graph": {
"title": "Build a Scatterplot Graph",
"intro": [
"In this lab you will create a d3 scatterplot graph using a provided dataset."
]
},
"review-front-end-libraries": {
"title": "Front-End Libraries Review",
"intro": [

View File

@ -1406,6 +1406,7 @@
"learn-recursion-with-javascript": "Learn Recursion with JavaScript",
"introduction-to-functional-programming-with-javascript": "Introduction to Functional Programming with JavaScript",
"introduction-to-asynchronous-javascript": "Introduction to Asynchronous JavaScript",
"learn-data-visualization-with-d3": "Learn Data Visualization with D3",
"introduction-to-python-basics": "Introduction to Python Basics",
"learn-python-loops-and-sequences": "Learn Python Loops and Sequences",
"learn-python-dictionaries-and-sets": "Learn Python Dictionaries and Sets",

View File

@ -114,6 +114,7 @@ const iconMap = {
[SuperBlocks.LearnRecursionWithJS]: JavaScriptIcon,
[SuperBlocks.IntroductionToFunctionalProgrammingWithJS]: JavaScriptIcon,
[SuperBlocks.IntroductionToAsynchronousJS]: JavaScriptIcon,
[SuperBlocks.LearnDataVisualizationWithD3]: D3Icon,
[SuperBlocks.IntroductionToPythonBasics]: PythonIcon,
[SuperBlocks.LearnPythonLoopsAndSequences]: PythonIcon,
[SuperBlocks.LearnPythonDictionariesAndSets]: PythonIcon,

View File

@ -141,6 +141,7 @@ exports[`challenge schema > should not be changed without informing the mobile t
"relational-databases-v9",
"back-end-development-and-apis-v9",
"full-stack-developer-v9",
"learn-data-visualization-with-d3",
"a1-professional-chinese",
],
"flags": {
@ -318,6 +319,7 @@ exports[`challenge schema > should not be changed without informing the mobile t
"relational-databases-v9",
"back-end-development-and-apis-v9",
"full-stack-developer-v9",
"learn-data-visualization-with-d3",
"a1-professional-chinese",
],
"flags": {
@ -749,6 +751,7 @@ exports[`challenge schema > should not be changed without informing the mobile t
"relational-databases-v9",
"back-end-development-and-apis-v9",
"full-stack-developer-v9",
"learn-data-visualization-with-d3",
"a1-professional-chinese",
],
"flags": {

View File

@ -82,6 +82,7 @@ const superblocks = [
'learn-recursion-with-javascript',
'introduction-to-functional-programming-with-javascript',
'introduction-to-asynchronous-javascript',
'learn-data-visualization-with-d3',
'introduction-to-python-basics',
'learn-python-loops-and-sequences',
'learn-python-dictionaries-and-sets',

View File

@ -268,6 +268,7 @@ export const superBlockNames = {
SuperBlocks.IntroductionToFunctionalProgrammingWithJS,
'introduction-to-asynchronous-javascript':
SuperBlocks.IntroductionToAsynchronousJS,
'learn-data-visualization-with-d3': SuperBlocks.LearnDataVisualizationWithD3,
'introduction-to-python-basics': SuperBlocks.IntroductionToPythonBasics,
'learn-python-loops-and-sequences': SuperBlocks.LearnPythonLoopsAndSequences,
'learn-python-dictionaries-and-sets':

View File

@ -87,6 +87,7 @@
"learn-recursion-with-javascript",
"introduction-to-functional-programming-with-javascript",
"introduction-to-asynchronous-javascript",
"learn-data-visualization-with-d3",
"introduction-to-python-basics",
"learn-python-loops-and-sequences",
"learn-python-dictionaries-and-sets",

View File

@ -110,15 +110,6 @@
"dashedName": "lab-digital-pet-game",
"blocks": ["lab-digital-pet-game"]
},
{
"dashedName": "data-visualization",
"comingSoon": true,
"blocks": [
"lecture-introduction-to-data-visualization",
"lab-bar-chart",
"lab-scatterplot-graph"
]
},
{
"moduleType": "review",
"comingSoon": true,

View File

@ -0,0 +1,19 @@
{
"chapters": [
{
"dashedName": "learn-data-visualization-with-d3",
"comingSoon": true,
"modules": [
{
"dashedName": "introduction-to-d3",
"comingSoon": true,
"blocks": [
"lecture-introduction-to-data-visualization",
"lab-bar-chart",
"lab-scatterplot-graph"
]
}
]
}
]
}

View File

@ -359,6 +359,12 @@ export const catalog: Catalog[] = [
hours: 40,
topic: Topic.Js
},
{
superBlock: SuperBlocks.LearnDataVisualizationWithD3,
level: Levels.Intermediate,
hours: 20,
topic: Topic.D3
},
{
superBlock: SuperBlocks.LearnOOPWithPython,
level: Levels.Intermediate,

View File

@ -392,6 +392,7 @@ export const superBlockToCertMap: {
[SuperBlocks.LearnRecursionWithJS]: null,
[SuperBlocks.IntroductionToFunctionalProgrammingWithJS]: null,
[SuperBlocks.IntroductionToAsynchronousJS]: null,
[SuperBlocks.LearnDataVisualizationWithD3]: null,
[SuperBlocks.IntroductionToPythonBasics]: null,
[SuperBlocks.LearnPythonLoopsAndSequences]: null,
[SuperBlocks.LearnPythonDictionariesAndSets]: null,

View File

@ -91,6 +91,7 @@ export enum SuperBlocks {
LearnRecursionWithJS = 'learn-recursion-with-javascript',
IntroductionToFunctionalProgrammingWithJS = 'introduction-to-functional-programming-with-javascript',
IntroductionToAsynchronousJS = 'introduction-to-asynchronous-javascript',
LearnDataVisualizationWithD3 = 'learn-data-visualization-with-d3',
IntroductionToPythonBasics = 'introduction-to-python-basics',
LearnPythonLoopsAndSequences = 'learn-python-loops-and-sequences',
LearnPythonDictionariesAndSets = 'learn-python-dictionaries-and-sets',
@ -278,6 +279,7 @@ export const superBlockStages: StageMap = {
SuperBlocks.LearnRecursionWithJS,
SuperBlocks.IntroductionToFunctionalProgrammingWithJS,
SuperBlocks.IntroductionToAsynchronousJS,
SuperBlocks.LearnDataVisualizationWithD3,
SuperBlocks.IntroductionToPythonBasics,
SuperBlocks.LearnPythonLoopsAndSequences,
SuperBlocks.LearnPythonDictionariesAndSets,
@ -327,6 +329,7 @@ export const chapterBasedSuperBlocks = [
SuperBlocks.RelationalDbV9,
SuperBlocks.BackEndDevApisV9,
SuperBlocks.FullStackDeveloperV9,
SuperBlocks.LearnDataVisualizationWithD3,
SuperBlocks.A1Chinese
];
Object.freeze(chapterBasedSuperBlocks);