chore: import upstream snapshot with attribution
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 11:55:53 +08:00
commit dde272c4b8
19405 changed files with 2730632 additions and 0 deletions
@@ -0,0 +1,40 @@
{
"isUpcomingChange": false,
"dashedName": "add-logic-to-c-sharp-console-applications",
"helpCategory": "C-Sharp",
"challengeOrder": [
{
"id": "647e21708acb466c97ccbee3",
"title": "Evaluate Boolean Expressions to Make Decisions in C#"
},
{
"id": "647e21658acb466c97ccbee2",
"title": "Control Variable Scope and Logic Using Code Blocks in C#"
},
{
"id": "647e214b8acb466c97ccbee0",
"title": "Branch the Flow of Code Using the switch-case Construct in C#"
},
{
"id": "647e218f8acb466c97ccbee5",
"title": "Iterate Through a Code Block Using the for Statement in C#"
},
{
"id": "647e1f4e8acb466c97ccbedf",
"title": "Add Looping Logic to Your Code Using the do-while and while Statements in C#"
},
{
"id": "647e217e8acb466c97ccbee4",
"title": "Guided Project - Develop Conditional Branching and Looping Structures in C#"
},
{
"id": "647e21598acb466c97ccbee1",
"title": "Challenge Project - Develop Branching and Looping Structures in C#"
},
{
"id": "647f882207d29547b3bee1c0",
"title": "Trophy - Add Logic to C# Console Applications"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,96 @@
{
"isUpcomingChange": false,
"dashedName": "advanced-node-and-express",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "5895f700f9fc0f352b528e63",
"title": "Set up a Template Engine"
},
{
"id": "5895f70bf9fc0f352b528e64",
"title": "Use a Template Engine's Powers"
},
{
"id": "5895f70cf9fc0f352b528e65",
"title": "Set up Passport"
},
{
"id": "5895f70cf9fc0f352b528e66",
"title": "Serialization of a User Object"
},
{
"id": "5895f70cf9fc0f352b528e67",
"title": "Implement the Serialization of a Passport User"
},
{
"id": "5895f70df9fc0f352b528e68",
"title": "Authentication Strategies"
},
{
"id": "5895f70df9fc0f352b528e69",
"title": "How to Use Passport Strategies"
},
{
"id": "5895f70df9fc0f352b528e6a",
"title": "Create New Middleware"
},
{
"id": "5895f70ef9fc0f352b528e6b",
"title": "How to Put a Profile Together"
},
{
"id": "58965611f9fc0f352b528e6c",
"title": "Logging a User Out"
},
{
"id": "58966a17f9fc0f352b528e6d",
"title": "Registration of New Users"
},
{
"id": "58a25c98f9fc0f352b528e7f",
"title": "Hashing Your Passwords"
},
{
"id": "589690e6f9fc0f352b528e6e",
"title": "Clean Up Your Project with Modules"
},
{
"id": "589a69f5f9fc0f352b528e70",
"title": "Implementation of Social Authentication"
},
{
"id": "589a69f5f9fc0f352b528e71",
"title": "Implementation of Social Authentication II"
},
{
"id": "589a8eb3f9fc0f352b528e72",
"title": "Implementation of Social Authentication III"
},
{
"id": "589fc830f9fc0f352b528e74",
"title": "Set up the Environment"
},
{
"id": "589fc831f9fc0f352b528e75",
"title": "Communicate by Emitting"
},
{
"id": "589fc831f9fc0f352b528e76",
"title": "Handle a Disconnect"
},
{
"id": "589fc831f9fc0f352b528e77",
"title": "Authentication with Socket.IO"
},
{
"id": "589fc832f9fc0f352b528e78",
"title": "Announce New Users"
},
{
"id": "589fc832f9fc0f352b528e79",
"title": "Send and Display Chat Messages"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,17 @@
{
"isUpcomingChange": false,
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"dashedName": "advanced-oop-concepts",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "69ae9f3ca9e6da4eb0d5f7f9",
"title": "Getters and Setters"
},
{
"id": "69ae9f41a9e6da4eb0d5f7fa",
"title": "OOP Principles"
}
]
}
@@ -0,0 +1,49 @@
{
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"isUpcomingChange": false,
"dashedName": "advanced-trig-conics",
"helpCategory": "General",
"challengeOrder": [
{
"id": "699e854b8f18cf77dfce5c1e",
"title": "Solving Right Triangles"
},
{
"id": "699e85518f18cf77dfce5c1f",
"title": "Law of Cosines"
},
{
"id": "699e85568f18cf77dfce5c20",
"title": "Law of Cosines - Old Version"
},
{
"id": "699e855a8f18cf77dfce5c21",
"title": "Law of Sines"
},
{
"id": "699e855e8f18cf77dfce5c22",
"title": "Parabolas - Vertex, Focus, Directrix"
},
{
"id": "699e85648f18cf77dfce5c23",
"title": "Ellipses"
},
{
"id": "699e85688f18cf77dfce5c24",
"title": "Hyperbolas"
},
{
"id": "699e856c8f18cf77dfce5c25",
"title": "Polar Coordinates"
},
{
"id": "699e85718f18cf77dfce5c26",
"title": "Parametric Equations"
},
{
"id": "699e8ca68f18cf77dfce5c27",
"title": "Difference Quotient"
}
]
}
@@ -0,0 +1,21 @@
{
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"isUpcomingChange": false,
"dashedName": "algorithms-in-code",
"helpCategory": "Backend Development",
"challengeOrder": [
{
"id": "698dca057932b3cc4b19c926",
"title": "Linear Search in Code"
},
{
"id": "698dcc2c7932b3cc4b19c927",
"title": "Binary Search in Code"
},
{
"id": "698dce727932b3cc4b19c928",
"title": "Recursive Binary Search"
}
]
}
@@ -0,0 +1,48 @@
{
"isUpcomingChange": false,
"dashedName": "algorithms",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "a3f503de51cf954ede28891d",
"title": "Find the Symmetric Difference"
},
{
"id": "a56138aff60341a09ed6c480",
"title": "Inventory Update"
},
{
"id": "a7bf700cd123b9a54eef01d5",
"title": "No Repeats Please"
},
{
"id": "a3f503de51cfab748ff001aa",
"title": "Pairwise"
},
{
"id": "8d5123c8c441eddfaeb5bdef",
"title": "Implement Bubble Sort"
},
{
"id": "587d8259367417b2b2512c85",
"title": "Implement Selection Sort"
},
{
"id": "587d8259367417b2b2512c86",
"title": "Implement Insertion Sort"
},
{
"id": "587d825a367417b2b2512c89",
"title": "Implement Quick Sort"
},
{
"id": "587d825c367417b2b2512c8f",
"title": "Implement Merge Sort"
},
{
"id": "61abc7ebf3029b56226de5b6",
"title": "Implement Binary Search"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,21 @@
{
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"isUpcomingChange": false,
"dashedName": "angles-and-circular-motion",
"helpCategory": "General",
"challengeOrder": [
{
"id": "699e54288f18cf77dfce5c0a",
"title": "Angles and Their Measures"
},
{
"id": "699e56b58f18cf77dfce5c0b",
"title": "Arclength and Areas of Sectors"
},
{
"id": "699e56ba8f18cf77dfce5c0c",
"title": "Linear and Radial Speed"
}
]
}
@@ -0,0 +1,96 @@
{
"isUpcomingChange": false,
"dashedName": "applied-accessibility",
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "587d774c367417b2b2512a9c",
"title": "Add a Text Alternative to Images for Visually Impaired Accessibility"
},
{
"id": "587d774c367417b2b2512a9d",
"title": "Know When Alt Text Should be Left Blank"
},
{
"id": "587d774d367417b2b2512a9e",
"title": "Use Headings to Show Hierarchical Relationships of Content"
},
{
"id": "587d774e367417b2b2512a9f",
"title": "Jump Straight to the Content Using the main Element"
},
{
"id": "587d774e367417b2b2512aa0",
"title": "Wrap Content in the article Element"
},
{
"id": "587d7787367417b2b2512aa1",
"title": "Make Screen Reader Navigation Easier with the header Landmark"
},
{
"id": "587d7788367417b2b2512aa2",
"title": "Make Screen Reader Navigation Easier with the nav Landmark"
},
{
"id": "587d7788367417b2b2512aa3",
"title": "Make Screen Reader Navigation Easier with the footer Landmark"
},
{
"id": "587d7789367417b2b2512aa4",
"title": "Improve Accessibility of Audio Content with the audio Element"
},
{
"id": "587d778a367417b2b2512aa5",
"title": "Improve Chart Accessibility with the figure Element"
},
{
"id": "587d778a367417b2b2512aa6",
"title": "Improve Form Field Accessibility with the label Element"
},
{
"id": "587d778b367417b2b2512aa7",
"title": "Wrap Radio Buttons in a fieldset Element for Better Accessibility"
},
{
"id": "587d778b367417b2b2512aa8",
"title": "Add an Accessible Date Picker"
},
{
"id": "587d778c367417b2b2512aa9",
"title": "Standardize Times with the HTML5 datetime Attribute"
},
{
"id": "587d778d367417b2b2512aaa",
"title": "Make Elements Only Visible to a Screen Reader by Using Custom CSS"
},
{
"id": "587d778e367417b2b2512aab",
"title": "Improve Readability with High Contrast Text"
},
{
"id": "587d778f367417b2b2512aac",
"title": "Avoid Colorblindness Issues by Using Sufficient Contrast"
},
{
"id": "587d778f367417b2b2512aad",
"title": "Avoid Colorblindness Issues by Carefully Choosing Colors that Convey Information"
},
{
"id": "587d778f367417b2b2512aae",
"title": "Give Links Meaning by Using Descriptive Link Text"
},
{
"id": "587d7790367417b2b2512aaf",
"title": "Make Links Navigable with HTML Access Keys"
},
{
"id": "587d7790367417b2b2512ab0",
"title": "Use tabindex to Add Keyboard Focus to an Element"
},
{
"id": "587d7790367417b2b2512ab1",
"title": "Use tabindex to Specify the Order of Keyboard Focus for Several Elements"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,216 @@
{
"isUpcomingChange": false,
"dashedName": "applied-visual-design",
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "587d7791367417b2b2512ab3",
"title": "Create Visual Balance Using the text-align Property"
},
{
"id": "587d7791367417b2b2512ab4",
"title": "Adjust the Width of an Element Using the width Property"
},
{
"id": "587d7791367417b2b2512ab5",
"title": "Adjust the Height of an Element Using the height Property"
},
{
"id": "587d781a367417b2b2512ab7",
"title": "Use the strong Tag to Make Text Bold"
},
{
"id": "587d781a367417b2b2512ab8",
"title": "Use the u Tag to Underline Text"
},
{
"id": "587d781a367417b2b2512ab9",
"title": "Use the em Tag to Italicize Text"
},
{
"id": "587d781b367417b2b2512aba",
"title": "Use the s Tag to Strikethrough Text"
},
{
"id": "587d781b367417b2b2512abb",
"title": "Create a Horizontal Line Using the hr Element"
},
{
"id": "587d781b367417b2b2512abc",
"title": "Adjust the background-color Property of Text"
},
{
"id": "587d781b367417b2b2512abd",
"title": "Adjust the Size of a Heading Element Versus a Paragraph Element"
},
{
"id": "587d781b367417b2b2512abe",
"title": "Add a box-shadow to a Card-like Element"
},
{
"id": "587d781c367417b2b2512abf",
"title": "Decrease the Opacity of an Element"
},
{
"id": "587d781c367417b2b2512ac0",
"title": "Use the text-transform Property to Make Text Uppercase"
},
{
"id": "587d781c367417b2b2512ac2",
"title": "Set the font-size for Multiple Heading Elements"
},
{
"id": "587d781c367417b2b2512ac3",
"title": "Set the font-weight for Multiple Heading Elements"
},
{
"id": "587d781c367417b2b2512ac4",
"title": "Set the font-size of Paragraph Text"
},
{
"id": "587d781d367417b2b2512ac5",
"title": "Set the line-height of Paragraphs"
},
{
"id": "587d781d367417b2b2512ac8",
"title": "Adjust the Hover State of an Anchor Tag"
},
{
"id": "587d781e367417b2b2512ac9",
"title": "Change an Element's Relative Position"
},
{
"id": "587d781e367417b2b2512aca",
"title": "Move a Relatively Positioned Element with CSS Offsets"
},
{
"id": "587d781e367417b2b2512acb",
"title": "Lock an Element to its Parent with Absolute Positioning"
},
{
"id": "587d781e367417b2b2512acc",
"title": "Lock an Element to the Browser Window with Fixed Positioning"
},
{
"id": "587d78a3367417b2b2512ace",
"title": "Push Elements Left or Right with the float Property"
},
{
"id": "587d78a3367417b2b2512acf",
"title": "Change the Position of Overlapping Elements with the z-index Property"
},
{
"id": "587d78a3367417b2b2512ad0",
"title": "Center an Element Horizontally Using the margin Property"
},
{
"id": "587d78a3367417b2b2512ad1",
"title": "Learn about Complementary Colors"
},
{
"id": "587d78a4367417b2b2512ad2",
"title": "Learn about Tertiary Colors"
},
{
"id": "587d78a4367417b2b2512ad3",
"title": "Adjust the Color of Various Elements to Complementary Colors"
},
{
"id": "587d78a4367417b2b2512ad4",
"title": "Adjust the Hue of a Color"
},
{
"id": "587d78a4367417b2b2512ad5",
"title": "Adjust the Tone of a Color"
},
{
"id": "587d78a5367417b2b2512ad6",
"title": "Create a Gradual CSS Linear Gradient"
},
{
"id": "587d78a5367417b2b2512ad7",
"title": "Use a CSS Linear Gradient to Create a Striped Element"
},
{
"id": "587d78a5367417b2b2512ad8",
"title": "Create Texture by Adding a Subtle Pattern as a Background Image"
},
{
"id": "587d78a5367417b2b2512ad9",
"title": "Use the CSS Transform scale Property to Change the Size of an Element"
},
{
"id": "587d78a5367417b2b2512ada",
"title": "Use the CSS Transform scale Property to Scale an Element on Hover"
},
{
"id": "587d78a6367417b2b2512adb",
"title": "Use the CSS Transform Property skewX to Skew an Element Along the X-Axis"
},
{
"id": "587d78a6367417b2b2512adc",
"title": "Use the CSS Transform Property skewY to Skew an Element Along the Y-Axis"
},
{
"id": "587d78a6367417b2b2512add",
"title": "Create a Graphic Using CSS"
},
{
"id": "587d78a6367417b2b2512ade",
"title": "Create a More Complex Shape Using CSS and HTML"
},
{
"id": "587d78a7367417b2b2512adf",
"title": "Learn How the CSS @keyframes and animation Properties Work"
},
{
"id": "587d78a7367417b2b2512ae0",
"title": "Use CSS Animation to Change the Hover State of a Button"
},
{
"id": "58a7a6ebf9a6318348e2d5aa",
"title": "Modify Fill Mode of an Animation"
},
{
"id": "587d78a7367417b2b2512ae1",
"title": "Create Movement Using CSS Animation"
},
{
"id": "587d78a7367417b2b2512ae2",
"title": "Create Visual Direction by Fading an Element from Left to Right"
},
{
"id": "587d78a8367417b2b2512ae3",
"title": "Animate Elements Continually Using an Infinite Animation Count"
},
{
"id": "587d78a8367417b2b2512ae4",
"title": "Make a CSS Heartbeat using an Infinite Animation Count"
},
{
"id": "587d78a8367417b2b2512ae5",
"title": "Animate Elements at Variable Rates"
},
{
"id": "587d78a8367417b2b2512ae6",
"title": "Animate Multiple Elements at Variable Rates"
},
{
"id": "587d78a8367417b2b2512ae7",
"title": "Change Animation Timing with Keywords"
},
{
"id": "587d78a9367417b2b2512ae8",
"title": "Learn How Bezier Curves Work"
},
{
"id": "587d78a9367417b2b2512ae9",
"title": "Use a Bezier Curve to Move a Graphic"
},
{
"id": "587d78a9367417b2b2512aea",
"title": "Make Motion More Natural Using a Bezier Curve"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,28 @@
{
"isUpcomingChange": false,
"dashedName": "back-end-development-and-apis-projects",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "bd7158d8c443edefaeb5bdef",
"title": "Timestamp Microservice"
},
{
"id": "bd7158d8c443edefaeb5bdff",
"title": "Request Header Parser Microservice"
},
{
"id": "bd7158d8c443edefaeb5bd0e",
"title": "URL Shortener Microservice"
},
{
"id": "5a8b073d06fa14fcfde687aa",
"title": "Exercise Tracker"
},
{
"id": "bd7158d8c443edefaeb5bd0f",
"title": "File Metadata Microservice"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,72 @@
{
"isUpcomingChange": false,
"dashedName": "basic-algorithm-scripting",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "56533eb9ac21ba0edf2244b3",
"title": "Convert Celsius to Fahrenheit"
},
{
"id": "a202eed8fc186c8434cb6d61",
"title": "Reverse a String"
},
{
"id": "a302f7aae1aa3152a5b413bc",
"title": "Factorialize a Number"
},
{
"id": "a26cbbe9ad8655a977e1ceb5",
"title": "Find the Longest Word in a String"
},
{
"id": "a789b3483989747d63b0e427",
"title": "Return Largest Numbers in Arrays"
},
{
"id": "acda2fb1324d9b0fa741e6b5",
"title": "Confirm the Ending"
},
{
"id": "afcc8d540bea9ea2669306b6",
"title": "Repeat a String Repeat a String"
},
{
"id": "ac6993d51946422351508a41",
"title": "Truncate a String"
},
{
"id": "a6e40f1041b06c996f7b2406",
"title": "Finders Keepers"
},
{
"id": "a77dbc43c33f39daa4429b4f",
"title": "Boo who"
},
{
"id": "ab6137d4e35944e21037b769",
"title": "Title Case a Sentence"
},
{
"id": "579e2a2c335b9d72dd32e05c",
"title": "Slice and Splice"
},
{
"id": "adf08ec01beb4f99fc7a68f2",
"title": "Falsy Bouncer"
},
{
"id": "a24c1a4622e3c05097f71d67",
"title": "Where do I Belong"
},
{
"id": "af2170cad53daa0770fabdea",
"title": "Mutations"
},
{
"id": "a9bd25c716030ec90084d8a1",
"title": "Chunky Monkey"
}
],
"blockLayout": "legacy-challenge-list"
}
+184
View File
@@ -0,0 +1,184 @@
{
"isUpcomingChange": false,
"dashedName": "basic-css",
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "bad87fee1348bd9aedf08803",
"title": "Change the Color of Text"
},
{
"id": "bad87fee1348bd9aedf08805",
"title": "Use CSS Selectors to Style Elements"
},
{
"id": "bad87fee1348bd9aecf08806",
"title": "Use a CSS Class to Style an Element"
},
{
"id": "bad87fee1348bd9aefe08806",
"title": "Style Multiple Elements with a CSS Class"
},
{
"id": "bad87fee1348bd9aedf08806",
"title": "Change the Font Size of an Element"
},
{
"id": "bad87fee1348bd9aede08807",
"title": "Set the Font Family of an Element"
},
{
"id": "bad87fee1348bd9aedf08807",
"title": "Import a Google Font"
},
{
"id": "bad87fee1348bd9aedf08808",
"title": "Specify How Fonts Should Degrade"
},
{
"id": "bad87fee1348bd9acdf08812",
"title": "Size Your Images"
},
{
"id": "bad87fee1348bd9bedf08813",
"title": "Add Borders Around Your Elements"
},
{
"id": "bad87fee1348bd9aedf08814",
"title": "Add Rounded Corners with border-radius"
},
{
"id": "bad87fee1348bd9aedf08815",
"title": "Make Circular Images with a border-radius"
},
{
"id": "bad87fed1348bd9aede07836",
"title": "Give a Background Color to a div Element"
},
{
"id": "bad87eee1348bd9aede07836",
"title": "Set the id of an Element"
},
{
"id": "bad87dee1348bd9aede07836",
"title": "Use an id Attribute to Style an Element"
},
{
"id": "bad88fee1348bd9aedf08825",
"title": "Adjust the Padding of an Element"
},
{
"id": "bad87fee1348bd9aedf08822",
"title": "Adjust the Margin of an Element"
},
{
"id": "bad87fee1348bd9aedf08823",
"title": "Add a Negative Margin to an Element"
},
{
"id": "bad87fee1348bd9aedf08824",
"title": "Add Different Padding to Each Side of an Element"
},
{
"id": "bad87fee1248bd9aedf08824",
"title": "Add Different Margins to Each Side of an Element"
},
{
"id": "bad87fee1348bd9aedf08826",
"title": "Use Clockwise Notation to Specify the Padding of an Element"
},
{
"id": "bad87fee1348bd9afdf08726",
"title": "Use Clockwise Notation to Specify the Margin of an Element"
},
{
"id": "58c383d33e2e3259241f3076",
"title": "Use Attribute Selectors to Style Elements"
},
{
"id": "bad82fee1322bd9aedf08721",
"title": "Understand Absolute versus Relative Units"
},
{
"id": "bad87fee1348bd9aedf08736",
"title": "Style the HTML Body Element"
},
{
"id": "bad87fee1348bd9aedf08746",
"title": "Inherit Styles from the Body Element"
},
{
"id": "bad87fee1348bd9aedf08756",
"title": "Prioritize One Style Over Another"
},
{
"id": "bad87fee1348bd9aedf04756",
"title": "Override Styles in Subsequent CSS"
},
{
"id": "bad87fee1348bd8aedf06756",
"title": "Override Class Declarations by Styling ID Attributes"
},
{
"id": "bad87fee1348bd9aedf06756",
"title": "Override Class Declarations with Inline Styles"
},
{
"id": "bad87fee1348bd9aedf07756",
"title": "Override All Other Styles by using Important"
},
{
"id": "bad87fee1348bd9aedf08726",
"title": "Use Hex Code for Specific Colors"
},
{
"id": "bad87fee1348bd9aedf08721",
"title": "Use Hex Code to Mix Colors"
},
{
"id": "bad87fee1348bd9aedf08719",
"title": "Use Abbreviated Hex Code"
},
{
"id": "bad87fee1348bd9aede08718",
"title": "Use RGB values to Color Elements"
},
{
"id": "bad82fee1348bd9aedf08721",
"title": "Use RGB to Mix Colors"
},
{
"id": "5a9d725e424fe3d0e10cad10",
"title": "Use CSS Variables to change several elements at once"
},
{
"id": "5a9d726c424fe3d0e10cad11",
"title": "Create a custom CSS Variable"
},
{
"id": "5a9d727a424fe3d0e10cad12",
"title": "Use a custom CSS Variable"
},
{
"id": "5a9d7286424fe3d0e10cad13",
"title": "Attach a Fallback value to a CSS Variable"
},
{
"id": "5b7d72c338cd7e35b63f3e14",
"title": "Improve Compatibility with Browser Fallbacks"
},
{
"id": "5a9d7295424fe3d0e10cad14",
"title": "Inherit CSS Variables"
},
{
"id": "5a9d72a1424fe3d0e10cad15",
"title": "Change a variable for a specific area"
},
{
"id": "5a9d72ad424fe3d0e10cad16",
"title": "Use a media query to change a variable"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,88 @@
{
"isUpcomingChange": false,
"dashedName": "basic-data-structures",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "587d7b7e367417b2b2512b20",
"title": "Use an Array to Store a Collection of Data"
},
{
"id": "5a661e0f1068aca922b3ef17",
"title": "Access an Array's Contents Using Bracket Notation"
},
{
"id": "587d78b2367417b2b2512b0e",
"title": "Add Items to an Array with push() and unshift()"
},
{
"id": "587d78b2367417b2b2512b0f",
"title": "Remove Items from an Array with pop() and shift()"
},
{
"id": "587d78b2367417b2b2512b10",
"title": "Remove Items Using splice()"
},
{
"id": "587d78b3367417b2b2512b11",
"title": "Add Items Using splice()"
},
{
"id": "587d7b7a367417b2b2512b12",
"title": "Copy Array Items Using slice()"
},
{
"id": "587d7b7b367417b2b2512b13",
"title": "Copy an Array with the Spread Operator"
},
{
"id": "587d7b7b367417b2b2512b17",
"title": "Combine Arrays with the Spread Operator"
},
{
"id": "587d7b7b367417b2b2512b14",
"title": "Check For The Presence of an Element With indexOf()"
},
{
"id": "587d7b7b367417b2b2512b15",
"title": "Iterate Through All an Array's Items Using For Loops"
},
{
"id": "587d7b7b367417b2b2512b16",
"title": "Create complex multi-dimensional arrays"
},
{
"id": "587d7b7c367417b2b2512b18",
"title": "Add Key-Value Pairs to JavaScript Objects"
},
{
"id": "587d7b7c367417b2b2512b19",
"title": "Modify an Object Nested Within an Object"
},
{
"id": "587d7b7c367417b2b2512b1a",
"title": "Access Property Names with Bracket Notation"
},
{
"id": "587d7b7c367417b2b2512b1b",
"title": "Use the delete Keyword to Remove Object Properties"
},
{
"id": "587d7b7d367417b2b2512b1c",
"title": "Check if an Object has a Property"
},
{
"id": "587d7b7d367417b2b2512b1d",
"title": "Iterate Through the Keys of an Object with a for...in Statement"
},
{
"id": "587d7b7d367417b2b2512b1e",
"title": "Generate an Array of All Object Keys with Object.keys()"
},
{
"id": "587d7b7d367417b2b2512b1f",
"title": "Modify an Array Stored in an Object"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,120 @@
{
"isUpcomingChange": false,
"dashedName": "basic-html-and-html5",
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "bd7123c8c441eddfaeb5bdef",
"title": "Say Hello to HTML Elements"
},
{
"id": "bad87fee1348bd9aedf0887a",
"title": "Headline with the h2 Element"
},
{
"id": "bad87fee1348bd9aedf08801",
"title": "Inform with the Paragraph Element"
},
{
"id": "bad87fee1348bd9aedf08833",
"title": "Fill in the Blank with Placeholder Text"
},
{
"id": "bad87fee1348bd9aedf08802",
"title": "Uncomment HTML"
},
{
"id": "bad87fee1348bd9aedf08804",
"title": "Comment out HTML"
},
{
"id": "bad87fed1348bd9aedf08833",
"title": "Delete HTML Elements"
},
{
"id": "bad87fee1348bd9aecf08801",
"title": "Introduction to HTML5 Elements"
},
{
"id": "bad87fee1348bd9aedf08812",
"title": "Add Images to Your Website"
},
{
"id": "bad87fee1348bd9aedf08816",
"title": "Link to External Pages with Anchor Elements"
},
{
"id": "bad88fee1348bd9aedf08816",
"title": "Link to Internal Sections of a Page with Anchor Elements"
},
{
"id": "bad87fee1348bd9aede08817",
"title": "Nest an Anchor Element within a Paragraph"
},
{
"id": "bad87fee1348bd9aedf08817",
"title": "Make Dead Links Using the Hash Symbol"
},
{
"id": "bad87fee1348bd9aedf08820",
"title": "Turn an Image into a Link"
},
{
"id": "bad87fee1348bd9aedf08827",
"title": "Create a Bulleted Unordered List"
},
{
"id": "bad87fee1348bd9aedf08828",
"title": "Create an Ordered List"
},
{
"id": "bad87fee1348bd9aedf08829",
"title": "Create a Text Field"
},
{
"id": "bad87fee1348bd9aedf08830",
"title": "Add Placeholder Text to a Text Field"
},
{
"id": "bad87fee1348bd9aede08830",
"title": "Create a Form Element"
},
{
"id": "bad87fee1348bd9aedd08830",
"title": "Add a Submit Button to a Form"
},
{
"id": "bad87fee1348bd9aedc08830",
"title": "Use HTML5 to Require a Field"
},
{
"id": "bad87fee1348bd9aedf08834",
"title": "Create a Set of Radio Buttons"
},
{
"id": "bad87fee1348bd9aedf08835",
"title": "Create a Set of Checkboxes"
},
{
"id": "5c6c06847491271903d37cfd",
"title": "Use the value attribute with Radio Buttons and Checkboxes"
},
{
"id": "bad87fee1348bd9aedd08835",
"title": "Check Radio Buttons and Checkboxes by Default"
},
{
"id": "bad87fee1348bd9aede08835",
"title": "Nest Many Elements within a Single div Element"
},
{
"id": "587d78aa367417b2b2512aed",
"title": "Declare the Doctype of an HTML Document"
},
{
"id": "587d78aa367417b2b2512aec",
"title": "Define the Head and Body of an HTML Document"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,460 @@
{
"isUpcomingChange": false,
"dashedName": "basic-javascript",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "bd7123c9c441eddfaeb4bdef",
"title": "Comment Your JavaScript Code"
},
{
"id": "bd7123c9c443eddfaeb5bdef",
"title": "Declare JavaScript Variables"
},
{
"id": "56533eb9ac21ba0edf2244a8",
"title": "Storing Values with the Assignment Operator"
},
{
"id": "5ee127a03c3b35dd45426493",
"title": "Assigning the Value of One Variable to Another"
},
{
"id": "56533eb9ac21ba0edf2244a9",
"title": "Initializing Variables with the Assignment Operator"
},
{
"id": "bd7123c9c444eddfaeb5bdef",
"title": "Declare String Variables"
},
{
"id": "56533eb9ac21ba0edf2244aa",
"title": "Understanding Uninitialized Variables"
},
{
"id": "56533eb9ac21ba0edf2244ab",
"title": "Understanding Case Sensitivity in Variables"
},
{
"id": "587d7b87367417b2b2512b3f",
"title": "Explore Differences Between the var and let Keywords"
},
{
"id": "587d7b87367417b2b2512b41",
"title": "Declare a Read-Only Variable with the const Keyword"
},
{
"id": "cf1111c1c11feddfaeb3bdef",
"title": "Add Two Numbers with JavaScript"
},
{
"id": "cf1111c1c11feddfaeb4bdef",
"title": "Subtract One Number from Another with JavaScript"
},
{
"id": "cf1231c1c11feddfaeb5bdef",
"title": "Multiply Two Numbers with JavaScript"
},
{
"id": "cf1111c1c11feddfaeb6bdef",
"title": "Divide One Number by Another with JavaScript"
},
{
"id": "56533eb9ac21ba0edf2244ac",
"title": "Increment a Number with JavaScript"
},
{
"id": "56533eb9ac21ba0edf2244ad",
"title": "Decrement a Number with JavaScript"
},
{
"id": "cf1391c1c11feddfaeb4bdef",
"title": "Create Decimal Numbers with JavaScript"
},
{
"id": "bd7993c9c69feddfaeb7bdef",
"title": "Multiply Two Decimals with JavaScript"
},
{
"id": "bd7993c9ca9feddfaeb7bdef",
"title": "Divide One Decimal by Another with JavaScript"
},
{
"id": "56533eb9ac21ba0edf2244ae",
"title": "Finding a Remainder in JavaScript"
},
{
"id": "56533eb9ac21ba0edf2244af",
"title": "Compound Assignment With Augmented Addition"
},
{
"id": "56533eb9ac21ba0edf2244b0",
"title": "Compound Assignment With Augmented Subtraction"
},
{
"id": "56533eb9ac21ba0edf2244b1",
"title": "Compound Assignment With Augmented Multiplication"
},
{
"id": "56533eb9ac21ba0edf2244b2",
"title": "Compound Assignment With Augmented Division"
},
{
"id": "56533eb9ac21ba0edf2244b5",
"title": "Escaping Literal Quotes in Strings"
},
{
"id": "56533eb9ac21ba0edf2244b4",
"title": "Quoting Strings with Single Quotes"
},
{
"id": "56533eb9ac21ba0edf2244b6",
"title": "Escape Sequences in Strings"
},
{
"id": "56533eb9ac21ba0edf2244b7",
"title": "Concatenating Strings with Plus Operator"
},
{
"id": "56533eb9ac21ba0edf2244b8",
"title": "Concatenating Strings with the Plus Equals Operator"
},
{
"id": "56533eb9ac21ba0edf2244b9",
"title": "Constructing Strings with Variables"
},
{
"id": "56533eb9ac21ba0edf2244ed",
"title": "Appending Variables to Strings"
},
{
"id": "bd7123c9c448eddfaeb5bdef",
"title": "Find the Length of a String"
},
{
"id": "bd7123c9c549eddfaeb5bdef",
"title": "Use Bracket Notation to Find the First Character in a String"
},
{
"id": "56533eb9ac21ba0edf2244ba",
"title": "Understand String Immutability"
},
{
"id": "bd7123c9c450eddfaeb5bdef",
"title": "Use Bracket Notation to Find the Nth Character in a String"
},
{
"id": "bd7123c9c451eddfaeb5bdef",
"title": "Use Bracket Notation to Find the Last Character in a String"
},
{
"id": "bd7123c9c452eddfaeb5bdef",
"title": "Use Bracket Notation to Find the Nth-to-Last Character in a String"
},
{
"id": "56533eb9ac21ba0edf2244bb",
"title": "Word Blanks"
},
{
"id": "bd7993c9c69feddfaeb8bdef",
"title": "Store Multiple Values in one Variable using JavaScript Arrays"
},
{
"id": "cf1111c1c11feddfaeb7bdef",
"title": "Nest one Array within Another Array"
},
{
"id": "56bbb991ad1ed5201cd392ca",
"title": "Access Array Data with Indexes"
},
{
"id": "cf1111c1c11feddfaeb8bdef",
"title": "Modify Array Data With Indexes"
},
{
"id": "56592a60ddddeae28f7aa8e1",
"title": "Access Multi-Dimensional Arrays With Indexes"
},
{
"id": "56bbb991ad1ed5201cd392cb",
"title": "Manipulate Arrays With push Method"
},
{
"id": "56bbb991ad1ed5201cd392cc",
"title": "Manipulate Arrays With pop Method"
},
{
"id": "56bbb991ad1ed5201cd392cd",
"title": "Manipulate Arrays With shift Method"
},
{
"id": "56bbb991ad1ed5201cd392ce",
"title": "Manipulate Arrays With unshift Method"
},
{
"id": "56533eb9ac21ba0edf2244bc",
"title": "Shopping List"
},
{
"id": "56bbb991ad1ed5201cd392cf",
"title": "Write Reusable JavaScript with Functions"
},
{
"id": "56533eb9ac21ba0edf2244bd",
"title": "Passing Values to Functions with Arguments"
},
{
"id": "56533eb9ac21ba0edf2244c2",
"title": "Return a Value from a Function with Return"
},
{
"id": "56533eb9ac21ba0edf2244be",
"title": "Global Scope and Functions"
},
{
"id": "56533eb9ac21ba0edf2244bf",
"title": "Local Scope and Functions"
},
{
"id": "56533eb9ac21ba0edf2244c0",
"title": "Global vs. Local Scope in Functions"
},
{
"id": "598e8944f009e646fc236146",
"title": "Understanding Undefined Value returned from a Function"
},
{
"id": "56533eb9ac21ba0edf2244c3",
"title": "Assignment with a Returned Value"
},
{
"id": "56533eb9ac21ba0edf2244c6",
"title": "Stand in Line"
},
{
"id": "bd7123c9c441eddfaeb5bdef",
"title": "Understanding Boolean Values"
},
{
"id": "cf1111c1c12feddfaeb3bdef",
"title": "Use Conditional Logic with If Statements"
},
{
"id": "56533eb9ac21ba0edf2244d0",
"title": "Comparison with the Equality Operator"
},
{
"id": "56533eb9ac21ba0edf2244d1",
"title": "Comparison with the Strict Equality Operator"
},
{
"id": "599a789b454f2bbd91a3ff4d",
"title": "Practice comparing different values"
},
{
"id": "56533eb9ac21ba0edf2244d2",
"title": "Comparison with the Inequality Operator"
},
{
"id": "56533eb9ac21ba0edf2244d3",
"title": "Comparison with the Strict Inequality Operator"
},
{
"id": "56533eb9ac21ba0edf2244d4",
"title": "Comparison with the Greater Than Operator"
},
{
"id": "56533eb9ac21ba0edf2244d5",
"title": "Comparison with the Greater Than Or Equal To Operator"
},
{
"id": "56533eb9ac21ba0edf2244d6",
"title": "Comparison with the Less Than Operator"
},
{
"id": "56533eb9ac21ba0edf2244d7",
"title": "Comparison with the Less Than Or Equal To Operator"
},
{
"id": "56533eb9ac21ba0edf2244d8",
"title": "Comparisons with the Logical And Operator"
},
{
"id": "56533eb9ac21ba0edf2244d9",
"title": "Comparisons with the Logical Or Operator"
},
{
"id": "56533eb9ac21ba0edf2244da",
"title": "Introducing Else Statements"
},
{
"id": "56533eb9ac21ba0edf2244db",
"title": "Introducing Else If Statements"
},
{
"id": "5690307fddb111c6084545d7",
"title": "Logical Order in If Else Statements"
},
{
"id": "56533eb9ac21ba0edf2244dc",
"title": "Chaining If Else Statements"
},
{
"id": "5664820f61c48e80c9fa476c",
"title": "Golf Code"
},
{
"id": "56533eb9ac21ba0edf2244dd",
"title": "Selecting from Many Options with Switch Statements"
},
{
"id": "56533eb9ac21ba0edf2244de",
"title": "Adding a Default Option in Switch Statements"
},
{
"id": "56533eb9ac21ba0edf2244df",
"title": "Multiple Identical Options in Switch Statements"
},
{
"id": "56533eb9ac21ba0edf2244e0",
"title": "Replacing If Else Chains with Switch"
},
{
"id": "5679ceb97cbaa8c51670a16b",
"title": "Returning Boolean Values from Functions"
},
{
"id": "56533eb9ac21ba0edf2244c4",
"title": "Return Early Pattern for Functions"
},
{
"id": "565bbe00e9cc8ac0725390f4",
"title": "Counting Cards"
},
{
"id": "56bbb991ad1ed5201cd392d0",
"title": "Build JavaScript Objects"
},
{
"id": "56533eb9ac21ba0edf2244c7",
"title": "Accessing Object Properties with Dot Notation"
},
{
"id": "56533eb9ac21ba0edf2244c8",
"title": "Accessing Object Properties with Bracket Notation"
},
{
"id": "56533eb9ac21ba0edf2244c9",
"title": "Accessing Object Properties with Variables"
},
{
"id": "56bbb991ad1ed5201cd392d1",
"title": "Updating Object Properties"
},
{
"id": "56bbb991ad1ed5201cd392d2",
"title": "Add New Properties to a JavaScript Object"
},
{
"id": "56bbb991ad1ed5201cd392d3",
"title": "Delete Properties from a JavaScript Object"
},
{
"id": "56533eb9ac21ba0edf2244ca",
"title": "Using Objects for Lookups"
},
{
"id": "567af2437cbaa8c51670a16c",
"title": "Testing Objects for Properties"
},
{
"id": "56533eb9ac21ba0edf2244cb",
"title": "Manipulating Complex Objects"
},
{
"id": "56533eb9ac21ba0edf2244cc",
"title": "Accessing Nested Objects"
},
{
"id": "56533eb9ac21ba0edf2244cd",
"title": "Accessing Nested Arrays"
},
{
"id": "56533eb9ac21ba0edf2244cf",
"title": "Record Collection"
},
{
"id": "cf1111c1c11feddfaeb1bdef",
"title": "Iterate with JavaScript While Loops"
},
{
"id": "cf1111c1c11feddfaeb5bdef",
"title": "Iterate with JavaScript For Loops"
},
{
"id": "56104e9e514f539506016a5c",
"title": "Iterate Odd Numbers With a For Loop"
},
{
"id": "56105e7b514f539506016a5e",
"title": "Count Backwards With a For Loop"
},
{
"id": "5675e877dbd60be8ad28edc6",
"title": "Iterate Through an Array with a For Loop"
},
{
"id": "56533eb9ac21ba0edf2244e1",
"title": "Nesting For Loops"
},
{
"id": "5a2efd662fb457916e1fe604",
"title": "Iterate with JavaScript Do...While Loops"
},
{
"id": "5cfa3679138e7d9595b9d9d4",
"title": "Replace Loops using Recursion"
},
{
"id": "5688e62ea601b2482ff8422b",
"title": "Profile Lookup"
},
{
"id": "cf1111c1c11feddfaeb9bdef",
"title": "Generate Random Fractions with JavaScript"
},
{
"id": "cf1111c1c12feddfaeb1bdef",
"title": "Generate Random Whole Numbers with JavaScript"
},
{
"id": "cf1111c1c12feddfaeb2bdef",
"title": "Generate Random Whole Numbers within a Range"
},
{
"id": "587d7b7e367417b2b2512b23",
"title": "Use the parseInt Function"
},
{
"id": "587d7b7e367417b2b2512b22",
"title": "Use the parseInt Function with a Radix"
},
{
"id": "587d7b7e367417b2b2512b24",
"title": "Use the Conditional (Ternary) Operator"
},
{
"id": "587d7b7e367417b2b2512b21",
"title": "Use Multiple Conditional (Ternary) Operators"
},
{
"id": "5cd9a70215d3c4e65518328f",
"title": "Use Recursion to Create a Countdown"
},
{
"id": "5cc0bd7a49b71cb96132e54c",
"title": "Use Recursion to Create a Range of Numbers"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,56 @@
{
"isUpcomingChange": false,
"dashedName": "basic-node-and-express",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "587d7fb0367417b2b2512bed",
"title": "Meet the Node console"
},
{
"id": "587d7fb0367417b2b2512bee",
"title": "Start a Working Express Server"
},
{
"id": "587d7fb0367417b2b2512bef",
"title": "Serve an HTML File"
},
{
"id": "587d7fb0367417b2b2512bf0",
"title": "Serve Static Assets"
},
{
"id": "587d7fb1367417b2b2512bf1",
"title": "Serve JSON on a Specific Route"
},
{
"id": "587d7fb1367417b2b2512bf2",
"title": "Use the .env File"
},
{
"id": "587d7fb1367417b2b2512bf3",
"title": "Implement a Root-Level Request Logger Middleware"
},
{
"id": "587d7fb1367417b2b2512bf4",
"title": "Chain Middleware to Create a Time Server"
},
{
"id": "587d7fb2367417b2b2512bf5",
"title": "Get Route Parameter Input from the Client"
},
{
"id": "587d7fb2367417b2b2512bf6",
"title": "Get Query Parameter Input from the Client"
},
{
"id": "587d7fb2367417b2b2512bf7",
"title": "Use body-parser to Parse POST Requests"
},
{
"id": "587d7fb2367417b2b2512bf8",
"title": "Get Data from POST Requests"
}
],
"blockLayout": "legacy-challenge-list"
}
+137
View File
@@ -0,0 +1,137 @@
{
"isUpcomingChange": false,
"dashedName": "bootstrap",
"helpCategory": "HTML-CSS",
"required": [
{
"link": "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css"
}
],
"challengeOrder": [
{
"id": "bad87fee1348bd9acde08712",
"title": "Use Responsive Design with Bootstrap Fluid Containers"
},
{
"id": "bad87fee1348bd9acde08812",
"title": "Make Images Mobile Responsive"
},
{
"id": "bad87fee1348bd8acde08812",
"title": "Center Text with Bootstrap"
},
{
"id": "bad87fee1348cd8acdf08812",
"title": "Create a Bootstrap Button"
},
{
"id": "bad87fee1348cd8acef08812",
"title": "Create a Block Element Bootstrap Button"
},
{
"id": "bad87fee1348cd8acef08811",
"title": "Taste the Bootstrap Button Color Rainbow"
},
{
"id": "bad87fee1348cd8acef08813",
"title": "Call out Optional Actions with btn-info"
},
{
"id": "bad87fee1348ce8acef08814",
"title": "Warn Your Users of a Dangerous Action with btn-danger"
},
{
"id": "bad88fee1348ce8acef08815",
"title": "Use the Bootstrap Grid to Put Elements Side By Side"
},
{
"id": "bad87fee1347bd9aedf08845",
"title": "Ditch Custom CSS for Bootstrap"
},
{
"id": "bad87fee1348bd9aedf08845",
"title": "Use a span to Target Inline Elements"
},
{
"id": "bad87fee1348bd9aede08845",
"title": "Create a Custom Heading"
},
{
"id": "bad87fee1348bd9aedd08845",
"title": "Add Font Awesome Icons to our Buttons"
},
{
"id": "bad87fee1348bd9aedc08845",
"title": "Add Font Awesome Icons to all of our Buttons"
},
{
"id": "bad87fee1348bd9aedb08845",
"title": "Responsively Style Radio Buttons"
},
{
"id": "bad87fee1348bd9aeda08845",
"title": "Responsively Style Checkboxes"
},
{
"id": "bad87fee1348bd9aed908845",
"title": "Style Text Inputs as Form Controls"
},
{
"id": "bad87fee1348bd9aec908845",
"title": "Line up Form Elements Responsively with Bootstrap"
},
{
"id": "bad87fee1348bd9aec908846",
"title": "Create a Bootstrap Headline"
},
{
"id": "bad87fee1348bd9aec908746",
"title": "House our page within a Bootstrap container-fluid div"
},
{
"id": "bad87fee1348bd9bec908846",
"title": "Create a Bootstrap Row"
},
{
"id": "bad87fee1348bd9aec908847",
"title": "Split Your Bootstrap Row"
},
{
"id": "bad87fee1348bd9aec908848",
"title": "Create Bootstrap Wells"
},
{
"id": "bad87fee1348bd9aec908849",
"title": "Add Elements within Your Bootstrap Wells"
},
{
"id": "bad87fee1348bd9aec908850",
"title": "Apply the Default Bootstrap Button Style"
},
{
"id": "bad87fee1348bd9aec908852",
"title": "Create a Class to Target with jQuery Selectors"
},
{
"id": "bad87fee1348bd9aec908853",
"title": "Add id Attributes to Bootstrap Elements"
},
{
"id": "bad87fee1348bd9aec908854",
"title": "Label Bootstrap Wells"
},
{
"id": "bad87fee1348bd9aec908855",
"title": "Give Each Element a Unique id"
},
{
"id": "bad87fee1348bd9aec908856",
"title": "Label Bootstrap Buttons"
},
{
"id": "bad87fee1348bd9aec908857",
"title": "Use Comments to Clarify Code"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"usesMultifileEditor": true,
"dashedName": "build-a-budget-app-project",
"challengeOrder": [
{
"id": "5e44413e903586ffb414c94e",
"title": "Build a Budget App Project"
}
],
"helpCategory": "Python",
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-cash-register-project",
"usesMultifileEditor": true,
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "657bdcc3a322aae1eac38392",
"title": "Build a Cash Register"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-celestial-bodies-database-project",
"helpCategory": "Backend Development",
"challengeOrder": [
{
"id": "5f1a4ef5d5d6b5ab580fc6ae",
"title": "Build a Celestial Bodies Database"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-data-graph-explorer-project",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "63d8402e39c73468b059cd43",
"title": "Build a Data Graph Explorer"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-financial-calculator-project",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "63d8401e39c73468b059cd42",
"title": "Build a Financial Calculator"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-graphing-calculator-project",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "63d83ffd39c73468b059cd40",
"title": "Build a Graphing Calculator"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-multi-function-calculator-project",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "63d83ff239c73468b059cd3f",
"title": "Build a Multi-Function Calculator"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-number-guessing-game-project",
"helpCategory": "Backend Development",
"challengeOrder": [
{
"id": "602da04c22201c65d2a019f4",
"title": "Build a Number Guessing Game"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-palindrome-checker-project",
"usesMultifileEditor": true,
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "657bdc55a322aae1eac3838f",
"title": "Build a Palindrome Checker"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-periodic-table-database-project",
"helpCategory": "Backend Development",
"challengeOrder": [
{
"id": "602d9ff222201c65d2a019f2",
"title": "Build a Periodic Table Database"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-personal-portfolio-webpage-project",
"usesMultifileEditor": true,
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "bd7158d8c242eddfaeb5bd13",
"title": "Build a Personal Portfolio Webpage"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"usesMultifileEditor": true,
"dashedName": "build-a-polygon-area-calculator-project",
"challengeOrder": [
{
"id": "5e444147903586ffb414c94f",
"title": "Build a Polygon Area Calculator Project"
}
],
"helpCategory": "Python",
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"usesMultifileEditor": true,
"dashedName": "build-a-probability-calculator-project",
"challengeOrder": [
{
"id": "5e44414f903586ffb414c950",
"title": "Build a Probability Calculator Project"
}
],
"helpCategory": "Python",
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-product-landing-page-project",
"usesMultifileEditor": true,
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "587d78af367417b2b2512b04",
"title": "Build a Product Landing Page"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-roman-numeral-converter-project",
"usesMultifileEditor": true,
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "657bdc8ba322aae1eac38390",
"title": "Build a Roman Numeral Converter"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-salon-appointment-scheduler-project",
"helpCategory": "Backend Development",
"challengeOrder": [
{
"id": "5f87ac112ae598023a42df1a",
"title": "Build a Salon Appointment Scheduler"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-survey-form-project",
"usesMultifileEditor": true,
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "587d78af367417b2b2512b03",
"title": "Build a Survey Form"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-technical-documentation-page-project",
"usesMultifileEditor": true,
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "587d78b0367417b2b2512b05",
"title": "Build a Technical Documentation Page"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-telephone-number-validator-project",
"usesMultifileEditor": true,
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "657bdcb9a322aae1eac38391",
"title": "Build a Telephone Number Validator"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"usesMultifileEditor": true,
"dashedName": "build-a-time-calculator-project",
"challengeOrder": [
{
"id": "5e444136903586ffb414c94d",
"title": "Build a Time Calculator Project"
}
],
"helpCategory": "Python",
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-tribute-page-project",
"usesMultifileEditor": true,
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "bd7158d8c442eddfaeb5bd18",
"title": "Build a Tribute Page"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-a-world-cup-database-project",
"helpCategory": "Backend Development",
"challengeOrder": [
{
"id": "5f9771307d4d22b9d2b75a94",
"title": "Build a World Cup Database"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"usesMultifileEditor": true,
"dashedName": "build-an-arithmetic-formatter-project",
"challengeOrder": [
{
"id": "5e44412c903586ffb414c94c",
"title": "Build an Arithmetic Formatter Project"
}
],
"helpCategory": "Python",
"blockLayout": "legacy-link"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "build-an-rpg-creature-search-app-project",
"usesMultifileEditor": true,
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "6555c1d3e11a1574434cf8b5",
"title": "Build an RPG Creature Search App Project"
}
],
"blockLayout": "legacy-link"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "build-three-math-games-project",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "63d8401039c73468b059cd41",
"title": "Build Three Math Games"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,16 @@
{
"isUpcomingChange": false,
"dashedName": "college-algebra-with-python-conclusion",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "6363d2899078df117ce4c407",
"title": "Spreadsheets and Additional Resources"
},
{
"id": "6363d2959078df117ce4c408",
"title": "More Resources in Colab"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,29 @@
{
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"isUpcomingChange": false,
"dashedName": "control-flow-and-functions-in-python",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "58d5d031e969765037c1bebb",
"title": "Functions"
},
{
"id": "c6c9dae4017830e187eeaf42",
"title": "Return Statement"
},
{
"id": "08854a2c6f052efa1e5270d2",
"title": "If Statements"
},
{
"id": "8314d0bbddb0aa027a144705",
"title": "If Statements and Comparisons"
},
{
"id": "a9f9c5bf295034800d6c77ad",
"title": "Building a Better Calculator"
}
]
}
@@ -0,0 +1,29 @@
{
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"isUpcomingChange": false,
"dashedName": "core-primitives-in-python",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "62baa9d28e8723f635a0093e",
"title": "Drawing a Shape"
},
{
"id": "315017f4457c19d45c2be034",
"title": "Variables and Data Types"
},
{
"id": "0e2f4bd857b1edc70bfcd1f9",
"title": "Working with Strings"
},
{
"id": "8ad37ddb7a23050f71cc9cc9",
"title": "Working with Numbers"
},
{
"id": "155ca30775751b78a860a79b",
"title": "Getting Input from Users"
}
]
}
@@ -0,0 +1,40 @@
{
"isUpcomingChange": false,
"dashedName": "create-and-run-simple-c-sharp-console-applications",
"helpCategory": "C-Sharp",
"challengeOrder": [
{
"id": "647e21f88acb466c97ccbeeb",
"title": "Install and Configure Visual Studio Code"
},
{
"id": "647e21c48acb466c97ccbee7",
"title": "Call Methods From the .NET Class Library Using C#"
},
{
"id": "647e21ba8acb466c97ccbee6",
"title": "Add Decision Logic to Your Code Using if, else, and else if statements in C#"
},
{
"id": "647e22058acb466c97ccbeec",
"title": "Store and Iterate Through Sequences of Data Using Arrays and the foreach Statement in C#"
},
{
"id": "647e21df8acb466c97ccbee9",
"title": "Create Readable Code with Conventions, Whitespace, and Comments in C#"
},
{
"id": "647e21eb8acb466c97ccbeea",
"title": "Guided Project - Develop foreach and if-elseif-else Structures to Process Array Data in C#"
},
{
"id": "647e21d08acb466c97ccbee8",
"title": "Challenge Project - Develop foreach and if-elseif-else Structures to Process Array Data in C#"
},
{
"id": "647f87dc07d29547b3bee1bf",
"title": "Trophy - Create and Run Simple C# Console Applications"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,32 @@
{
"isUpcomingChange": false,
"dashedName": "create-methods-in-c-sharp-console-applications",
"helpCategory": "C-Sharp",
"challengeOrder": [
{
"id": "647e226a8acb466c97ccbef1",
"title": "Write Your First C# Method"
},
{
"id": "647e224b8acb466c97ccbeef",
"title": "Create C# Methods with Parameters"
},
{
"id": "647e223c8acb466c97ccbeee",
"title": "Create C# Methods that Return Values"
},
{
"id": "647e225e8acb466c97ccbef0",
"title": "Guided Project - Plan a Petting Zoo Visit"
},
{
"id": "647e22338acb466c97ccbeed",
"title": "Challenge Project - Create a Mini-Game"
},
{
"id": "647f877f07d29547b3bee1be",
"title": "Trophy - Create Methods in C# Console Applications"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,76 @@
{
"isUpcomingChange": false,
"dashedName": "css-flexbox",
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "587d78ab367417b2b2512af0",
"title": "Use display: flex to Position Two Boxes"
},
{
"id": "587d78ab367417b2b2512af1",
"title": "Add Flex Superpowers to the Tweet Embed"
},
{
"id": "587d78ab367417b2b2512af2",
"title": "Use the flex-direction Property to Make a Row"
},
{
"id": "587d78ab367417b2b2512af3",
"title": "Apply the flex-direction Property to Create Rows in the Tweet Embed"
},
{
"id": "587d78ac367417b2b2512af4",
"title": "Use the flex-direction Property to Make a Column"
},
{
"id": "587d78ac367417b2b2512af5",
"title": "Apply the flex-direction Property to Create a Column in the Tweet Embed"
},
{
"id": "587d78ac367417b2b2512af6",
"title": "Align Elements Using the justify-content Property"
},
{
"id": "587d78ac367417b2b2512af7",
"title": "Use the justify-content Property in the Tweet Embed"
},
{
"id": "587d78ad367417b2b2512af8",
"title": "Align Elements Using the align-items Property"
},
{
"id": "587d78ad367417b2b2512af9",
"title": "Use the align-items Property in the Tweet Embed"
},
{
"id": "587d78ad367417b2b2512afa",
"title": "Use the flex-wrap Property to Wrap a Row or Column"
},
{
"id": "587d78ad367417b2b2512afb",
"title": "Use the flex-shrink Property to Shrink Items"
},
{
"id": "587d78ae367417b2b2512afc",
"title": "Use the flex-grow Property to Expand Items"
},
{
"id": "587d78ae367417b2b2512afd",
"title": "Use the flex-basis Property to Set the Initial Size of an Item"
},
{
"id": "587d78ae367417b2b2512afe",
"title": "Use the flex Shorthand Property"
},
{
"id": "587d78ae367417b2b2512aff",
"title": "Use the order Property to Rearrange Items"
},
{
"id": "587d78af367417b2b2512b00",
"title": "Use the align-self Property"
}
],
"blockLayout": "legacy-challenge-list"
}
+96
View File
@@ -0,0 +1,96 @@
{
"isUpcomingChange": false,
"dashedName": "css-grid",
"helpCategory": "HTML-CSS",
"challengeOrder": [
{
"id": "5a858944d96184f06fd60d61",
"title": "Create Your First CSS Grid"
},
{
"id": "5a9036d038fddaf9a66b5d32",
"title": "Add Columns with grid-template-columns"
},
{
"id": "5a9036e138fddaf9a66b5d33",
"title": "Add Rows with grid-template-rows"
},
{
"id": "5a9036ee38fddaf9a66b5d34",
"title": "Use CSS Grid units to Change the Size of Columns and Rows"
},
{
"id": "5a9036ee38fddaf9a66b5d35",
"title": "Create a Column Gap Using grid-column-gap"
},
{
"id": "5a9036ee38fddaf9a66b5d36",
"title": "Create a Row Gap using grid-row-gap"
},
{
"id": "5a9036ee38fddaf9a66b5d37",
"title": "Add Gaps Faster with grid-gap"
},
{
"id": "5a90372638fddaf9a66b5d38",
"title": "Use grid-column to Control Spacing"
},
{
"id": "5a90373638fddaf9a66b5d39",
"title": "Use grid-row to Control Spacing"
},
{
"id": "5a90374338fddaf9a66b5d3a",
"title": "Align an Item Horizontally using justify-self"
},
{
"id": "5a90375238fddaf9a66b5d3b",
"title": "Align an Item Vertically using align-self"
},
{
"id": "5a90376038fddaf9a66b5d3c",
"title": "Align All Items Horizontally using justify-items"
},
{
"id": "5a94fdf869fb03452672e45b",
"title": "Align All Items Vertically using align-items"
},
{
"id": "5a94fe0569fb03452672e45c",
"title": "Divide the Grid Into an Area Template"
},
{
"id": "5a94fe1369fb03452672e45d",
"title": "Place Items in Grid Areas Using the grid-area Property"
},
{
"id": "5a94fe2669fb03452672e45e",
"title": "Use grid-area Without Creating an Areas Template"
},
{
"id": "5a94fe3669fb03452672e45f",
"title": "Reduce Repetition Using the repeat Function"
},
{
"id": "5a94fe4469fb03452672e460",
"title": "Limit Item Size Using the minmax Function"
},
{
"id": "5a94fe5469fb03452672e461",
"title": "Create Flexible Layouts Using auto-fill"
},
{
"id": "5a94fe6269fb03452672e462",
"title": "Create Flexible Layouts Using auto-fit"
},
{
"id": "5a94fe7769fb03452672e463",
"title": "Use Media Queries to Create Responsive Layouts"
},
{
"id": "5a94fe8569fb03452672e464",
"title": "Create Grids within Grids"
}
],
"blockLayout": "legacy-challenge-list"
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,120 @@
{
"isUpcomingChange": false,
"dashedName": "data-analysis-with-python-course",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "5e9a093a74c4063ca6f7c14c",
"title": "Introduction to Data Analysis"
},
{
"id": "5e9a093a74c4063ca6f7c14d",
"title": "Data Analysis Example A"
},
{
"id": "5e9a093a74c4063ca6f7c14e",
"title": "Data Analysis Example B"
},
{
"id": "5e9a093a74c4063ca6f7c14f",
"title": "How to use Jupyter Notebooks Intro"
},
{
"id": "5e9a093a74c4063ca6f7c150",
"title": "Jupyter Notebooks Cells"
},
{
"id": "5e9a093a74c4063ca6f7c151",
"title": "Jupyter Notebooks Importing and Exporting Data"
},
{
"id": "5e9a093a74c4063ca6f7c152",
"title": "Numpy Introduction A"
},
{
"id": "5e9a093a74c4063ca6f7c153",
"title": "Numpy Introduction B"
},
{
"id": "5e9a093a74c4063ca6f7c154",
"title": "Numpy Arrays"
},
{
"id": "5e9a093a74c4063ca6f7c155",
"title": "Numpy Operations"
},
{
"id": "5e9a093a74c4063ca6f7c156",
"title": "Numpy Boolean Arrays"
},
{
"id": "5e9a093a74c4063ca6f7c157",
"title": "Numpy Algebra and Size"
},
{
"id": "5e9a093a74c4063ca6f7c158",
"title": "Pandas Introduction"
},
{
"id": "5e9a093a74c4063ca6f7c159",
"title": "Pandas Indexing and Conditional Selection"
},
{
"id": "5e9a093a74c4063ca6f7c15a",
"title": "Pandas DataFrames"
},
{
"id": "5e9a093a74c4063ca6f7c15b",
"title": "Pandas Conditional Selection and Modifying DataFrames"
},
{
"id": "5e9a093a74c4063ca6f7c15c",
"title": "Pandas Creating Columns"
},
{
"id": "5e9a093a74c4063ca6f7c15d",
"title": "Data Cleaning Introduction"
},
{
"id": "5e9a093a74c4063ca6f7c15e",
"title": "Data Cleaning with DataFrames"
},
{
"id": "5e9a093a74c4063ca6f7c15f",
"title": "Data Cleaning Duplicates"
},
{
"id": "5e9a093a74c4063ca6f7c160",
"title": "Data Cleaning and Visualizations"
},
{
"id": "5e9a093a74c4063ca6f7c161",
"title": "Reading Data Introduction"
},
{
"id": "5e9a093a74c4063ca6f7c162",
"title": "Reading Data CSV and TXT"
},
{
"id": "5e9a093a74c4063ca6f7c163",
"title": "Reading Data from Databases"
},
{
"id": "5e9a093a74c4063ca6f7c164",
"title": "Parsing HTML and Saving Data"
},
{
"id": "5e9a093a74c4063ca6f7c165",
"title": "Python Introduction"
},
{
"id": "5e9a093a74c4063ca6f7c166",
"title": "Python Functions and Collections"
},
{
"id": "5e9a093a74c4063ca6f7c167",
"title": "Python Iteration and Modules"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,28 @@
{
"isUpcomingChange": false,
"dashedName": "data-analysis-with-python-projects",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "5e46f7e5ac417301a38fb928",
"title": "Mean-Variance-Standard Deviation Calculator"
},
{
"id": "5e46f7e5ac417301a38fb929",
"title": "Demographic Data Analyzer"
},
{
"id": "5e46f7f8ac417301a38fb92a",
"title": "Medical Data Visualizer"
},
{
"id": "5e46f802ac417301a38fb92b",
"title": "Page View Time Series Visualizer"
},
{
"id": "5e4f5c4b570f7e3a4949899f",
"title": "Sea Level Predictor"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,192 @@
{
"isUpcomingChange": false,
"dashedName": "data-structures",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "587d8253367417b2b2512c6a",
"title": "Typed Arrays"
},
{
"id": "587d8250367417b2b2512c5e",
"title": "Learn how a Stack Works"
},
{
"id": "587d8250367417b2b2512c5f",
"title": "Create a Stack Class"
},
{
"id": "587d8250367417b2b2512c60",
"title": "Create a Queue Class"
},
{
"id": "587d8255367417b2b2512c74",
"title": "Create a Priority Queue Class"
},
{
"id": "587d8255367417b2b2512c75",
"title": "Create a Circular Queue"
},
{
"id": "8d1323c8c441eddfaeb5bdef",
"title": "Create a Set Class"
},
{
"id": "587d8253367417b2b2512c6c",
"title": "Perform a Union on Two Sets"
},
{
"id": "587d8253367417b2b2512c6d",
"title": "Perform an Intersection on Two Sets of Data"
},
{
"id": "587d8254367417b2b2512c6e",
"title": "Perform a Difference on Two Sets of Data"
},
{
"id": "587d8254367417b2b2512c6f",
"title": "Perform a Subset Check on Two Sets of Data"
},
{
"id": "587d8254367417b2b2512c70",
"title": "Create and Add to Sets in ES6"
},
{
"id": "587d8254367417b2b2512c71",
"title": "Remove items from a set in ES6"
},
{
"id": "587d8255367417b2b2512c72",
"title": "Use .has and .size on an ES6 Set"
},
{
"id": "587d8255367417b2b2512c73",
"title": "Use Spread and Notes for ES5 Set() Integration"
},
{
"id": "8d5823c8c441eddfaeb5bdef",
"title": "Create a Map Data Structure"
},
{
"id": "587d825b367417b2b2512c8d",
"title": "Create an ES6 JavaScript Map"
},
{
"id": "587d825b367417b2b2512c8e",
"title": "Create a Hash Table"
},
{
"id": "587d8251367417b2b2512c61",
"title": "Work with Nodes in a Linked List"
},
{
"id": "587d8251367417b2b2512c62",
"title": "Create a Linked List Class"
},
{
"id": "587d8251367417b2b2512c63",
"title": "Remove Elements from a Linked List"
},
{
"id": "587d8251367417b2b2512c64",
"title": "Search within a Linked List"
},
{
"id": "587d8251367417b2b2512c65",
"title": "Remove Elements from a Linked List by Index"
},
{
"id": "587d8252367417b2b2512c67",
"title": "Add Elements at a Specific Index in a Linked List"
},
{
"id": "587d825a367417b2b2512c87",
"title": "Create a Doubly Linked List"
},
{
"id": "587d825a367417b2b2512c88",
"title": "Reverse a Doubly Linked List"
},
{
"id": "587d8257367417b2b2512c7b",
"title": "Add a New Element to a Binary Search Tree"
},
{
"id": "587d8256367417b2b2512c7a",
"title": "Find the Minimum and Maximum Value in a Binary Search Tree"
},
{
"id": "587d8257367417b2b2512c7c",
"title": "Check if an Element is Present in a Binary Search Tree"
},
{
"id": "5cc0c1b32479e176caf3b422",
"title": "Check if Tree is Binary Search Tree"
},
{
"id": "587d8257367417b2b2512c7d",
"title": "Find the Minimum and Maximum Height of a Binary Search Tree"
},
{
"id": "587d8257367417b2b2512c7e",
"title": "Use Depth First Search in a Binary Search Tree"
},
{
"id": "587d8258367417b2b2512c7f",
"title": "Use Breadth First Search in a Binary Search Tree"
},
{
"id": "587d8258367417b2b2512c80",
"title": "Delete a Leaf Node in a Binary Search Tree"
},
{
"id": "587d8258367417b2b2512c81",
"title": "Delete a Node with One Child in a Binary Search Tree"
},
{
"id": "587d8258367417b2b2512c82",
"title": "Delete a Node with Two Children in a Binary Search Tree"
},
{
"id": "587d8259367417b2b2512c83",
"title": "Invert a Binary Tree"
},
{
"id": "587d8259367417b2b2512c84",
"title": "Create a Trie Search Tree"
},
{
"id": "587d825a367417b2b2512c8a",
"title": "Insert an Element into a Max Heap"
},
{
"id": "587d825b367417b2b2512c8b",
"title": "Remove an Element from a Max Heap"
},
{
"id": "587d825b367417b2b2512c8c",
"title": "Implement Heap Sort with a Min Heap"
},
{
"id": "587d8256367417b2b2512c77",
"title": "Adjacency List"
},
{
"id": "587d8256367417b2b2512c78",
"title": "Adjacency Matrix"
},
{
"id": "587d8256367417b2b2512c79",
"title": "Incidence Matrix"
},
{
"id": "587d825c367417b2b2512c90",
"title": "Breadth-First Search"
},
{
"id": "587d825d367417b2b2512c96",
"title": "Depth-First Search"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,28 @@
{
"isUpcomingChange": false,
"dashedName": "data-visualization-projects",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "bd7168d8c242eddfaeb5bd13",
"title": "Visualize Data with a Bar Chart"
},
{
"id": "bd7178d8c242eddfaeb5bd13",
"title": "Visualize Data with a Scatterplot Graph"
},
{
"id": "bd7188d8c242eddfaeb5bd13",
"title": "Visualize Data with a Heat Map"
},
{
"id": "587d7fa6367417b2b2512bbf",
"title": "Visualize Data with a Choropleth Map"
},
{
"id": "587d7fa6367417b2b2512bc0",
"title": "Visualize Data with a Treemap Diagram"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,129 @@
{
"isUpcomingChange": false,
"dashedName": "data-visualization-with-d3",
"helpCategory": "JavaScript",
"required": [
{
"src": "https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"
}
],
"challengeOrder": [
{
"id": "587d7fa6367417b2b2512bc2",
"title": "Add Document Elements with D3"
},
{
"id": "587d7fa6367417b2b2512bc3",
"title": "Select a Group of Elements with D3"
},
{
"id": "587d7fa7367417b2b2512bc4",
"title": "Work with Data in D3"
},
{
"id": "587d7fa7367417b2b2512bc5",
"title": "Work with Dynamic Data in D3"
},
{
"id": "587d7fa7367417b2b2512bc6",
"title": "Add Inline Styling to Elements"
},
{
"id": "587d7fa7367417b2b2512bc7",
"title": "Change Styles Based on Data"
},
{
"id": "587d7fa7367417b2b2512bc8",
"title": "Add Classes with D3"
},
{
"id": "587d7fa8367417b2b2512bc9",
"title": "Update the Height of an Element Dynamically"
},
{
"id": "587d7fa8367417b2b2512bca",
"title": "Change the Presentation of a Bar Chart"
},
{
"id": "587d7fa8367417b2b2512bcb",
"title": "Learn About SVG in D3"
},
{
"id": "587d7fa8367417b2b2512bcc",
"title": "Display Shapes with SVG"
},
{
"id": "587d7fa8367417b2b2512bcd",
"title": "Create a Bar for Each Data Point in the Set"
},
{
"id": "587d7fa9367417b2b2512bce",
"title": "Dynamically Set the Coordinates for Each Bar"
},
{
"id": "587d7fa9367417b2b2512bcf",
"title": "Dynamically Change the Height of Each Bar"
},
{
"id": "587d7fa9367417b2b2512bd0",
"title": "Invert SVG Elements"
},
{
"id": "587d7fa9367417b2b2512bd1",
"title": "Change the Color of an SVG Element"
},
{
"id": "587d7faa367417b2b2512bd2",
"title": "Add Labels to D3 Elements"
},
{
"id": "587d7faa367417b2b2512bd3",
"title": "Style D3 Labels"
},
{
"id": "587d7faa367417b2b2512bd4",
"title": "Add a Hover Effect to a D3 Element"
},
{
"id": "587d7faa367417b2b2512bd6",
"title": "Add a Tooltip to a D3 Element"
},
{
"id": "587d7fab367417b2b2512bd7",
"title": "Create a Scatterplot with SVG Circles"
},
{
"id": "587d7fab367417b2b2512bd8",
"title": "Add Attributes to the Circle Elements"
},
{
"id": "587d7fab367417b2b2512bd9",
"title": "Add Labels to Scatter Plot Circles"
},
{
"id": "587d7fab367417b2b2512bda",
"title": "Create a Linear Scale with D3"
},
{
"id": "587d7fac367417b2b2512bdb",
"title": "Set a Domain and a Range on a Scale"
},
{
"id": "587d7fac367417b2b2512bdc",
"title": "Use the d3.max and d3.min Functions to Find Minimum and Maximum Values in a Dataset"
},
{
"id": "587d7fac367417b2b2512bdd",
"title": "Use Dynamic Scales"
},
{
"id": "587d7fac367417b2b2512bde",
"title": "Use a Pre-Defined Scale to Place Elements"
},
{
"id": "587d7fad367417b2b2512bdf",
"title": "Add Axes to a Visualization"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,36 @@
{
"isUpcomingChange": false,
"dashedName": "debug-c-sharp-console-applications",
"helpCategory": "C-Sharp",
"challengeOrder": [
{
"id": "647e22c08acb466c97ccbef7",
"title": "Review the Principles of Code Debugging and Exception Handling"
},
{
"id": "647e22b38acb466c97ccbef6",
"title": "Implement the Visual Studio Code Debugging Tools for C#"
},
{
"id": "647e22a08acb466c97ccbef5",
"title": "Implement Exception Handling in C# Console Applications"
},
{
"id": "647e228a8acb466c97ccbef3",
"title": "Create and Throw Exceptions in C# Console Applications"
},
{
"id": "647e22958acb466c97ccbef4",
"title": "Guided Project - Debug and Handle Exceptions in a C# Console Application Using Visual Studio Code"
},
{
"id": "647e22778acb466c97ccbef2",
"title": "Challenge Project - Debug a C# Console Application Using Visual Studio Code"
},
{
"id": "647f86ff07d29547b3bee1bd",
"title": "Trophy - Debug C# Console Applications"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,56 @@
{
"isUpcomingChange": false,
"dashedName": "debugging",
"helpCategory": "JavaScript",
"challengeOrder": [
{
"id": "587d7b83367417b2b2512b33",
"title": "Use the JavaScript Console to Check the Value of a Variable"
},
{
"id": "587d7b83367417b2b2512b37",
"title": "Understanding the Differences between the freeCodeCamp and Browser Console"
},
{
"id": "587d7b84367417b2b2512b34",
"title": "Use typeof to Check the Type of a Variable"
},
{
"id": "587d7b84367417b2b2512b35",
"title": "Catch Misspelled Variable and Function Names"
},
{
"id": "587d7b84367417b2b2512b36",
"title": "Catch Unclosed Parentheses, Brackets, Braces and Quotes"
},
{
"id": "587d7b84367417b2b2512b37",
"title": "Catch Mixed Usage of Single and Double Quotes"
},
{
"id": "587d7b85367417b2b2512b38",
"title": "Catch Use of Assignment Operator Instead of Equality Operator"
},
{
"id": "587d7b85367417b2b2512b39",
"title": "Catch Missing Open and Closing Parenthesis After a Function Call"
},
{
"id": "587d7b85367417b2b2512b3a",
"title": "Catch Arguments Passed in the Wrong Order When Calling a Function"
},
{
"id": "587d7b86367417b2b2512b3b",
"title": "Catch Off By One Errors When Using Indexing"
},
{
"id": "587d7b86367417b2b2512b3c",
"title": "Use Caution When Reinitializing Variables Inside a Loop"
},
{
"id": "587d7b86367417b2b2512b3d",
"title": "Prevent Infinite Loops with a Valid Terminal Condition"
}
],
"blockLayout": "legacy-challenge-list"
}
@@ -0,0 +1,21 @@
{
"isUpcomingChange": false,
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"dashedName": "designing-reliable-rag-systems",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "69ae6fd0b4a814be6a4f2be0",
"title": "RAG Architecture"
},
{
"id": "69ae6fd7b4a814be6a4f2be1",
"title": "Caching, Monitoring, and Error Handling"
},
{
"id": "69ae6fdbb4a814be6a4f2be2",
"title": "RAG in Production"
}
]
}
@@ -0,0 +1,37 @@
{
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"isUpcomingChange": false,
"dashedName": "dictionaries-and-loops",
"helpCategory": "Python",
"challengeOrder": [
{
"id": "3625fbc38b9428ae98d98f23",
"title": "Dictionaries"
},
{
"id": "474c23ec0df6e7af920e0526",
"title": "While Loop"
},
{
"id": "d4876f74547b26d5c330423e",
"title": "Building a Guessing Game"
},
{
"id": "030401977064585ddd4c7746",
"title": "For Loops"
},
{
"id": "a4cfb218d22efcfa7cc49d80",
"title": "Exponent Functions"
},
{
"id": "28119f9dc5f93e3ac5d7c58a",
"title": "2D Lists and Nested Loops"
},
{
"id": "703bcd12c0edae7773eeec64",
"title": "Building a Translator"
}
]
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-certification-exam",
"helpCategory": "English",
"challengeOrder": [
{
"id": "6721db5d9f0c116e6a0fe25a",
"title": "A2 English for Developers Certification Exam"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-analyzing-documentation",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696036c75bfa3a06d9fecf9d",
"title": "Analyzing Code Documentation Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-asking-for-help",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "6960380051914816e10516a0",
"title": "Requesting and Receiving Guidance Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-basic-programming-vocabulary",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696031494ea3c8653d81a092",
"title": "Basic Programming Vocabulary Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-collaborating-in-meetings",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696034677ef27f3b81184b44",
"title": "Weekly Meeting Progress Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-conversation-starters-at-work",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696022ad7477e7e315f0f515",
"title": "Break Room Conversations Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-daily-life-routines",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "69602a7b93293a85be8055ce", "title": "Daily Routines at Work Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-discuss-roles-responsibilities",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69602ef35073dd8509b9b163",
"title": "Roles and Responsibilities Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-discussing-new-ideas",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69603327a10266c239ab29b3",
"title": "Tech Updates and Trends Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-discussing-problems-and-solutions",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696033db639ba6cfc22984b8",
"title": "Helping a Coworker on GitHub Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-discussing-progress-and-results",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "6960370ede2b87e92f532735",
"title": "Sharing Progress and Achievements Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-document-code-project",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "69603605779712c315811067", "title": "Documenting Code Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-educational-and-professional-background",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69602ccea37b20ccba6af9db",
"title": "Educational and Professional Background Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-express-agreement-disagreement",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "6960378c2a4dd0db6a8f4aa0",
"title": "Expressing Agreement and Disagreement Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-first-day-conversations-at-work",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69601914119b98f0f0c530b8",
"title": "First Day Conversations at Work Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-following-best-practices",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696037c40ed36007b2022ba6",
"title": "Offering Technical Support Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-getting-the-details-right",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "69603079ac6f4f686119e89e", "title": "Clarifying Information Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-giving-adivice-and-suggestions",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696038967cf5869566708d3d",
"title": "Explaining Things to Others Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-hobbies-and-interests",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69602e89c6d9b84c9ee2d8e2",
"title": "Talking About Hobbies and Interests Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-key-programming-terms",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696032de75803321a305301e",
"title": "Code Concepts and Terms Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-meeting-introductions-at-work",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696021f490b26a3fd15ce114",
"title": "Meeting Introductions at Work Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-preferences-and-motivations",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69602fb5a2ff00fdc5366974",
"title": "Preferences and Motivations Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-read-understand-code-documentation",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "6960366d7466fbe80a344aef",
"title": "Understanding Code Documentation Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-sharing-opinions",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "6960302e1671caf83a5bbf99", "title": "Technology Trends Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-task-project-updates-plans",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "6960374ac68fa06b00612356",
"title": "Task and Project Updates Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-understanding-problems",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696035aa15d649e4f9df2dd5",
"title": "Asking for Code Clarification Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-what-are-you-working-on",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69602c7fee2dba50d6061eca",
"title": "Describing Your Current Project Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-a2-quiz-work-routines-and-tasks",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696023253e4880cd0e5f4d1a",
"title": "Talking About Your Workday Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,12 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-certification-exam",
"helpCategory": "English",
"challengeOrder": [
{
"id": "694106b87224ea1c1a9d3201",
"title": "B1 English for Developers Certification Exam"
}
],
"blockLayout": "project-list"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-adjectives-conversations",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696046d136d434970e25af3f",
"title": "Using Adjectives in Conversations Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-adverbial-phrases",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "69604697df0bdcdb02a820fe", "title": "Adverbial Phrases Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-clarify-misunderstandings",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696046224a96c603346ba15f",
"title": "Clarifying Misunderstandings Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-conditionals",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "696043ed5bea9c7152b6e699", "title": "Using Conditionals Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-decisions-comparisons",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "6960456dccbf1b7260b1b7bb",
"title": "Making Decisions with Comparisons Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-describe-places-events",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69604103d290e1c4131ab27b",
"title": "Describing Places and Events Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-determiners-articles",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "69604712c9b07a9222096400",
"title": "Determiners and Articles Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-express-agreement",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "696044a24dc926aaa99e35c6", "title": "Expressing Agreement Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,10 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-express-concerns",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{ "id": "69604533db80dd47ad2b3ca0", "title": "Expressing Concerns Quiz" }
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-express-disagreement",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696044ddc473e1631e10002a",
"title": "Expressing Disagreement Quiz"
}
],
"blockLabel": "quiz"
}
@@ -0,0 +1,13 @@
{
"isUpcomingChange": false,
"dashedName": "en-b1-quiz-future-continuous-actions",
"helpCategory": "English",
"blockLayout": "link",
"challengeOrder": [
{
"id": "696043b2bbd5b82007ef893d",
"title": "Future Continuous Actions Quiz"
}
],
"blockLabel": "quiz"
}

Some files were not shown because too many files have changed in this diff Show More