feat: Add prompt course to catalog (#66228)

Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com>
This commit is contained in:
Jessica Wilkins
2026-03-05 10:09:21 -08:00
committed by GitHub
parent dd571f965b
commit 0ee6075afe
33 changed files with 620 additions and 15 deletions
+30
View File
@@ -1076,6 +1076,36 @@
}
}
},
"learn-prompting-fundamentals": {
"title": "Learn Prompting Fundamentals",
"summary": [
"Learn the fundamentals of writing good prompts in this video course."
],
"intro": [
"This course will guide you through the essentials of AI and language models, teach you core prompting strategies, and show best practices for practical use."
],
"note": "",
"blocks": {
"learn-prompting-fundamentals-foundations-of-ai-and-language-models": {
"title": "Foundations of AI & Language Models",
"intro": [
"Explore the basics of AI, machine learning, linguistics, and language models to build a solid foundation for effective prompting."
]
},
"learn-prompting-fundamentals-core-concepts": {
"title": "Core Concepts",
"intro": [
"Learn key prompting techniques, and understand how to use ChatGPT effectively."
]
},
"learn-prompting-fundamentals-practical-application-and-best-practices": {
"title": "Practical Application & Best Practices",
"intro": [
"Discover best practices for effective prompts, explore vectors and text embeddings, and review key takeaways."
]
}
}
},
"information-security": {
"title": "Information Security",
"intro": [
+2 -1
View File
@@ -37,6 +37,7 @@
"Chinese Curriculum": "Chinese Curriculum",
"Odin": "The Odin Project",
"Euler": "Project Euler",
"Rosetta": "Rosetta Code"
"Rosetta": "Rosetta Code",
"General": "General"
}
}
@@ -1276,6 +1276,7 @@
"foundational-c-sharp-with-microsoft-cert": "Foundational C# with Microsoft Certification",
"learn-python-for-beginners": "Learn Python for Beginners",
"introduction-to-algorithms-and-data-structures": "Introduction to Algorithms and Data Structures",
"learn-prompting-fundamentals": "Learn Prompting Fundamentals",
"a2-english-for-developers": "A2 English for Developers",
"a2-english-for-developers-cert": "A2 English for Developers Certification (Beta)",
"b1-english-for-developers": "B1 English for Developers",
@@ -1463,7 +1464,8 @@
"api": "APIs",
"information-security": "Information Security",
"computer-fundamentals": "Computer Fundamentals",
"computer-science": "Computer Science"
"computer-science": "Computer Science",
"ai": "AI"
}
}
}
+2 -1
View File
@@ -88,7 +88,8 @@ const iconMap = {
[SuperBlocks.PythonV9]: PythonIcon,
[SuperBlocks.RelationalDbV9]: DatabaseIcon,
[SuperBlocks.BackEndDevApisV9]: APIIcon,
[SuperBlocks.FullStackDeveloperV9]: Code
[SuperBlocks.FullStackDeveloperV9]: Code,
[SuperBlocks.LearnPromptingFundamentals]: Clipboard
};
type SuperBlockIconProps = {
@@ -0,0 +1,9 @@
---
title: Learn Prompting Fundamentals
superBlock: learn-prompting-fundamentals
certification: learn-prompting-fundamentals
---
## Learn Prompting Fundamentals
In this video course, you will learn about prompting techniques, including zero-shot and few-shot strategies, and learn how to handle AI hallucinations. This course also covers practical applications, best practices, and text embeddings to make your prompts more effective and reliable.
+2 -1
View File
@@ -68,7 +68,8 @@
color: var(--love-color);
}
.block-label-warm-up {
.block-label-warm-up,
.block-label-ai {
border-color: var(--yellow-color);
color: var(--yellow-color);
}
@@ -23,7 +23,8 @@ const blockSchema = Joi.object().keys({
'Spanish Curriculum',
'Odin',
'Euler',
'Rosetta'
'Rosetta',
'General'
).required(),
order: Joi.number().required(),
template: Joi.string().allow(''),
@@ -0,0 +1,38 @@
---
id: 69a769365a27934b29e1eac5
title: Prompt Engineering Mindset
challengeType: 11
videoId: vzwYXMiXH9A
dashedName: prompt-engineering-mindset-learn-prompting-fundamentals
---
# --description--
In this video, you will learn how to develop a good prompt engineering mindset.
# --questions--
## --text--
What does the video compare a good prompt engineering mindset to?
## --answers--
Effective searching on Google.
---
Learning how to master Vim.
---
Properly configuring webpack.
---
Effective searching of files using Bash.
## --video-solution--
1
@@ -0,0 +1,40 @@
---
id: 69a76a395a27934b29e1eac6
title: Using ChatGPT
challengeType: 11
videoId: JFY9xLY2AXU
dashedName: using-chatgpt-learn-prompting-fundamentals
---
# --description--
In this video, you will learn about effective ways to use ChatGPT.
**NOTE**: This video covers Chat GPT-4. Even though this is an older version, the strategies mentioned in the video are still valid.
# --questions--
## --text--
Who is the creator of ChatGPT?
## --answers--
Microsoft
---
GitHub
---
Amazon
---
OpenAI
## --video-solution--
4
@@ -0,0 +1,38 @@
---
id: 69a7646b5a27934b29e1eac1
title: Introduction to AI
challengeType: 11
videoId: 5v13GqqDRng
dashedName: introduction-to-ai-learn-prompting-fundamentals
---
# --description--
In this video, you will learn what AI is.
# --questions--
## --text--
What does AI stand for?
## --answers--
Artificial Intellisense
---
Artificial Intel
---
Artificial Intelligence
---
Artificial ID
## --video-solution--
3
@@ -0,0 +1,38 @@
---
id: 69a761d55a27934b29e1eabf
title: Introduction
challengeType: 11
videoId: tb0HeceXvZY
dashedName: introduction-learn-prompting-fundamentals
---
# --description--
This course was created by Ania Kubow. In this video, you will learn what this course covers.
# --questions--
## --text--
Which of the following topics will NOT be covered in this course?
## --answers--
Learning about language models.
---
Learning best practices for prompting.
---
Learning how to build AI agents using Python.
---
Learning about AI hallucinations.
## --video-solution--
3
@@ -0,0 +1,38 @@
---
id: 69a767d55a27934b29e1eac4
title: Language Models
challengeType: 11
videoId: PAG0W_o6jDk
dashedName: language-models-learn-prompting-fundamentals
---
# --description--
In this video, you will learn about language models.
# --questions--
## --text--
Which of the following was one of the first natural language processing models?
## --answers--
SEBASTIAN
---
NLP
---
ELIZA
---
RAG
## --video-solution--
3
@@ -0,0 +1,38 @@
---
id: 69a7672a5a27934b29e1eac3
title: Linguistics
challengeType: 11
videoId: ggfB0O9Pf64
dashedName: linguistics-learn-prompting-fundamentals
---
# --description--
In this video, you will learn what linguistics is and how it relates to AI.
# --questions--
## --text--
What is linguistics?
## --answers--
Study of language.
---
Study of math.
---
Study of machine learning.
---
Study of programming.
## --video-solution--
1
@@ -0,0 +1,38 @@
---
id: 69a7633b5a27934b29e1eac0
title: What is Prompt Engineering?
challengeType: 11
videoId: 2Q-GMmhXP-k
dashedName: what-is-prompt-engineering-learn-prompting-fundamentals
---
# --description--
In this video, you will learn what prompt engineering is.
# --questions--
## --text--
What is prompt engineering?
## --answers--
This is the process of configuring AI to write all of your tests in your codebase.
---
This is the process of using writing, refining and optimizing prompts in a structured way for AI tools.
---
This is the process of having AI lint all of your code.
---
This is the process of using AI to refactor a codebase.
## --video-solution--
2
@@ -0,0 +1,38 @@
---
id: 69a765395a27934b29e1eac2
title: Why is Prompt Engineering Useful?
challengeType: 11
videoId: kUfSMBysZE4
dashedName: why-is-prompt-engineering-useful-useful-learn-prompting-fundamentals
---
# --description--
In this video, you will learn why prompt engineering is useful for everyday tasks and learning new skills.
# --questions--
## --text--
Why is it important to write clear and specific prompts for AI tools?
## --answers--
Writing clean and specific prompts will instantly remove all bugs from your codebase.
---
Writing clear prompts will instantly make you 10x more productive at work.
---
There is no benefit of writing clear prompts because AI will always give you your desired outcome.
---
Writing clear and specific prompts will improve the results.
## --video-solution--
4
@@ -0,0 +1,38 @@
---
id: 69a774515a27934b29e1eac9
title: AI Hallucinations
challengeType: 11
videoId: LbeAbfCszLg
dashedName: ai-hallucinations-learn-prompting-fundamentals
---
# --description--
In this video, you will learn about AI hallucinations.
# --questions--
## --text--
What are AI hallucinations?
## --answers--
When an AI model refuses to answer a question because it is unsafe.
---
When an AI system shuts down unexpectedly due to memory overload.
---
When the AI model provides false information.
---
When an AI generates responses more slowly than expected due to large input size.
## --video-solution--
3
@@ -0,0 +1,38 @@
---
id: 69a772165a27934b29e1eac7
title: Best Practices
challengeType: 11
videoId: z_4Esan2kus
dashedName: best-practices-learn-prompting-fundamentals
---
# --description--
In this video, you will learn about best practices when working with AI tools.
# --questions--
## --text--
Why is it helpful to add a persona to the prompt?
## --answers--
Using a persona ensures that the result is at least 2 paragraphs long.
---
Using a persona is required for the prompt to work.
---
Using a persona helps the model provide relevant and consistent feedback.
---
Using a persona will ensure no hallucinations happen.
## --video-solution--
3
@@ -0,0 +1,38 @@
---
id: 69a774ec5a27934b29e1eaca
title: Vectors / Text Embeddings
challengeType: 11
videoId: 3tBOmjve79Y
dashedName: vectors-text-embeddings-learn-prompting-fundamentals
---
# --description--
In this video, you will learn about vectors and text embeddings.
# --questions--
## --text--
What is text embedding?
## --answers--
A technique that translates text from one language to another automatically.
---
A popular technique to represent textual information in a format that can be easily processed by algorithms.
---
A method for compressing text files to reduce storage space.
---
A process that converts speech directly into written text.
## --video-solution--
2
@@ -0,0 +1,38 @@
---
id: 69a773545a27934b29e1eac8
title: Zero Shot and Few Shot Prompts
challengeType: 11
videoId: 9SQRxWk4Myc
dashedName: zero-shot-and-few-shot-prompts-learn-prompting-fundamentals
---
# --description--
In this video, you will learn about zero shot and few shot prompting.
# --questions--
## --text--
What is few shot prompting?
## --answers--
Reduces the model size so it can run efficiently on smaller devices.
---
Provides the model with training examples through the prompt which avoids retraining.
---
Retrains the model on a small custom dataset before generating responses.
---
Uses reinforcement learning to improve the model after each prompt.
## --video-solution--
2
@@ -527,6 +527,7 @@ exports[`challenge schema > should not be changed without informing the mobile t
"Rosetta",
"Chinese Curriculum",
"Spanish Curriculum",
"General",
],
"flags": {
"only": true,
+2 -1
View File
@@ -236,7 +236,8 @@ export const schema = Joi.object().keys({
'Euler',
'Rosetta',
'Chinese Curriculum',
'Spanish Curriculum'
'Spanish Curriculum',
'General'
).required(),
isLastChallengeInBlock: Joi.boolean().required(),
videoUrl: Joi.string().allow(''),
+2 -1
View File
@@ -57,7 +57,8 @@ const superblocks = [
'css-variables',
'css-grid',
'lab-product-landing-page',
'css-animations'
'css-animations',
'learn-prompting-fundamentals'
];
const schema = Joi.object().keys(
+2 -1
View File
@@ -65,7 +65,8 @@ const schema = Joi.object()
'Euler',
'Rosetta',
'Chinese Curriculum',
'Spanish Curriculum'
'Spanish Curriculum',
'General'
).required()
})
// this makes sure there is no unknown key in the object
+2 -1
View File
@@ -229,7 +229,8 @@ export const superBlockNames = {
'css-variables': SuperBlocks.CssVariables,
'css-grid': SuperBlocks.CssGrid,
'lab-product-landing-page': SuperBlocks.LabProductLandingPage,
'css-animations': SuperBlocks.CssAnimations
'css-animations': SuperBlocks.CssAnimations,
'learn-prompting-fundamentals': SuperBlocks.LearnPromptingFundamentals
};
export const superBlockToFilename = Object.entries(superBlockNames).reduce(
@@ -0,0 +1,18 @@
{
"name": "Core Concepts",
"isUpcomingChange": false,
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"dashedName": "learn-prompting-fundamentals-core-concepts",
"helpCategory": "General",
"challengeOrder": [
{
"id": "69a769365a27934b29e1eac5",
"title": "Prompt Engineering Mindset"
},
{
"id": "69a76a395a27934b29e1eac6",
"title": "Using ChatGPT"
}
]
}
@@ -0,0 +1,34 @@
{
"name": "Foundations of AI & Language Models",
"isUpcomingChange": false,
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"dashedName": "learn-prompting-fundamentals-foundations-of-ai-and-language-models",
"helpCategory": "General",
"challengeOrder": [
{
"id": "69a761d55a27934b29e1eabf",
"title": "Introduction"
},
{
"id": "69a7633b5a27934b29e1eac0",
"title": "What is Prompt Engineering?"
},
{
"id": "69a7646b5a27934b29e1eac1",
"title": "Introduction to AI"
},
{
"id": "69a765395a27934b29e1eac2",
"title": "Why is Prompt Engineering Useful?"
},
{
"id": "69a7672a5a27934b29e1eac3",
"title": "Linguistics"
},
{
"id": "69a767d55a27934b29e1eac4",
"title": "Language Models"
}
]
}
@@ -0,0 +1,26 @@
{
"name": "Practical Application & Best Practices",
"isUpcomingChange": false,
"blockLabel": "lecture",
"blockLayout": "challenge-list",
"dashedName": "learn-prompting-fundamentals-practical-application-and-best-practices",
"helpCategory": "General",
"challengeOrder": [
{
"id": "69a772165a27934b29e1eac7",
"title": "Best Practices"
},
{
"id": "69a773545a27934b29e1eac8",
"title": "Zero Shot and Few Shot Prompts"
},
{
"id": "69a774515a27934b29e1eac9",
"title": "AI Hallucinations"
},
{
"id": "69a774ec5a27934b29e1eaca",
"title": "Vectors / Text Embeddings"
}
]
}
+2 -1
View File
@@ -62,7 +62,8 @@
"css-variables",
"css-grid",
"lab-product-landing-page",
"css-animations"
"css-animations",
"learn-prompting-fundamentals"
],
"certifications": [
"a2-english-for-developers",
@@ -0,0 +1,7 @@
{
"blocks": [
"learn-prompting-fundamentals-foundations-of-ai-and-language-models",
"learn-prompting-fundamentals-core-concepts",
"learn-prompting-fundamentals-practical-application-and-best-practices"
]
}
+8 -1
View File
@@ -18,7 +18,8 @@ enum Topic {
Api = 'api',
InformationSecurity = 'information-security',
ComputerFundamentals = 'computer-fundamentals',
ComputerScience = 'computer-science'
ComputerScience = 'computer-science',
AI = 'ai'
}
interface Catalog {
@@ -196,5 +197,11 @@ export const catalog: Catalog[] = [
level: Levels.Intermediate,
hours: 6,
topic: Topic.ComputerScience
},
{
superBlock: SuperBlocks.LearnPromptingFundamentals,
level: Levels.Beginner,
hours: 1,
topic: Topic.AI
}
];
@@ -367,7 +367,8 @@ export const superBlockToCertMap: {
[SuperBlocks.LabProductLandingPage]: null,
[SuperBlocks.CssAnimations]: null,
[SuperBlocks.LearnPythonForBeginners]: null,
[SuperBlocks.IntroductionToAlgorithmsAndDataStructures]: null
[SuperBlocks.IntroductionToAlgorithmsAndDataStructures]: null,
[SuperBlocks.LearnPromptingFundamentals]: null
};
export const certificationRequirements: Partial<
+4 -2
View File
@@ -66,7 +66,8 @@ export enum SuperBlocks {
LabProductLandingPage = 'lab-product-landing-page',
CssAnimations = 'css-animations',
LearnPythonForBeginners = 'learn-python-for-beginners',
IntroductionToAlgorithmsAndDataStructures = 'introduction-to-algorithms-and-data-structures'
IntroductionToAlgorithmsAndDataStructures = 'introduction-to-algorithms-and-data-structures',
LearnPromptingFundamentals = 'learn-prompting-fundamentals'
}
export const languageSuperBlocks = [
@@ -218,7 +219,8 @@ export const superBlockStages: StageMap = {
SuperBlocks.LabProductLandingPage,
SuperBlocks.CssAnimations,
SuperBlocks.LearnPythonForBeginners,
SuperBlocks.IntroductionToAlgorithmsAndDataStructures
SuperBlocks.IntroductionToAlgorithmsAndDataStructures,
SuperBlocks.LearnPromptingFundamentals
]
};
@@ -37,7 +37,8 @@ const helpCategories = [
'English',
'Odin',
'Euler',
'Rosetta'
'Rosetta',
'General'
] as const;
interface CreateProjectArgs {