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
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:
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "zh-a1-chapter-welcome-to-a1-professional-chinese",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "zh-a1-module-introduction-and-certification-overview",
|
||||
"blocks": ["zh-a1-learn-certification-introduction"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-chapter-pinyin",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "zh-a1-module-initials-and-finals",
|
||||
"blocks": [
|
||||
"zh-a1-learn-simple-finals",
|
||||
"zh-a1-learn-initials",
|
||||
"zh-a1-learn-compound-finals",
|
||||
"zh-a1-learn-nasal-finals",
|
||||
"zh-a1-learn-special-spelling-rules",
|
||||
"zh-a1-practice-pinyin"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-chapter-greetings-and-introductions",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "zh-a1-module-greetings-and-basic-introductions",
|
||||
"blocks": [
|
||||
"zh-a1-warm-up-greeting-new-colleagues",
|
||||
"zh-a1-learn-understanding-greetings-and-introductions",
|
||||
"zh-a1-practice-introducing-yourself",
|
||||
"zh-a1-review-greetings-and-introductions",
|
||||
"zh-a1-quiz-greetings-and-introductions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-module-asking-and-giving-basic-information",
|
||||
"blocks": [
|
||||
"zh-a1-warm-up-meeting-new-teammates",
|
||||
"zh-a1-learn-understanding-questions-and-answers",
|
||||
"zh-a1-practice-exchanging-basic-information",
|
||||
"zh-a1-review-introduction-questions",
|
||||
"zh-a1-quiz-introduction-questions"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-chapter-numbers-and-personal-information",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "zh-a1-module-numbers-below-100",
|
||||
"blocks": [
|
||||
"zh-a1-learn-numbers-0-to-10",
|
||||
"zh-a1-practice-numbers-0-to-10",
|
||||
"zh-a1-learn-numbers-11-to-19",
|
||||
"zh-a1-practice-numbers-11-to-19",
|
||||
"zh-a1-learn-numbers-20-to-99",
|
||||
"zh-a1-practice-numbers-20-to-99",
|
||||
"zh-a1-review-numbers-below-100",
|
||||
"zh-a1-quiz-numbers-below-100"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-module-communicating-personal-information",
|
||||
"comingSoon": true,
|
||||
"blocks": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-chapter-expressing-what-you-can-and-cant-do",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "zh-a1-module-talking-about-personal-skills",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"zh-a1-warm-up-personal-skills-basics",
|
||||
"zh-a1-learn-can-or-cannot",
|
||||
"zh-a1-practice-personal-skills",
|
||||
"zh-a1-review-describing-skills",
|
||||
"zh-a1-quiz-describing-skills"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "zh-a1-module-discussing-team-skills",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"zh-a1-warm-up-team-skills-basics",
|
||||
"zh-a1-learn-who-can-do-what-on-the-team",
|
||||
"zh-a1-practice-talking-about-skills",
|
||||
"zh-a1-review-discussing-team-skills",
|
||||
"zh-a1-quiz-discussing-team-skills"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "es-a1-chapter-welcome-to-a1-professional-spanish",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "es-a1-module-introduction-and-certification-overview",
|
||||
"blocks": ["es-a1-learn-certification-introduction"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-chapter-spanish-fundamentals",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "es-a1-module-letters-sounds-and-first-numbers",
|
||||
"blocks": [
|
||||
"es-a1-learn-vowels",
|
||||
"es-a1-learn-consonants-and-special-characters",
|
||||
"es-a1-practice-the-alphabet",
|
||||
"es-a1-learn-the-first-ten-numbers",
|
||||
"es-a1-practice-the-first-ten-numbers",
|
||||
"es-a1-review-spanish-fundamentals",
|
||||
"es-a1-quiz-spanish-fundamentals"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-chapter-greetings-and-introductions",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "es-a1-module-greetings-and-farewells",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-greetings-and-farewells-basics",
|
||||
"es-a1-learn-greetings-during-the-day",
|
||||
"es-a1-practice-greetings-and-farewells",
|
||||
"es-a1-review-greetings-and-farewells",
|
||||
"es-a1-quiz-greetings-and-farewells"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-module-introducing-yourself",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-introducing-yourself-basics",
|
||||
"es-a1-learn-meet-luna",
|
||||
"es-a1-learn-meet-mateo",
|
||||
"es-a1-learn-meet-julieta",
|
||||
"es-a1-practice-introducing-yourself",
|
||||
"es-a1-review-introducing-yourself",
|
||||
"es-a1-quiz-introducing-yourself"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-module-first-questions",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-first-questions-basics",
|
||||
"es-a1-learn-meet-angela-and-basti",
|
||||
"es-a1-practice-first-questions",
|
||||
"es-a1-review-first-questions",
|
||||
"es-a1-quiz-first-questions"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-chapter-basic-personal-details",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "es-a1-module-numbers-10-to-29",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-remember-first-numbers",
|
||||
"es-a1-learn-numbers-10-to-29",
|
||||
"es-a1-practice-using-numbers-10-to-29",
|
||||
"es-a1-review-numbers-10-to-29",
|
||||
"es-a1-quiz-numbers-10-to-29"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-module-sharing-your-personal-details",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-getting-ready-to-share-personal-details",
|
||||
"es-a1-learn-basic-personal-information",
|
||||
"es-a1-learn-contact-information-and-spelling",
|
||||
"es-a1-practice-personal-details-in-action",
|
||||
"es-a1-review-sharing-your-personal-details",
|
||||
"es-a1-quiz-sharing-your-personal-details"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-chapter-describing-company-and-people",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "es-a1-module-numbers-30-to-100",
|
||||
"blocks": [
|
||||
"es-a1-learn-numbers-30-to-60",
|
||||
"es-a1-learn-numbers-61-to-100",
|
||||
"es-a1-practice-using-the-first-100-numbers",
|
||||
"es-a1-review-first-100-numbers",
|
||||
"es-a1-quiz-numbers-30-to-100"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-module-describing-a-company",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-describing-a-company-basics",
|
||||
"es-a1-learn-what-the-company-does",
|
||||
"es-a1-practice-what-departments-do",
|
||||
"es-a1-learn-asking-about-a-company",
|
||||
"es-a1-practice-company-profile",
|
||||
"es-a1-review-talking-about-a-company",
|
||||
"es-a1-quiz-describing-a-company"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "es-a1-module-describing-people-at-work",
|
||||
"blocks": [
|
||||
"es-a1-warm-up-describing-people-at-work-basics",
|
||||
"es-a1-learn-mini-biographies",
|
||||
"es-a1-learn-talking-about-colleagues",
|
||||
"es-a1-practice-asking-about-mini-biographies",
|
||||
"es-a1-learn-short-workplace-profile",
|
||||
"es-a1-practice-asking-about-short-workplace-profiles",
|
||||
"es-a1-review-describing-people-at-work",
|
||||
"es-a1-quiz-describing-people-at-work"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-greetings-in-your-first-day-at-the-office",
|
||||
"en-a2-quiz-first-day-conversations-at-work",
|
||||
"learn-introductions-in-an-online-team-meeting",
|
||||
"en-a2-quiz-meeting-introductions-at-work",
|
||||
"learn-conversation-starters-in-the-break-room",
|
||||
"en-a2-quiz-conversation-starters-at-work",
|
||||
"learn-how-to-talk-about-a-typical-workday-and-tasks",
|
||||
"en-a2-quiz-work-routines-and-tasks",
|
||||
"learn-how-to-discuss-your-morning-or-evening-routine",
|
||||
"en-a2-quiz-daily-life-routines",
|
||||
"learn-how-to-describe-your-current-project",
|
||||
"en-a2-quiz-what-are-you-working-on",
|
||||
"learn-how-to-ask-and-share-about-educational-and-professional-background",
|
||||
"en-a2-quiz-educational-and-professional-background",
|
||||
"learn-how-to-talk-about-hobbies-and-interests",
|
||||
"en-a2-quiz-hobbies-and-interests",
|
||||
"learn-how-to-discuss-roles-and-responsibilities",
|
||||
"en-a2-quiz-discuss-roles-responsibilities",
|
||||
"learn-how-to-have-a-conversation-about-preferences-and-motivations",
|
||||
"en-a2-quiz-preferences-and-motivations",
|
||||
"learn-how-to-discuss-popular-trends-in-technology",
|
||||
"en-a2-quiz-sharing-opinions",
|
||||
"learn-how-to-clarify-information-in-different-interactions",
|
||||
"en-a2-quiz-getting-the-details-right",
|
||||
"learn-how-to-use-basic-programming-vocabulary-in-conversations",
|
||||
"en-a2-quiz-basic-programming-vocabulary",
|
||||
"learn-how-to-use-code-related-concepts-and-terms",
|
||||
"en-a2-quiz-key-programming-terms",
|
||||
"learn-how-to-discuss-tech-trends-and-updates",
|
||||
"en-a2-quiz-discussing-new-ideas",
|
||||
"learn-how-to-help-a-coworker-troubleshoot-on-github",
|
||||
"en-a2-quiz-discussing-problems-and-solutions",
|
||||
"learn-how-to-share-your-progress-in-weekly-stand-up-meetings",
|
||||
"en-a2-quiz-collaborating-in-meetings",
|
||||
"learn-how-to-ask-for-clarification-on-code-understanding",
|
||||
"en-a2-quiz-understanding-problems",
|
||||
"learn-how-to-document-code-for-a-project",
|
||||
"en-a2-quiz-document-code-project",
|
||||
"learn-how-to-read-and-understand-code-documentation",
|
||||
"en-a2-quiz-read-understand-code-documentation",
|
||||
"learn-how-to-analyze-code-documentation",
|
||||
"en-a2-quiz-analyzing-documentation",
|
||||
"learn-how-to-share-progress-and-accomplishments",
|
||||
"en-a2-quiz-discussing-progress-and-results",
|
||||
"learn-how-to-talk-about-updates-and-plans-for-tasks-and-projects",
|
||||
"en-a2-quiz-task-project-updates-plans",
|
||||
"learn-how-to-express-agreement-or-disagreement",
|
||||
"en-a2-quiz-express-agreement-disagreement",
|
||||
"learn-how-to-offer-technical-support-and-guidance",
|
||||
"en-a2-quiz-following-best-practices",
|
||||
"learn-how-to-request-and-receive-guidance",
|
||||
"en-a2-quiz-asking-for-help",
|
||||
"learn-how-to-provide-explanations-when-helping-others",
|
||||
"en-a2-quiz-giving-adivice-and-suggestions",
|
||||
"en-a2-certification-exam"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"blocks": [
|
||||
"talk-about-what-you-do-by-using-key-verbs",
|
||||
"get-to-know-colleagues-by-asking-simple-questions"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"blocks": [
|
||||
"talk-about-who-you-are-by-using-key-verbs",
|
||||
"get-to-know-others-by-asking-simple-questions"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-relative-and-absolute-units",
|
||||
"lab-event-flyer-page",
|
||||
"review-css-relative-and-absolute-units",
|
||||
"quiz-css-relative-and-absolute-units"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-attribute-selectors",
|
||||
"workshop-balance-sheet",
|
||||
"lab-book-inventory-app",
|
||||
"review-css-attribute-selectors",
|
||||
"quiz-css-attribute-selectors"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-how-to-describe-places-and-events",
|
||||
"en-b1-quiz-describe-places-events",
|
||||
"learn-how-to-talk-about-past-experiences",
|
||||
"en-b1-quiz-past-experiences",
|
||||
"learn-how-to-talk-about-past-activities",
|
||||
"en-b1-quiz-past-activities",
|
||||
"learn-present-perfect-while-talking-about-accessibility",
|
||||
"en-b1-quiz-present-perfect-accessibility",
|
||||
"learn-how-to-plan-future-events",
|
||||
"en-b1-quiz-plan-future-events",
|
||||
"learn-future-continuous-while-describing-actions",
|
||||
"en-b1-quiz-future-continuous-actions",
|
||||
"learn-how-to-use-conditionals",
|
||||
"en-b1-quiz-conditionals",
|
||||
"learn-how-to-share-feedback",
|
||||
"en-b1-quiz-share-feedback",
|
||||
"learn-how-to-share-your-opinion",
|
||||
"en-b1-quiz-share-opinions",
|
||||
"learn-how-to-express-agreement",
|
||||
"en-b1-quiz-express-agreement",
|
||||
"learn-how-to-express-disagreement",
|
||||
"en-b1-quiz-express-disagreement",
|
||||
"learn-how-to-express-concerns",
|
||||
"en-b1-quiz-express-concerns",
|
||||
"learn-how-to-express-decisions-based-on-comparisons",
|
||||
"en-b1-quiz-decisions-comparisons",
|
||||
"learn-how-to-use-modal-verbs",
|
||||
"en-b1-quiz-modal-verbs",
|
||||
"learn-how-to-manage-a-conversation",
|
||||
"en-b1-quiz-manage-conversations",
|
||||
"learn-how-to-clarify-misunderstandings",
|
||||
"en-b1-quiz-clarify-misunderstandings",
|
||||
"learn-about-speculation-and-requests",
|
||||
"en-b1-quiz-speculation-requests",
|
||||
"learn-about-adverbial-phrases",
|
||||
"en-b1-quiz-adverbial-phrases",
|
||||
"learn-how-to-use-adjectives-in-conversations",
|
||||
"en-b1-quiz-adjectives-conversations",
|
||||
"learn-determiners-and-advanced-use-of-articles",
|
||||
"en-b1-quiz-determiners-articles",
|
||||
"learn-how-to-use-reported-speech",
|
||||
"en-b1-quiz-reported-speech",
|
||||
"learn-how-to-use-prepositions-according-to-context",
|
||||
"en-b1-quiz-prepositions-context",
|
||||
"learn-how-to-talk-about-numbers-with-a-coworker",
|
||||
"en-b1-quiz-numbers-at-work",
|
||||
"learn-common-phrasal-verbs-and-idioms",
|
||||
"en-b1-quiz-phrasal-verbs-idioms",
|
||||
"en-b1-certification-exam"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "back-end-development-and-apis",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "introduction-to-nodejs",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-working-with-nodejs-and-event-driven-architecture",
|
||||
"workshop-nodejs-repl",
|
||||
"review-node-js-intro",
|
||||
"quiz-node-js-intro"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "nodejs-core-modules",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-working-with-node-core-modules",
|
||||
"workshop-nodejs-common-modules",
|
||||
"review-node-js-core-modules",
|
||||
"quiz-node-js-core-modules"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "node-package-manager",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-introduction-to-npm",
|
||||
"lecture-working-with-npm-scripts",
|
||||
"workshop-how-to-build-an-npm-module",
|
||||
"lab-prime-number-checker-module",
|
||||
"review-npm",
|
||||
"quiz-npm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "http-and-the-web-standards-model",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-understanding-how-http-dns-tcpip-work",
|
||||
"lecture-understanding-the-http-request-response-model",
|
||||
"lecture-understanding-the-web-standards-model",
|
||||
"workshop-nodejs-by-building-a-web-server",
|
||||
"review-http-and-the-web-standards-model",
|
||||
"quiz-http-and-the-web-standards-model"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "rest-api-and-web-services",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-understanding-rest-api-and-web-services",
|
||||
"workshop-express-by-building-a-weather-service-api",
|
||||
"lab-timestamp-microservice"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "introduction-to-express",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-working-with-express",
|
||||
"lecture-understanding-routing-in-express-js",
|
||||
"workshop-express-by-building-a-random-joke-app",
|
||||
"lab-personal-profile-app",
|
||||
"review-introduction-to-express",
|
||||
"quiz-introduction-to-express"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "error-handling-in-express",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-understanding-error-handling-and-health-checks",
|
||||
"workshop-error-handling-in-express-by-building-a-bank-api",
|
||||
"review-error-handling-in-express",
|
||||
"quiz-error-handling-in-express"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "express-middleware",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-express-middleware",
|
||||
"workshop-express-middleware-by-building-a-submission-form",
|
||||
"lab-data-sanitizer",
|
||||
"review-express-middleware",
|
||||
"quiz-express-middleware"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "websockets",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-understanding-websockets",
|
||||
"workshop-websockets-by-building-a-resource-monitor",
|
||||
"lab-chat-app",
|
||||
"review-websockets",
|
||||
"quiz-websockets"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "security-and-privacy",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-understanding-security-and-privacy-in-web-applications",
|
||||
"review-security-and-privacy",
|
||||
"quiz-security-and-privacy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "authentication",
|
||||
"comingSoon": true,
|
||||
"blocks": [
|
||||
"lecture-introduction-to-authentication-and-authorization",
|
||||
"review-authentication-and-authorization",
|
||||
"quiz-authentication-and-authorization"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "back-end-development-and-apis-certification-exam",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"comingSoon": true,
|
||||
"dashedName": "back-end-development-and-apis-certification-exam",
|
||||
"blocks": ["exam-back-end-development-and-apis-certification"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"managing-packages-with-npm",
|
||||
"basic-node-and-express",
|
||||
"mongodb-and-mongoose",
|
||||
"back-end-development-and-apis-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-what-is-css",
|
||||
"workshop-cafe-menu",
|
||||
"lab-business-card",
|
||||
"lecture-css-specificity-the-cascade-algorithm-and-inheritance",
|
||||
"review-basic-css",
|
||||
"quiz-basic-css",
|
||||
"lecture-styling-lists-and-links",
|
||||
"lab-stylized-to-do-list",
|
||||
"lecture-working-with-backgrounds-and-borders",
|
||||
"lab-blog-post-card",
|
||||
"review-css-backgrounds-and-borders",
|
||||
"quiz-css-backgrounds-and-borders"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"blocks": [
|
||||
"workshop-curriculum-outline",
|
||||
"lab-debug-camperbots-profile-page",
|
||||
"lecture-understanding-html-attributes",
|
||||
"lab-debug-pet-adoption-page",
|
||||
"lecture-understanding-the-html-boilerplate",
|
||||
"workshop-cat-photo-app",
|
||||
"lab-recipe-page",
|
||||
"lecture-html-fundamentals",
|
||||
"workshop-bookstore-page",
|
||||
"lecture-understanding-how-html-affects-seo",
|
||||
"lab-travel-agency-page",
|
||||
"lecture-working-with-audio-and-video-elements",
|
||||
"workshop-html-music-player",
|
||||
"workshop-html-video-player",
|
||||
"lab-html-audio-and-video-player",
|
||||
"lecture-working-with-images-and-svgs",
|
||||
"workshop-build-a-heart-icon",
|
||||
"lecture-working-with-media",
|
||||
"workshop-build-a-video-display-using-iframe",
|
||||
"lab-video-compilation-page",
|
||||
"lecture-working-with-links",
|
||||
"review-basic-html",
|
||||
"quiz-basic-html"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"blocks": ["algorithms", "data-structures", "take-home-projects"]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-ratios-and-proportions",
|
||||
"learn-how-to-solve-for-x",
|
||||
"learn-fractions-and-decimals",
|
||||
"learn-functions-and-graphing",
|
||||
"learn-linear-functions",
|
||||
"learn-common-factors-and-square-roots",
|
||||
"build-a-multi-function-calculator-project",
|
||||
"learn-how-to-graph-systems-of-equations",
|
||||
"learn-how-to-solve-systems-of-equations",
|
||||
"learn-applications-of-linear-systems",
|
||||
"learn-quadratic-equations",
|
||||
"build-a-graphing-calculator-project",
|
||||
"learn-parent-graphs-and-polynomials",
|
||||
"build-three-math-games-project",
|
||||
"learn-business-applications-of-college-algebra",
|
||||
"learn-simple-and-compound-interest",
|
||||
"learn-exponents-and-logarithms",
|
||||
"build-a-financial-calculator-project",
|
||||
"college-algebra-with-python-conclusion",
|
||||
"build-a-data-graph-explorer-project"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-computer-internet-and-tooling-basics",
|
||||
"lecture-working-with-file-systems",
|
||||
"lecture-browsing-the-web-effectively",
|
||||
"review-computer-basics",
|
||||
"quiz-computer-basics"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-best-practices-for-accessibility-and-css",
|
||||
"workshop-accessibility-quiz",
|
||||
"lab-tribute-page",
|
||||
"review-css-accessibility",
|
||||
"quiz-css-accessibility"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-animations-and-accessibility",
|
||||
"workshop-ferris-wheel",
|
||||
"lab-moon-orbit",
|
||||
"workshop-flappy-penguin",
|
||||
"lab-personal-portfolio",
|
||||
"review-css-animations",
|
||||
"quiz-css-animations"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-css-transforms-overflow-and-filters",
|
||||
"workshop-rothko-painting",
|
||||
"lab-confidential-email-page",
|
||||
"review-css-layout-and-effects",
|
||||
"quiz-css-layout-and-effects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-colors-in-css",
|
||||
"workshop-colored-markers",
|
||||
"lab-colored-boxes",
|
||||
"review-css-colors",
|
||||
"quiz-css-colors"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-css-flexbox",
|
||||
"workshop-flexbox-photo-gallery",
|
||||
"workshop-colorful-boxes",
|
||||
"lab-pricing-plans-layout",
|
||||
"lab-page-of-playing-cards",
|
||||
"review-css-flexbox",
|
||||
"quiz-css-flexbox"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-css-grid",
|
||||
"workshop-magazine",
|
||||
"lab-newspaper-layout",
|
||||
"lecture-debugging-css",
|
||||
"lab-product-landing-page",
|
||||
"review-css-grid",
|
||||
"quiz-css-grid"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-how-to-work-with-floats-and-positioning-in-css",
|
||||
"workshop-cat-painting",
|
||||
"lab-house-painting",
|
||||
"review-css-positioning",
|
||||
"quiz-css-positioning"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-css-fonts",
|
||||
"workshop-nutritional-label",
|
||||
"lab-newspaper-article",
|
||||
"review-css-typography",
|
||||
"quiz-css-typography"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-css-variables",
|
||||
"workshop-city-skyline",
|
||||
"lab-availability-table",
|
||||
"review-css-variables",
|
||||
"quiz-css-variables"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"blocks": [
|
||||
"data-analysis-with-python-course",
|
||||
"numpy",
|
||||
"data-analysis-with-python-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"blocks": [
|
||||
"data-visualization-with-d3",
|
||||
"json-apis-and-ajax",
|
||||
"data-visualization-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-user-interface-design-fundamentals",
|
||||
"lecture-user-centered-design",
|
||||
"lecture-common-design-tools",
|
||||
"review-design-fundamentals",
|
||||
"quiz-design-fundamentals"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"blocks": [
|
||||
"daily-coding-challenges-javascript",
|
||||
"daily-coding-challenges-python"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"write-your-first-code-using-c-sharp",
|
||||
"create-and-run-simple-c-sharp-console-applications",
|
||||
"add-logic-to-c-sharp-console-applications",
|
||||
"work-with-variable-data-in-c-sharp-console-applications",
|
||||
"create-methods-in-c-sharp-console-applications",
|
||||
"debug-c-sharp-console-applications",
|
||||
"foundational-c-sharp-with-microsoft-certification-exam"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "front-end-development-libraries",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "react-fundamentals",
|
||||
"blocks": [
|
||||
"lecture-introduction-to-javascript-libraries-and-frameworks",
|
||||
"workshop-reusable-mega-navbar",
|
||||
"lab-reusable-footer",
|
||||
"lecture-working-with-data-in-react",
|
||||
"workshop-reusable-profile-card-component",
|
||||
"lab-mood-board",
|
||||
"review-react-basics",
|
||||
"quiz-react-basics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "react-state-hooks-and-routing",
|
||||
"blocks": [
|
||||
"lecture-working-with-state-and-responding-to-events-in-react",
|
||||
"workshop-toggle-text-app",
|
||||
"lab-color-picker",
|
||||
"lecture-understanding-effects-and-referencing-values-in-react",
|
||||
"workshop-fruit-search-app",
|
||||
"lab-one-time-password-generator",
|
||||
"review-react-state-and-hooks",
|
||||
"quiz-react-state-and-hooks",
|
||||
"lecture-working-with-forms-in-react",
|
||||
"workshop-superhero-application-form",
|
||||
"lab-event-rsvp",
|
||||
"lecture-working-with-data-fetching-and-memoization-in-react",
|
||||
"workshop-shopping-list-app",
|
||||
"lecture-routing-react-frameworks-and-dependency-management-tools",
|
||||
"lecture-react-strategies-and-debugging",
|
||||
"review-react-forms-data-fetching-and-routing",
|
||||
"quiz-react-forms-data-fetching-and-routing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-currency-converter",
|
||||
"blocks": ["lab-currency-converter"]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-tic-tac-toe",
|
||||
"blocks": ["lab-tic-tac-toe"]
|
||||
},
|
||||
{
|
||||
"dashedName": "performance",
|
||||
"blocks": [
|
||||
"lecture-understanding-performance-in-web-applications",
|
||||
"review-web-performance",
|
||||
"quiz-web-performance"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "testing",
|
||||
"blocks": [
|
||||
"lecture-understanding-the-different-types-of-testing",
|
||||
"review-testing",
|
||||
"quiz-testing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-libraries-and-frameworks",
|
||||
"blocks": [
|
||||
"lecture-working-with-css-libraries-and-frameworks",
|
||||
"workshop-error-message-component",
|
||||
"workshop-tailwind-cta-component",
|
||||
"workshop-tailwind-pricing-component",
|
||||
"lab-music-shopping-cart-page",
|
||||
"review-css-libraries-and-frameworks",
|
||||
"quiz-css-libraries-and-frameworks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-photography-exhibit",
|
||||
"blocks": ["lab-photography-exhibit"]
|
||||
},
|
||||
{
|
||||
"dashedName": "typescript-fundamentals",
|
||||
"blocks": [
|
||||
"lecture-introduction-to-typescript",
|
||||
"workshop-type-safe-user-profile",
|
||||
"workshop-type-safe-math-toolkit",
|
||||
"lecture-understanding-type-composition",
|
||||
"workshop-shape-manager",
|
||||
"lab-motorcycle-shop",
|
||||
"lecture-working-with-generics-and-type-narrowing",
|
||||
"workshop-bug-emoji-picker",
|
||||
"lab-product-showcase",
|
||||
"lecture-working-with-typescript-configuration-files",
|
||||
"workshop-fortune-teller-app",
|
||||
"workshop-build-a-football-player-card-builder",
|
||||
"review-typescript",
|
||||
"quiz-typescript"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-flashcard-quiz-app",
|
||||
"blocks": ["lab-flashcard-quiz-app"]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-digital-pet-game",
|
||||
"blocks": ["lab-digital-pet-game"]
|
||||
},
|
||||
{
|
||||
"moduleType": "review",
|
||||
"dashedName": "review-front-end-libraries",
|
||||
"blocks": ["review-front-end-libraries"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "front-end-development-libraries-certification-exam",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "front-end-development-libraries-certification-exam",
|
||||
"blocks": ["exam-front-end-development-libraries-certification"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"bootstrap",
|
||||
"jquery",
|
||||
"sass",
|
||||
"react",
|
||||
"redux",
|
||||
"react-and-redux",
|
||||
"front-end-development-libraries-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "certified-full-stack-developer-exam",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "certified-full-stack-developer-exam",
|
||||
"comingSoon": true,
|
||||
"blocks": ["exam-certified-full-stack-developer"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "part-0",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-1",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-2",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-3",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-4",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-5",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-6",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-7",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-8",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-9",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-10",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-11",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-12",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "part-13",
|
||||
"comingSoon": true,
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"comingSoon": true,
|
||||
"blocks": ["workshop-blog-page"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-importance-of-accessibility-and-good-html-structure",
|
||||
"workshop-debug-coding-journey-blog-page",
|
||||
"lecture-accessible-tables-forms",
|
||||
"workshop-tech-conference-schedule",
|
||||
"lab-debug-donation-form",
|
||||
"lecture-introduction-to-aria",
|
||||
"workshop-accessible-audio-controller",
|
||||
"lecture-accessible-media-elements",
|
||||
"lab-checkout-page",
|
||||
"lab-movie-review-page",
|
||||
"lab-multimedia-player",
|
||||
"review-html-accessibility",
|
||||
"quiz-html-accessibility"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-forms",
|
||||
"workshop-hotel-feedback-form",
|
||||
"lecture-working-with-tables",
|
||||
"workshop-final-exams-table",
|
||||
"lab-book-catalog-table",
|
||||
"lecture-working-with-html-tools",
|
||||
"lab-survey-form",
|
||||
"review-html-tables-and-forms",
|
||||
"quiz-html-tables-and-forms"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"blocks": [
|
||||
"information-security-with-helmetjs",
|
||||
"python-for-penetration-testing",
|
||||
"information-security-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-functions",
|
||||
"workshop-calculator",
|
||||
"lab-boolean-check",
|
||||
"lab-email-masker",
|
||||
"workshop-loan-qualification-checker",
|
||||
"lab-celsius-to-fahrenheit-converter",
|
||||
"lab-counting-cards",
|
||||
"lab-leap-year-calculator",
|
||||
"lab-truncate-string",
|
||||
"lab-string-ending-checker",
|
||||
"review-javascript-functions",
|
||||
"quiz-javascript-functions"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"searching-algorithms",
|
||||
"time-complexity",
|
||||
"algorithms-in-code",
|
||||
"recursion-and-space-complexity",
|
||||
"introduction-to-arrays",
|
||||
"introduction-to-linked-lists",
|
||||
"merge-sort-algorithm",
|
||||
"sorting-a-linked-list",
|
||||
"sorting-algorithms",
|
||||
"searching-names-using-sorting-and-searching-algorithms"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-arrays",
|
||||
"workshop-shopping-list",
|
||||
"lab-lunch-picker-program",
|
||||
"lab-golf-score-translator",
|
||||
"lecture-working-with-common-array-methods",
|
||||
"review-javascript-arrays",
|
||||
"quiz-javascript-arrays"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-asynchronous-programming",
|
||||
"workshop-fcc-authors-page",
|
||||
"lab-fcc-forum-leaderboard",
|
||||
"lab-weather-app",
|
||||
"review-asynchronous-javascript",
|
||||
"quiz-asynchronous-javascript"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-the-command-line-and-working-with-bash",
|
||||
"workshop-bash-boilerplate",
|
||||
"review-bash-commands",
|
||||
"quiz-bash-commands"
|
||||
]
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-numbers-and-arithmetic-operators",
|
||||
"lab-debug-type-coercion-errors",
|
||||
"lecture-working-with-operator-behavior",
|
||||
"lab-debug-increment-and-decrement-operator-errors",
|
||||
"lecture-working-with-comparison-and-boolean-operators",
|
||||
"workshop-logic-checker-app",
|
||||
"lecture-working-with-unary-and-bitwise-operators",
|
||||
"lecture-working-with-conditional-logic-and-math-methods",
|
||||
"workshop-mathbot",
|
||||
"lab-fortune-teller",
|
||||
"lecture-working-with-numbers-and-common-number-methods",
|
||||
"review-javascript-math",
|
||||
"quiz-javascript-math",
|
||||
"lecture-understanding-comparisons-and-conditionals",
|
||||
"review-javascript-comparisons-and-conditionals",
|
||||
"quiz-javascript-comparisons-and-conditionals"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-dates",
|
||||
"lab-date-conversion",
|
||||
"review-javascript-dates",
|
||||
"quiz-javascript-dates"
|
||||
]
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-functional-programming",
|
||||
"workshop-recipe-ingredient-converter",
|
||||
"lab-optional-arguments-sum-function",
|
||||
"lab-sorting-visualizer",
|
||||
"review-javascript-functional-programming",
|
||||
"quiz-javascript-functional-programming"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-introduction-to-git-and-github",
|
||||
"lecture-working-with-code-reviews-branching-deployment-and-ci-cd",
|
||||
"workshop-sql-reference-object",
|
||||
"review-git",
|
||||
"quiz-git"
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-higher-order-functions-and-callbacks",
|
||||
"workshop-library-manager",
|
||||
"lab-book-organizer",
|
||||
"lab-sorted-index-finder",
|
||||
"lab-symmetric-difference",
|
||||
"lab-value-remover-function",
|
||||
"lab-matching-object-filter",
|
||||
"lab-range-based-lcm-calculator",
|
||||
"lab-deep-flattening-tool",
|
||||
"lab-all-true-property-validator",
|
||||
"review-javascript-higher-order-functions",
|
||||
"quiz-javascript-higher-order-functions"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-aria-expanded-aria-live-and-common-aria-states",
|
||||
"workshop-planets-tablist",
|
||||
"workshop-note-taking-app",
|
||||
"lab-theme-switcher",
|
||||
"review-js-a11y",
|
||||
"quiz-js-a11y"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-how-to-work-with-classes-in-javascript",
|
||||
"workshop-shopping-cart",
|
||||
"lab-project-idea-board",
|
||||
"lab-bank-account-manager",
|
||||
"review-javascript-classes",
|
||||
"quiz-javascript-classes"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-common-data-structures",
|
||||
"workshop-linked-list-class",
|
||||
"lab-hash-table",
|
||||
"review-data-structures",
|
||||
"quiz-data-structures"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-loops",
|
||||
"workshop-word-counter",
|
||||
"workshop-sentence-analyzer",
|
||||
"lab-traffic-light-sequencer",
|
||||
"workshop-space-mission-roster",
|
||||
"workshop-heritage-library-catalog",
|
||||
"lab-longest-word-in-a-string",
|
||||
"lab-factorial-calculator",
|
||||
"lab-mutations",
|
||||
"lab-chunky-monkey",
|
||||
"lab-profile-lookup",
|
||||
"lab-repeat-a-string",
|
||||
"workshop-festival-crowd-flow-simulator",
|
||||
"lab-missing-letter-detector",
|
||||
"lab-smart-pantry-restocker",
|
||||
"lab-proofreading-tool",
|
||||
"review-javascript-loops",
|
||||
"quiz-javascript-loops"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-maps-and-sets",
|
||||
"workshop-plant-nursery-catalog",
|
||||
"lab-voting-system",
|
||||
"review-javascript-maps-and-sets",
|
||||
"quiz-javascript-maps-and-sets"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"blocks": ["lecture-working-with-nano", "workshop-castle"]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-introduction-to-javascript-objects-and-their-properties",
|
||||
"workshop-wildlife-tracker",
|
||||
"lab-cargo-manifest-validator",
|
||||
"lecture-working-with-json",
|
||||
"lecture-working-with-optional-chaining-and-object-destructuring",
|
||||
"workshop-recipe-tracker",
|
||||
"lab-quiz-game",
|
||||
"lab-record-collection",
|
||||
"review-javascript-objects",
|
||||
"quiz-javascript-objects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-object-oriented-programming-and-encapsulation",
|
||||
"workshop-salary-tracker",
|
||||
"lab-game-character-stats",
|
||||
"lecture-understanding-inheritance-and-polymorphism",
|
||||
"workshop-media-catalogue",
|
||||
"lecture-understanding-abstraction",
|
||||
"workshop-discount-calculator",
|
||||
"lab-player-interface",
|
||||
"lab-polygon-area-calculator",
|
||||
"review-object-oriented-programming",
|
||||
"quiz-object-oriented-programming"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"function-basics",
|
||||
"angles-and-circular-motion",
|
||||
"right-triangle-trigonometry",
|
||||
"trig-graphs-inverses",
|
||||
"solving-trig-equations",
|
||||
"trig-identities-formulas",
|
||||
"advanced-trig-conics"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-introduction-to-python",
|
||||
"lecture-understanding-variables-and-data-types",
|
||||
"workshop-report-card-printer",
|
||||
"lecture-introduction-to-python-strings",
|
||||
"workshop-employee-profile-generator",
|
||||
"lecture-numbers-and-mathematical-operations",
|
||||
"workshop-bill-splitter",
|
||||
"lecture-booleans-and-conditionals",
|
||||
"workshop-movie-ticket-booking-calculator",
|
||||
"lab-travel-weather-planner",
|
||||
"lecture-understanding-functions-and-scope",
|
||||
"lab-discount-calculator",
|
||||
"workshop-caesar-cipher",
|
||||
"lab-rpg-character",
|
||||
"review-python-basics",
|
||||
"quiz-python-basics"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-relational-databases",
|
||||
"workshop-database-of-video-game-characters",
|
||||
"lab-celestial-bodies-database",
|
||||
"review-sql-and-postgresql",
|
||||
"quiz-sql-and-postgresql"
|
||||
]
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-introduction-to-javascript",
|
||||
"lecture-introduction-to-strings",
|
||||
"lecture-understanding-code-clarity",
|
||||
"workshop-greeting-bot",
|
||||
"lab-javascript-trivia-bot",
|
||||
"lab-sentence-maker",
|
||||
"lecture-working-with-data-types",
|
||||
"review-javascript-variables-and-data-types",
|
||||
"quiz-javascript-variables-and-data-types",
|
||||
"lecture-working-with-strings-in-javascript",
|
||||
"workshop-teacher-chatbot",
|
||||
"lecture-working-with-string-character-methods",
|
||||
"lecture-working-with-string-search-and-slice-methods",
|
||||
"workshop-string-inspector",
|
||||
"lecture-working-with-string-formatting-methods",
|
||||
"workshop-string-formatter",
|
||||
"lecture-working-with-string-modification-methods",
|
||||
"workshop-string-transformer",
|
||||
"review-javascript-strings",
|
||||
"quiz-javascript-strings"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-introductory-javascript-by-building-a-pyramid-generator",
|
||||
"review-js-fundamentals-by-building-a-gradebook-app",
|
||||
"learn-basic-javascript-by-building-a-role-playing-game",
|
||||
"learn-basic-debugging-by-building-a-random-background-color-changer",
|
||||
"learn-form-validation-by-building-a-calorie-counter",
|
||||
"review-dom-manipulation-by-building-a-rock-paper-scissors-game",
|
||||
"learn-basic-string-and-array-methods-by-building-a-music-player",
|
||||
"build-a-palindrome-checker-project",
|
||||
"learn-the-date-object-by-building-a-date-formatter",
|
||||
"learn-modern-javascript-methods-by-building-football-team-cards",
|
||||
"learn-localstorage-by-building-a-todo-app",
|
||||
"learn-recursion-by-building-a-decimal-to-binary-converter",
|
||||
"build-a-roman-numeral-converter-project",
|
||||
"learn-regular-expressions-by-building-a-spam-filter",
|
||||
"learn-basic-algorithmic-thinking-by-building-a-number-sorter",
|
||||
"learn-advanced-array-methods-by-building-a-statistics-calculator",
|
||||
"learn-functional-programming-by-building-a-spreadsheet",
|
||||
"build-a-telephone-number-validator-project",
|
||||
"learn-basic-oop-by-building-a-shopping-cart",
|
||||
"learn-intermediate-oop-by-building-a-platformer-game",
|
||||
"review-algorithmic-thinking-by-building-a-dice-game",
|
||||
"build-a-cash-register-project",
|
||||
"learn-fetch-and-promises-by-building-an-fcc-authors-page",
|
||||
"learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard",
|
||||
"build-an-rpg-creature-search-app-project"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"basic-javascript",
|
||||
"es6",
|
||||
"regular-expressions",
|
||||
"debugging",
|
||||
"basic-data-structures",
|
||||
"basic-algorithm-scripting",
|
||||
"object-oriented-programming",
|
||||
"functional-programming",
|
||||
"intermediate-algorithm-scripting",
|
||||
"javascript-algorithms-and-data-structures-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-types-and-objects",
|
||||
"lecture-working-with-arrays-variables-and-naming-practices",
|
||||
"lecture-working-with-code-quality-and-execution-concepts",
|
||||
"lab-reverse-a-string",
|
||||
"lab-largest-number-finder",
|
||||
"lab-first-element-finder",
|
||||
"lab-slice-and-splice",
|
||||
"lab-pyramid-generator",
|
||||
"lab-gradebook-app",
|
||||
"lecture-the-var-keyword-and-hoisting",
|
||||
"lab-title-case-converter",
|
||||
"lab-falsy-remover",
|
||||
"lab-inventory-management-program",
|
||||
"lecture-understanding-modules-imports-and-exports",
|
||||
"lecture-working-with-the-arguments-object-and-rest-parameters",
|
||||
"lab-unique-sorted-union",
|
||||
"lab-password-generator",
|
||||
"lab-sum-all-numbers-algorithm",
|
||||
"lab-dna-pair-generator",
|
||||
"lab-html-entitiy-converter",
|
||||
"lab-odd-fibonacci-sum-calculator",
|
||||
"lab-element-skipper",
|
||||
"lab-playlist-remix-engine",
|
||||
"review-javascript-fundamentals",
|
||||
"quiz-javascript-fundamentals"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,400 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "javascript",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "javascript-variables-and-strings",
|
||||
"blocks": [
|
||||
"lecture-introduction-to-javascript",
|
||||
"lecture-introduction-to-strings",
|
||||
"lecture-understanding-code-clarity",
|
||||
"workshop-greeting-bot",
|
||||
"lab-javascript-trivia-bot",
|
||||
"lab-sentence-maker",
|
||||
"lecture-working-with-data-types",
|
||||
"review-javascript-variables-and-data-types",
|
||||
"quiz-javascript-variables-and-data-types",
|
||||
"lecture-working-with-strings-in-javascript",
|
||||
"workshop-teacher-chatbot",
|
||||
"lecture-working-with-string-character-methods",
|
||||
"lecture-working-with-string-search-and-slice-methods",
|
||||
"workshop-string-inspector",
|
||||
"lecture-working-with-string-formatting-methods",
|
||||
"workshop-string-formatter",
|
||||
"lecture-working-with-string-modification-methods",
|
||||
"workshop-string-transformer",
|
||||
"review-javascript-strings",
|
||||
"quiz-javascript-strings"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "javascript-booleans-and-numbers",
|
||||
"blocks": [
|
||||
"lecture-working-with-numbers-and-arithmetic-operators",
|
||||
"lab-debug-type-coercion-errors",
|
||||
"lecture-working-with-operator-behavior",
|
||||
"lab-debug-increment-and-decrement-operator-errors",
|
||||
"lecture-working-with-comparison-and-boolean-operators",
|
||||
"workshop-logic-checker-app",
|
||||
"lecture-working-with-unary-and-bitwise-operators",
|
||||
"lecture-working-with-conditional-logic-and-math-methods",
|
||||
"workshop-mathbot",
|
||||
"lab-fortune-teller",
|
||||
"lecture-working-with-numbers-and-common-number-methods",
|
||||
"review-javascript-math",
|
||||
"quiz-javascript-math",
|
||||
"lecture-understanding-comparisons-and-conditionals",
|
||||
"review-javascript-comparisons-and-conditionals",
|
||||
"quiz-javascript-comparisons-and-conditionals"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "javascript-functions",
|
||||
"blocks": [
|
||||
"lecture-working-with-functions",
|
||||
"workshop-calculator",
|
||||
"lab-boolean-check",
|
||||
"lab-email-masker",
|
||||
"workshop-loan-qualification-checker",
|
||||
"lab-celsius-to-fahrenheit-converter",
|
||||
"lab-counting-cards",
|
||||
"lab-leap-year-calculator",
|
||||
"lab-truncate-string",
|
||||
"lab-string-ending-checker",
|
||||
"review-javascript-functions",
|
||||
"quiz-javascript-functions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "javascript-arrays",
|
||||
"blocks": [
|
||||
"lecture-working-with-arrays",
|
||||
"workshop-shopping-list",
|
||||
"lab-lunch-picker-program",
|
||||
"lab-golf-score-translator",
|
||||
"lecture-working-with-common-array-methods",
|
||||
"review-javascript-arrays",
|
||||
"quiz-javascript-arrays"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "javascript-objects",
|
||||
"blocks": [
|
||||
"lecture-introduction-to-javascript-objects-and-their-properties",
|
||||
"workshop-wildlife-tracker",
|
||||
"lab-cargo-manifest-validator",
|
||||
"lecture-working-with-json",
|
||||
"lecture-working-with-optional-chaining-and-object-destructuring",
|
||||
"workshop-recipe-tracker",
|
||||
"lab-quiz-game",
|
||||
"lab-record-collection",
|
||||
"review-javascript-objects",
|
||||
"quiz-javascript-objects"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "javascript-loops",
|
||||
"blocks": [
|
||||
"lecture-working-with-loops",
|
||||
"workshop-word-counter",
|
||||
"workshop-sentence-analyzer",
|
||||
"lab-traffic-light-sequencer",
|
||||
"workshop-space-mission-roster",
|
||||
"workshop-heritage-library-catalog",
|
||||
"lab-longest-word-in-a-string",
|
||||
"lab-factorial-calculator",
|
||||
"lab-mutations",
|
||||
"lab-chunky-monkey",
|
||||
"lab-profile-lookup",
|
||||
"lab-repeat-a-string",
|
||||
"workshop-festival-crowd-flow-simulator",
|
||||
"lab-missing-letter-detector",
|
||||
"lab-smart-pantry-restocker",
|
||||
"lab-proofreading-tool",
|
||||
"review-javascript-loops",
|
||||
"quiz-javascript-loops"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "review-javascript-fundamentals",
|
||||
"blocks": [
|
||||
"lecture-working-with-types-and-objects",
|
||||
"lecture-working-with-arrays-variables-and-naming-practices",
|
||||
"lecture-working-with-code-quality-and-execution-concepts",
|
||||
"lab-reverse-a-string",
|
||||
"lab-largest-number-finder",
|
||||
"lab-first-element-finder",
|
||||
"lab-slice-and-splice",
|
||||
"lab-pyramid-generator",
|
||||
"lab-gradebook-app",
|
||||
"lecture-the-var-keyword-and-hoisting",
|
||||
"lab-title-case-converter",
|
||||
"lab-falsy-remover",
|
||||
"lab-inventory-management-program",
|
||||
"lecture-understanding-modules-imports-and-exports",
|
||||
"lecture-working-with-the-arguments-object-and-rest-parameters",
|
||||
"lab-unique-sorted-union",
|
||||
"lab-password-generator",
|
||||
"lab-sum-all-numbers-algorithm",
|
||||
"lab-dna-pair-generator",
|
||||
"lab-html-entitiy-converter",
|
||||
"lab-odd-fibonacci-sum-calculator",
|
||||
"lab-element-skipper",
|
||||
"lab-playlist-remix-engine",
|
||||
"review-javascript-fundamentals",
|
||||
"quiz-javascript-fundamentals"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "higher-order-functions-and-callbacks",
|
||||
"blocks": [
|
||||
"lecture-working-with-higher-order-functions-and-callbacks",
|
||||
"workshop-library-manager",
|
||||
"lab-book-organizer",
|
||||
"lab-sorted-index-finder",
|
||||
"lab-symmetric-difference",
|
||||
"lab-value-remover-function",
|
||||
"lab-matching-object-filter",
|
||||
"lab-range-based-lcm-calculator",
|
||||
"lab-deep-flattening-tool",
|
||||
"lab-all-true-property-validator",
|
||||
"review-javascript-higher-order-functions",
|
||||
"quiz-javascript-higher-order-functions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "dom-manipulation-and-events",
|
||||
"blocks": [
|
||||
"lecture-working-with-the-dom-click-events-and-web-apis",
|
||||
"workshop-storytelling-app",
|
||||
"workshop-emoji-reactor",
|
||||
"lab-favorite-icon-toggler",
|
||||
"lecture-understanding-the-event-object-and-event-delegation",
|
||||
"workshop-music-instrument-filter",
|
||||
"lab-real-time-counter",
|
||||
"lab-lightbox-viewer",
|
||||
"workshop-rps-game",
|
||||
"lab-football-team-cards",
|
||||
"review-dom-manipulation-and-click-events-with-javascript",
|
||||
"quiz-dom-manipulation-and-click-event-with-javascript"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "js-a11y",
|
||||
"blocks": [
|
||||
"lecture-understanding-aria-expanded-aria-live-and-common-aria-states",
|
||||
"workshop-planets-tablist",
|
||||
"workshop-note-taking-app",
|
||||
"lab-theme-switcher",
|
||||
"review-js-a11y",
|
||||
"quiz-js-a11y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "debugging-javascript",
|
||||
"blocks": [
|
||||
"lecture-debugging-techniques",
|
||||
"lab-random-background-color-changer",
|
||||
"review-debugging-javascript",
|
||||
"quiz-debugging-javascript"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "basic-regex",
|
||||
"blocks": [
|
||||
"lecture-working-with-regular-expressions",
|
||||
"workshop-spam-filter",
|
||||
"lab-palindrome-checker",
|
||||
"lab-regex-sandbox",
|
||||
"lab-spinal-case-converter",
|
||||
"lab-pig-latin",
|
||||
"lab-smart-word-replacement",
|
||||
"review-javascript-regular-expressions",
|
||||
"quiz-javascript-regular-expressions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-markdown-to-html-converter",
|
||||
"blocks": ["lab-markdown-to-html-converter"]
|
||||
},
|
||||
{
|
||||
"dashedName": "form-validation",
|
||||
"blocks": [
|
||||
"lecture-understanding-form-validation",
|
||||
"workshop-calorie-counter",
|
||||
"lab-customer-complaint-form",
|
||||
"review-form-validation-with-javascript",
|
||||
"quiz-form-validation-with-javascript"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "javascript-dates",
|
||||
"blocks": [
|
||||
"lecture-working-with-dates",
|
||||
"lab-date-conversion",
|
||||
"review-javascript-dates",
|
||||
"quiz-javascript-dates"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "audio-and-video-events",
|
||||
"blocks": [
|
||||
"lecture-working-with-audio-and-video",
|
||||
"workshop-music-player",
|
||||
"review-javascript-audio-and-video",
|
||||
"quiz-javascript-audio-and-video"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-drum-machine",
|
||||
"blocks": ["lab-drum-machine"]
|
||||
},
|
||||
{
|
||||
"dashedName": "maps-and-sets",
|
||||
"blocks": [
|
||||
"lecture-working-with-maps-and-sets",
|
||||
"workshop-plant-nursery-catalog",
|
||||
"review-javascript-maps-and-sets",
|
||||
"quiz-javascript-maps-and-sets"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-voting-system",
|
||||
"blocks": ["lab-voting-system"]
|
||||
},
|
||||
{
|
||||
"dashedName": "localstorage-and-crud-operations",
|
||||
"blocks": [
|
||||
"lecture-working-with-client-side-storage-and-crud-operations",
|
||||
"workshop-todo-app",
|
||||
"lab-bookmark-manager-app",
|
||||
"review-local-storage-and-crud",
|
||||
"quiz-local-storage-and-crud"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "classes-and-the-this-keyword",
|
||||
"blocks": [
|
||||
"lecture-understanding-how-to-work-with-classes-in-javascript",
|
||||
"workshop-shopping-cart",
|
||||
"lab-project-idea-board",
|
||||
"review-javascript-classes",
|
||||
"quiz-javascript-classes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-bank-account-manager",
|
||||
"blocks": ["lab-bank-account-manager"]
|
||||
},
|
||||
{
|
||||
"dashedName": "recursion",
|
||||
"blocks": [
|
||||
"lecture-understanding-recursion-and-the-call-stack",
|
||||
"workshop-countup",
|
||||
"lab-countdown",
|
||||
"lab-range-of-numbers",
|
||||
"workshop-decimal-to-binary-converter",
|
||||
"lab-permutation-generator",
|
||||
"review-recursion",
|
||||
"quiz-recursion"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "data-structures",
|
||||
"blocks": [
|
||||
"lecture-working-with-common-data-structures-js",
|
||||
"workshop-linked-list-js",
|
||||
"lab-linked-list-operations",
|
||||
"lab-implement-a-stack",
|
||||
"lab-implement-a-queue",
|
||||
"review-data-structures-js",
|
||||
"quiz-data-structures-js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "algorithms",
|
||||
"blocks": [
|
||||
"lecture-introduction-to-common-searching-and-sorting-algorithms",
|
||||
"workshop-binary-search-js",
|
||||
"workshop-merge-sort-js",
|
||||
"lab-bubble-sort-algorithm",
|
||||
"lab-selection-sort-js",
|
||||
"lab-insertion-sort",
|
||||
"lab-quicksort-js",
|
||||
"review-searching-and-sorting-algorithms-js",
|
||||
"quiz-searching-and-sorting-algorithms-js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "graphs-and-trees",
|
||||
"blocks": [
|
||||
"lecture-understanding-graphs-and-trees-js",
|
||||
"workshop-shortest-path-algorithm-js",
|
||||
"lab-adjacency-list-to-matrix-converter-js",
|
||||
"workshop-breadth-first-search-js",
|
||||
"lab-depth-first-search-js",
|
||||
"lab-n-queens-problem-js",
|
||||
"review-graphs-and-trees-js",
|
||||
"quiz-graph-and-trees-js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "dynamic-programming",
|
||||
"blocks": [
|
||||
"lecture-understanding-dynamic-programming-js",
|
||||
"lab-nth-fibonacci-number-js",
|
||||
"lab-prime-number-sum-calculator",
|
||||
"review-dynamic-programming-js",
|
||||
"quiz-dynamic-programming-js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "functional-programming",
|
||||
"blocks": [
|
||||
"lecture-understanding-functional-programming",
|
||||
"workshop-recipe-ingredient-converter",
|
||||
"lab-optional-arguments-sum-function",
|
||||
"lab-sorting-visualizer",
|
||||
"review-javascript-functional-programming",
|
||||
"quiz-javascript-functional-programming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "asynchronous-javascript",
|
||||
"blocks": [
|
||||
"lecture-understanding-asynchronous-programming",
|
||||
"workshop-fcc-authors-page",
|
||||
"lab-fcc-forum-leaderboard",
|
||||
"review-asynchronous-javascript",
|
||||
"quiz-asynchronous-javascript"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-weather-app",
|
||||
"blocks": ["lab-weather-app"]
|
||||
},
|
||||
{
|
||||
"moduleType": "review",
|
||||
"dashedName": "review-javascript",
|
||||
"blocks": ["review-javascript"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "javascript-certification-exam",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "javascript-certification-exam",
|
||||
"blocks": ["exam-javascript-certification"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-searching-and-sorting-algorithms",
|
||||
"workshop-binary-search",
|
||||
"lab-bisection-method",
|
||||
"workshop-merge-sort",
|
||||
"lab-quicksort",
|
||||
"lab-selection-sort",
|
||||
"lab-luhn-algorithm",
|
||||
"lab-tower-of-hanoi",
|
||||
"review-searching-and-sorting-algorithms",
|
||||
"quiz-searching-and-sorting-algorithms"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-audio-and-video",
|
||||
"workshop-music-player",
|
||||
"lab-drum-machine",
|
||||
"review-javascript-audio-and-video",
|
||||
"quiz-javascript-audio-and-video"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-bash-scripting",
|
||||
"workshop-bash-five-programs",
|
||||
"review-bash-scripting",
|
||||
"quiz-bash-scripting"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-regular-expressions",
|
||||
"workshop-spam-filter",
|
||||
"lab-palindrome-checker",
|
||||
"lab-regex-sandbox",
|
||||
"lab-spinal-case-converter",
|
||||
"lab-pig-latin",
|
||||
"lab-smart-word-replacement",
|
||||
"lab-markdown-to-html-converter",
|
||||
"review-javascript-regular-expressions",
|
||||
"quiz-javascript-regular-expressions"
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-the-dom-click-events-and-web-apis",
|
||||
"workshop-storytelling-app",
|
||||
"workshop-emoji-reactor",
|
||||
"lab-favorite-icon-toggler",
|
||||
"lecture-understanding-the-event-object-and-event-delegation",
|
||||
"workshop-music-instrument-filter",
|
||||
"lab-real-time-counter",
|
||||
"lab-lightbox-viewer",
|
||||
"workshop-rps-game",
|
||||
"lab-football-team-cards",
|
||||
"review-dom-manipulation-and-click-events-with-javascript",
|
||||
"quiz-dom-manipulation-and-click-event-with-javascript"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-dynamic-programming",
|
||||
"lab-nth-fibonacci-number",
|
||||
"review-dynamic-programming",
|
||||
"quiz-dynamic-programming"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-error-handling",
|
||||
"lab-isbn-validator",
|
||||
"review-error-handling",
|
||||
"quiz-error-handling"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-graphs-and-trees",
|
||||
"workshop-shortest-path-algorithm",
|
||||
"lab-adjacency-list-to-matrix-converter",
|
||||
"workshop-breadth-first-search",
|
||||
"lab-depth-first-search",
|
||||
"lab-n-queens-problem",
|
||||
"review-graphs-and-trees",
|
||||
"quiz-graphs-and-trees"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-debugging-techniques",
|
||||
"lab-random-background-color-changer",
|
||||
"review-debugging-javascript",
|
||||
"quiz-debugging-javascript"
|
||||
]
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-client-side-storage-and-crud-operations",
|
||||
"workshop-todo-app",
|
||||
"lab-bookmark-manager-app",
|
||||
"review-local-storage-and-crud",
|
||||
"quiz-local-storage-and-crud"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"blocks": ["oop-basics", "methods-and-inheritance", "advanced-oop-concepts"]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-classes-and-objects",
|
||||
"workshop-musical-instrument-inventory",
|
||||
"lab-planet-class",
|
||||
"workshop-email-simulator",
|
||||
"lab-budget-app",
|
||||
"review-classes-and-objects",
|
||||
"quiz-classes-and-objects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-dictionaries-and-sets",
|
||||
"lecture-working-with-modules",
|
||||
"workshop-medical-data-validator",
|
||||
"lab-user-configuration-manager",
|
||||
"review-dictionaries-and-sets",
|
||||
"quiz-dictionaries-and-sets"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"blocks": [
|
||||
"python-setup-first-steps",
|
||||
"core-primitives-in-python",
|
||||
"small-python-projects",
|
||||
"lists-and-tuples",
|
||||
"control-flow-and-functions-in-python",
|
||||
"dictionaries-and-loops",
|
||||
"error-handling-files-and-modules-in-python",
|
||||
"object-oriented-programming-with-python"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-loops-and-sequences",
|
||||
"workshop-pin-extractor",
|
||||
"lab-number-pattern-generator",
|
||||
"review-loops-and-sequences",
|
||||
"quiz-loops-and-sequences"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"blocks": [
|
||||
"understanding-rag",
|
||||
"retrieval-engine-internals",
|
||||
"designing-reliable-rag-systems",
|
||||
"mcp-ecosystem-and-tooling"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-understanding-recursion-and-the-call-stack",
|
||||
"workshop-countup",
|
||||
"lab-countdown",
|
||||
"lab-range-of-numbers",
|
||||
"workshop-decimal-to-binary-converter",
|
||||
"lab-permutation-generator",
|
||||
"review-recursion",
|
||||
"quiz-recursion"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-sql",
|
||||
"workshop-sql-student-database-part-1",
|
||||
"workshop-sql-student-database-part-2",
|
||||
"workshop-kitty-ipsum-translator",
|
||||
"workshop-bike-rental-shop",
|
||||
"lab-world-cup-database",
|
||||
"lab-salon-appointment-scheduler",
|
||||
"review-bash-and-sql",
|
||||
"quiz-bash-and-sql"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"blocks": [
|
||||
"tensorflow",
|
||||
"how-neural-networks-work",
|
||||
"machine-learning-with-python-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"project-euler-problems-1-to-100",
|
||||
"project-euler-problems-101-to-200",
|
||||
"project-euler-problems-201-to-300",
|
||||
"project-euler-problems-301-to-400",
|
||||
"project-euler-problems-401-to-480"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css",
|
||||
"workshop-greeting-card",
|
||||
"workshop-parent-teacher-conference-form",
|
||||
"lab-job-application-form",
|
||||
"review-css-pseudo-classes",
|
||||
"quiz-css-pseudo-classes"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"blocks": ["python-for-everybody"]
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "python",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "python-basics",
|
||||
"blocks": [
|
||||
"lecture-introduction-to-python",
|
||||
"lecture-understanding-variables-and-data-types",
|
||||
"workshop-report-card-printer",
|
||||
"lecture-introduction-to-python-strings",
|
||||
"workshop-employee-profile-generator",
|
||||
"lecture-numbers-and-mathematical-operations",
|
||||
"workshop-bill-splitter",
|
||||
"lecture-booleans-and-conditionals",
|
||||
"workshop-movie-ticket-booking-calculator",
|
||||
"lab-travel-weather-planner",
|
||||
"lecture-understanding-functions-and-scope",
|
||||
"lab-discount-calculator",
|
||||
"workshop-caesar-cipher",
|
||||
"lab-rpg-character",
|
||||
"review-python-basics",
|
||||
"quiz-python-basics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-installation",
|
||||
"blocks": [
|
||||
"lecture-python-installation",
|
||||
"review-python-installation",
|
||||
"quiz-python-installation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-loops-and-sequences",
|
||||
"blocks": [
|
||||
"lecture-working-with-loops-and-sequences",
|
||||
"workshop-pin-extractor",
|
||||
"lab-number-pattern-generator",
|
||||
"review-loops-and-sequences",
|
||||
"quiz-loops-and-sequences"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-dictionaries-and-sets",
|
||||
"blocks": [
|
||||
"lecture-working-with-dictionaries-and-sets",
|
||||
"lecture-working-with-modules",
|
||||
"workshop-medical-data-validator",
|
||||
"review-dictionaries-and-sets",
|
||||
"quiz-dictionaries-and-sets"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-user-configuration-manager",
|
||||
"blocks": ["lab-user-configuration-manager"]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-error-handling",
|
||||
"blocks": [
|
||||
"lecture-understanding-error-handling",
|
||||
"lab-isbn-validator",
|
||||
"review-error-handling",
|
||||
"quiz-error-handling"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-classes-and-objects",
|
||||
"blocks": [
|
||||
"lecture-classes-and-objects",
|
||||
"workshop-musical-instrument-inventory",
|
||||
"lab-planet-class",
|
||||
"workshop-email-simulator",
|
||||
"review-classes-and-objects",
|
||||
"quiz-classes-and-objects"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-budget-app",
|
||||
"blocks": ["lab-budget-app"]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-object-oriented-programming",
|
||||
"blocks": [
|
||||
"lecture-understanding-object-oriented-programming-and-encapsulation",
|
||||
"workshop-salary-tracker",
|
||||
"lab-game-character-stats",
|
||||
"lecture-understanding-inheritance-and-polymorphism",
|
||||
"workshop-media-catalogue",
|
||||
"lecture-understanding-abstraction",
|
||||
"workshop-discount-calculator",
|
||||
"lab-player-interface",
|
||||
"review-object-oriented-programming",
|
||||
"quiz-object-oriented-programming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-polygon-area-calculator",
|
||||
"blocks": ["lab-polygon-area-calculator"]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-linear-data-structures",
|
||||
"blocks": [
|
||||
"lecture-working-with-common-data-structures",
|
||||
"workshop-linked-list-class",
|
||||
"review-data-structures",
|
||||
"quiz-data-structures"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-hash-table",
|
||||
"blocks": ["lab-hash-table"]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-algorithms",
|
||||
"blocks": [
|
||||
"lecture-searching-and-sorting-algorithms",
|
||||
"workshop-binary-search",
|
||||
"lab-bisection-method",
|
||||
"workshop-merge-sort",
|
||||
"lab-quicksort",
|
||||
"lab-selection-sort",
|
||||
"lab-luhn-algorithm",
|
||||
"review-searching-and-sorting-algorithms",
|
||||
"quiz-searching-and-sorting-algorithms"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-tower-of-hanoi",
|
||||
"blocks": ["lab-tower-of-hanoi"]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-graphs-and-trees",
|
||||
"blocks": [
|
||||
"lecture-understanding-graphs-and-trees",
|
||||
"workshop-shortest-path-algorithm",
|
||||
"lab-adjacency-list-to-matrix-converter",
|
||||
"workshop-breadth-first-search",
|
||||
"lab-depth-first-search",
|
||||
"lab-n-queens-problem",
|
||||
"review-graphs-and-trees",
|
||||
"quiz-graphs-and-trees"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "python-dynamic-programming",
|
||||
"blocks": [
|
||||
"lecture-understanding-dynamic-programming",
|
||||
"lab-nth-fibonacci-number",
|
||||
"review-dynamic-programming",
|
||||
"quiz-dynamic-programming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "review",
|
||||
"dashedName": "review-python",
|
||||
"blocks": ["review-python"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "python-certification-exam",
|
||||
"comingSoon": false,
|
||||
"modules": [
|
||||
{
|
||||
"comingSoon": false,
|
||||
"dashedName": "python-certification-exam",
|
||||
"blocks": ["exam-python-certification"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"blocks": [
|
||||
"quality-assurance-and-testing-with-chai",
|
||||
"advanced-node-and-express",
|
||||
"quality-assurance-projects"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "relational-databases",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "code-editors",
|
||||
"blocks": ["lecture-working-with-code-editors-and-ides"]
|
||||
},
|
||||
{
|
||||
"dashedName": "bash-fundamentals",
|
||||
"blocks": [
|
||||
"lecture-understanding-the-command-line-and-working-with-bash",
|
||||
"workshop-bash-boilerplate",
|
||||
"review-bash-commands",
|
||||
"quiz-bash-commands"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "sql-and-postgresql",
|
||||
"blocks": [
|
||||
"lecture-working-with-relational-databases",
|
||||
"workshop-database-of-video-game-characters",
|
||||
"review-sql-and-postgresql",
|
||||
"quiz-sql-and-postgresql"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-celestial-bodies-database",
|
||||
"blocks": ["lab-celestial-bodies-database"]
|
||||
},
|
||||
{
|
||||
"dashedName": "bash-scripting",
|
||||
"blocks": [
|
||||
"lecture-understanding-bash-scripting",
|
||||
"workshop-bash-five-programs",
|
||||
"review-bash-scripting",
|
||||
"quiz-bash-scripting"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "sql-and-bash",
|
||||
"blocks": [
|
||||
"lecture-working-with-sql",
|
||||
"workshop-sql-student-database-part-1",
|
||||
"workshop-sql-student-database-part-2",
|
||||
"workshop-kitty-ipsum-translator",
|
||||
"workshop-bike-rental-shop",
|
||||
"review-bash-and-sql",
|
||||
"quiz-bash-and-sql"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-world-cup-database",
|
||||
"blocks": ["lab-world-cup-database"]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-salon-appointment-scheduler",
|
||||
"blocks": ["lab-salon-appointment-scheduler"]
|
||||
},
|
||||
{
|
||||
"dashedName": "git",
|
||||
"blocks": [
|
||||
"lecture-working-with-nano",
|
||||
"workshop-castle",
|
||||
"lecture-introduction-to-git-and-github",
|
||||
"lecture-working-with-code-reviews-branching-deployment-and-ci-cd",
|
||||
"workshop-sql-reference-object",
|
||||
"review-git",
|
||||
"quiz-git"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-periodic-table-database",
|
||||
"blocks": ["lab-periodic-table-database"]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-number-guessing-game",
|
||||
"blocks": ["lab-number-guessing-game"]
|
||||
},
|
||||
{
|
||||
"moduleType": "review",
|
||||
"dashedName": "review-relational-databases",
|
||||
"blocks": ["review-relational-databases"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "relational-databases-certification-exam",
|
||||
"comingSoon": false,
|
||||
"modules": [
|
||||
{
|
||||
"comingSoon": false,
|
||||
"dashedName": "relational-databases-certification-exam",
|
||||
"blocks": ["exam-relational-databases-certification"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-bash-by-building-a-boilerplate",
|
||||
"learn-relational-databases-by-building-a-database-of-video-game-characters",
|
||||
"build-a-celestial-bodies-database-project",
|
||||
"learn-bash-scripting-by-building-five-programs",
|
||||
"learn-sql-by-building-a-student-database-part-1",
|
||||
"learn-sql-by-building-a-student-database-part-2",
|
||||
"build-a-world-cup-database-project",
|
||||
"learn-advanced-bash-by-building-a-kitty-ipsum-translator",
|
||||
"learn-bash-and-sql-by-building-a-bike-rental-shop",
|
||||
"build-a-salon-appointment-scheduler-project",
|
||||
"learn-nano-by-building-a-castle",
|
||||
"learn-git-by-building-an-sql-reference-object",
|
||||
"build-a-periodic-table-database-project",
|
||||
"build-a-number-guessing-game-project"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-best-practices-for-responsive-web-design",
|
||||
"workshop-piano",
|
||||
"lab-technical-documentation-page",
|
||||
"review-responsive-web-design",
|
||||
"quiz-responsive-web-design"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-html-by-building-a-cat-photo-app",
|
||||
"learn-basic-css-by-building-a-cafe-menu",
|
||||
"learn-css-colors-by-building-a-set-of-colored-markers",
|
||||
"learn-html-forms-by-building-a-registration-form",
|
||||
"build-a-survey-form-project",
|
||||
"learn-the-css-box-model-by-building-a-rothko-painting",
|
||||
"learn-css-flexbox-by-building-a-photo-gallery",
|
||||
"learn-typography-by-building-a-nutrition-label",
|
||||
"learn-accessibility-by-building-a-quiz",
|
||||
"build-a-tribute-page-project",
|
||||
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet",
|
||||
"learn-intermediate-css-by-building-a-cat-painting",
|
||||
"learn-responsive-web-design-by-building-a-piano",
|
||||
"build-a-technical-documentation-page-project",
|
||||
"learn-css-variables-by-building-a-city-skyline",
|
||||
"learn-css-grid-by-building-a-magazine",
|
||||
"build-a-product-landing-page-project",
|
||||
"learn-css-animation-by-building-a-ferris-wheel",
|
||||
"learn-css-transforms-by-building-a-penguin",
|
||||
"build-a-personal-portfolio-webpage-project"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,319 @@
|
||||
{
|
||||
"chapters": [
|
||||
{
|
||||
"dashedName": "html",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-html",
|
||||
"blocks": [
|
||||
"workshop-curriculum-outline",
|
||||
"lab-debug-camperbots-profile-page",
|
||||
"lecture-understanding-html-attributes",
|
||||
"lab-debug-pet-adoption-page",
|
||||
"lecture-understanding-the-html-boilerplate",
|
||||
"workshop-cat-photo-app",
|
||||
"lab-recipe-page",
|
||||
"lecture-html-fundamentals",
|
||||
"workshop-bookstore-page",
|
||||
"lecture-understanding-how-html-affects-seo",
|
||||
"lab-travel-agency-page",
|
||||
"lecture-working-with-audio-and-video-elements",
|
||||
"workshop-html-music-player",
|
||||
"workshop-html-video-player",
|
||||
"lab-html-audio-and-video-player",
|
||||
"lecture-working-with-images-and-svgs",
|
||||
"workshop-build-a-heart-icon",
|
||||
"lecture-working-with-media",
|
||||
"workshop-build-a-video-display-using-iframe",
|
||||
"lab-video-compilation-page",
|
||||
"lecture-working-with-links",
|
||||
"review-basic-html",
|
||||
"quiz-basic-html"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "semantic-html",
|
||||
"blocks": [
|
||||
"lecture-importance-of-semantic-html",
|
||||
"lecture-understanding-nuanced-semantic-elements",
|
||||
"workshop-major-browsers-list",
|
||||
"lecture-working-with-text-and-time-semantic-elements",
|
||||
"workshop-quincys-job-tips",
|
||||
"lecture-working-with-specialized-semantic-elements",
|
||||
"workshop-blog-page",
|
||||
"lab-event-hub",
|
||||
"review-semantic-html",
|
||||
"quiz-semantic-html"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "html-forms-and-tables",
|
||||
"blocks": [
|
||||
"lecture-working-with-forms",
|
||||
"workshop-hotel-feedback-form",
|
||||
"lecture-working-with-tables",
|
||||
"workshop-final-exams-table",
|
||||
"lab-book-catalog-table",
|
||||
"lecture-working-with-html-tools",
|
||||
"review-html-tables-and-forms",
|
||||
"quiz-html-tables-and-forms"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-survey-form",
|
||||
"blocks": ["lab-survey-form"]
|
||||
},
|
||||
{
|
||||
"dashedName": "html-and-accessibility",
|
||||
"blocks": [
|
||||
"lecture-importance-of-accessibility-and-good-html-structure",
|
||||
"workshop-debug-coding-journey-blog-page",
|
||||
"lecture-accessible-tables-forms",
|
||||
"workshop-tech-conference-schedule",
|
||||
"lab-debug-donation-form",
|
||||
"lecture-introduction-to-aria",
|
||||
"workshop-accessible-audio-controller",
|
||||
"lecture-accessible-media-elements",
|
||||
"lab-checkout-page",
|
||||
"lab-movie-review-page",
|
||||
"lab-multimedia-player",
|
||||
"review-html-accessibility",
|
||||
"quiz-html-accessibility"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "review",
|
||||
"dashedName": "review-html",
|
||||
"blocks": ["review-html"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "computers",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "computer-basics",
|
||||
"blocks": [
|
||||
"lecture-understanding-computer-internet-and-tooling-basics",
|
||||
"lecture-working-with-file-systems",
|
||||
"lecture-browsing-the-web-effectively",
|
||||
"review-computer-basics",
|
||||
"quiz-computer-basics"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "basic-css",
|
||||
"blocks": [
|
||||
"lecture-what-is-css",
|
||||
"workshop-cafe-menu",
|
||||
"lab-business-card",
|
||||
"lecture-css-specificity-the-cascade-algorithm-and-inheritance",
|
||||
"review-basic-css",
|
||||
"quiz-basic-css",
|
||||
"lecture-styling-lists-and-links",
|
||||
"lab-stylized-to-do-list",
|
||||
"lecture-working-with-backgrounds-and-borders",
|
||||
"lab-blog-post-card",
|
||||
"review-css-backgrounds-and-borders",
|
||||
"quiz-css-backgrounds-and-borders"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "design-for-developers",
|
||||
"blocks": [
|
||||
"lecture-user-interface-design-fundamentals",
|
||||
"lecture-user-centered-design",
|
||||
"lecture-common-design-tools",
|
||||
"review-design-fundamentals",
|
||||
"quiz-design-fundamentals"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "absolute-and-relative-units",
|
||||
"blocks": [
|
||||
"lecture-working-with-relative-and-absolute-units",
|
||||
"lab-event-flyer-page",
|
||||
"review-css-relative-and-absolute-units",
|
||||
"quiz-css-relative-and-absolute-units"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "pseudo-classes-and-elements",
|
||||
"blocks": [
|
||||
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css",
|
||||
"workshop-greeting-card",
|
||||
"workshop-parent-teacher-conference-form",
|
||||
"lab-job-application-form",
|
||||
"review-css-pseudo-classes",
|
||||
"quiz-css-pseudo-classes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-colors",
|
||||
"blocks": [
|
||||
"lecture-working-with-colors-in-css",
|
||||
"workshop-colored-markers",
|
||||
"lab-colored-boxes",
|
||||
"review-css-colors",
|
||||
"quiz-css-colors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "styling-forms",
|
||||
"blocks": [
|
||||
"lecture-best-practices-for-styling-forms",
|
||||
"workshop-registration-form",
|
||||
"lab-contact-form",
|
||||
"workshop-game-settings-panel",
|
||||
"lab-feature-selection",
|
||||
"review-styling-forms",
|
||||
"quiz-styling-forms"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-box-model",
|
||||
"blocks": [
|
||||
"lecture-working-with-css-transforms-overflow-and-filters",
|
||||
"workshop-rothko-painting",
|
||||
"lab-confidential-email-page",
|
||||
"review-css-layout-and-effects",
|
||||
"quiz-css-layout-and-effects"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-flexbox",
|
||||
"blocks": [
|
||||
"lecture-working-with-css-flexbox",
|
||||
"workshop-flexbox-photo-gallery",
|
||||
"workshop-colorful-boxes",
|
||||
"lab-pricing-plans-layout",
|
||||
"review-css-flexbox",
|
||||
"quiz-css-flexbox"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-page-of-playing-cards",
|
||||
"blocks": ["lab-page-of-playing-cards"]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-typography",
|
||||
"blocks": [
|
||||
"lecture-working-with-css-fonts",
|
||||
"workshop-nutritional-label",
|
||||
"lab-newspaper-article",
|
||||
"review-css-typography",
|
||||
"quiz-css-typography"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-and-accessibility",
|
||||
"blocks": [
|
||||
"lecture-best-practices-for-accessibility-and-css",
|
||||
"workshop-accessibility-quiz",
|
||||
"lab-tribute-page",
|
||||
"review-css-accessibility",
|
||||
"quiz-css-accessibility"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-positioning",
|
||||
"blocks": [
|
||||
"lecture-understanding-how-to-work-with-floats-and-positioning-in-css",
|
||||
"workshop-cat-painting",
|
||||
"lab-house-painting",
|
||||
"review-css-positioning",
|
||||
"quiz-css-positioning"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "attribute-selectors",
|
||||
"blocks": [
|
||||
"lecture-working-with-attribute-selectors",
|
||||
"workshop-balance-sheet",
|
||||
"review-css-attribute-selectors",
|
||||
"quiz-css-attribute-selectors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-book-inventory-app",
|
||||
"blocks": ["lab-book-inventory-app"]
|
||||
},
|
||||
{
|
||||
"dashedName": "responsive-design",
|
||||
"blocks": [
|
||||
"lecture-best-practices-for-responsive-web-design",
|
||||
"workshop-piano",
|
||||
"review-responsive-web-design",
|
||||
"quiz-responsive-web-design"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-technical-documentation-page",
|
||||
"blocks": ["lab-technical-documentation-page"]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-variables",
|
||||
"blocks": [
|
||||
"lecture-working-with-css-variables",
|
||||
"workshop-city-skyline",
|
||||
"lab-availability-table",
|
||||
"review-css-variables",
|
||||
"quiz-css-variables"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-grid",
|
||||
"blocks": [
|
||||
"lecture-working-with-css-grid",
|
||||
"workshop-magazine",
|
||||
"lab-newspaper-layout",
|
||||
"lecture-debugging-css",
|
||||
"review-css-grid",
|
||||
"quiz-css-grid"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "cert-project",
|
||||
"dashedName": "lab-product-landing-page",
|
||||
"blocks": ["lab-product-landing-page"]
|
||||
},
|
||||
{
|
||||
"dashedName": "css-animations",
|
||||
"blocks": [
|
||||
"lecture-animations-and-accessibility",
|
||||
"workshop-ferris-wheel",
|
||||
"lab-moon-orbit",
|
||||
"workshop-flappy-penguin",
|
||||
"lab-personal-portfolio",
|
||||
"review-css-animations",
|
||||
"quiz-css-animations"
|
||||
]
|
||||
},
|
||||
{
|
||||
"moduleType": "review",
|
||||
"dashedName": "review-css",
|
||||
"blocks": ["review-css"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"chapterType": "exam",
|
||||
"dashedName": "responsive-web-design-certification-exam",
|
||||
"modules": [
|
||||
{
|
||||
"dashedName": "responsive-web-design-certification-exam",
|
||||
"blocks": ["exam-responsive-web-design-certification"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"basic-html-and-html5",
|
||||
"basic-css",
|
||||
"applied-visual-design",
|
||||
"applied-accessibility",
|
||||
"responsive-web-design-principles",
|
||||
"css-flexbox",
|
||||
"css-grid"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"blocks": ["rosetta-code-challenges"]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"blocks": [
|
||||
"learn-string-manipulation-by-building-a-cipher",
|
||||
"learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm",
|
||||
"learn-lambda-functions-by-building-an-expense-tracker",
|
||||
"learn-list-comprehension-by-building-a-case-converter-program",
|
||||
"learn-the-bisection-method-by-finding-the-square-root-of-a-number",
|
||||
"build-an-arithmetic-formatter-project",
|
||||
"learn-regular-expressions-by-building-a-password-generator",
|
||||
"learn-algorithm-design-by-building-a-shortest-path-algorithm",
|
||||
"learn-recursion-by-solving-the-tower-of-hanoi-puzzle",
|
||||
"learn-data-structures-by-building-the-merge-sort-algorithm",
|
||||
"build-a-time-calculator-project",
|
||||
"learn-classes-and-objects-by-building-a-sudoku-solver",
|
||||
"learn-tree-traversal-by-building-a-binary-search-tree",
|
||||
"build-a-budget-app-project",
|
||||
"learn-special-methods-by-building-a-vector-space",
|
||||
"learn-interfaces-by-building-an-equation-solver",
|
||||
"build-a-polygon-area-calculator-project",
|
||||
"learn-encapsulation-by-building-a-projectile-trajectory-calculator",
|
||||
"build-a-probability-calculator-project"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-importance-of-semantic-html",
|
||||
"lecture-understanding-nuanced-semantic-elements",
|
||||
"workshop-major-browsers-list",
|
||||
"lecture-working-with-text-and-time-semantic-elements",
|
||||
"workshop-quincys-job-tips",
|
||||
"lecture-working-with-specialized-semantic-elements",
|
||||
"workshop-blog-page",
|
||||
"lab-event-hub",
|
||||
"review-semantic-html",
|
||||
"quiz-semantic-html"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"blocks": [
|
||||
"lecture-best-practices-for-styling-forms",
|
||||
"workshop-registration-form",
|
||||
"lab-contact-form",
|
||||
"workshop-game-settings-panel",
|
||||
"lab-feature-selection",
|
||||
"review-styling-forms",
|
||||
"quiz-styling-forms"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"blocks": [
|
||||
"top-learn-html-foundations",
|
||||
"top-working-with-text",
|
||||
"top-links-and-images",
|
||||
"top-build-a-recipe-project",
|
||||
"top-learn-css-foundations",
|
||||
"top-learn-css-foundations-projects",
|
||||
"top-learn-css-specificity",
|
||||
"top-the-box-model",
|
||||
"top-learn-block-and-inline",
|
||||
"top-introduction-to-flexbox",
|
||||
"top-learn-variables-and-operators",
|
||||
"top-learn-data-types-and-conditionals",
|
||||
"top-learn-function-basics",
|
||||
"top-basic-function-projects",
|
||||
"top-learn-arrays-and-loops",
|
||||
"top-learn-to-solve-problems-and-understand-errors",
|
||||
"top-build-a-rock-paper-scissors-game"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user