From 0ee6075afeaf4cd1630157d3651802f487130a32 Mon Sep 17 00:00:00 2001 From: Jessica Wilkins <67210629+jdwilkin4@users.noreply.github.com> Date: Thu, 5 Mar 2026 10:09:21 -0800 Subject: [PATCH] feat: Add prompt course to catalog (#66228) Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com> --- client/i18n/locales/english/intro.json | 30 ++++++++++++++ client/i18n/locales/english/links.json | 3 +- client/i18n/locales/english/translations.json | 4 +- client/src/assets/superblock-icon.tsx | 3 +- .../learn-prompting-fundamentals/index.md | 9 +++++ client/src/templates/Introduction/intro.css | 3 +- .../external-data-schema-v2.ts | 3 +- ...entals-prompt-engineering-mindset-video.md | 38 ++++++++++++++++++ ...mpting-fundamentals-using-chatgpt-video.md | 40 +++++++++++++++++++ ...g-fundamentals-introduction-to-ai-video.md | 38 ++++++++++++++++++ ...ompting-fundamentals-introduction-video.md | 38 ++++++++++++++++++ ...ting-fundamentals-language-models-video.md | 38 ++++++++++++++++++ ...rompting-fundamentals-linguistics-video.md | 38 ++++++++++++++++++ ...entals-what-is-prompt-engineering-video.md | 38 ++++++++++++++++++ ...-why-is-prompt-engineering-useful-video.md | 38 ++++++++++++++++++ ...ng-fundamentals-ai-hallucinations-video.md | 38 ++++++++++++++++++ ...pting-fundamentals-best-practices-video.md | 38 ++++++++++++++++++ ...damentals-vectors-text-embeddings-video.md | 38 ++++++++++++++++++ ...ls-zero-shot-and-few-shot-prompts-video.md | 38 ++++++++++++++++++ .../challenge-schema.test.mjs.snap | 1 + curriculum/schema/challenge-schema.js | 3 +- curriculum/schema/curriculum-schema.js | 3 +- curriculum/schema/meta-schema.js | 3 +- curriculum/src/build-curriculum.ts | 3 +- ...-prompting-fundamentals-core-concepts.json | 18 +++++++++ ...foundations-of-ai-and-language-models.json | 34 ++++++++++++++++ ...ctical-application-and-best-practices.json | 26 ++++++++++++ curriculum/structure/curriculum.json | 3 +- .../learn-prompting-fundamentals.json | 7 ++++ packages/shared/src/config/catalog.ts | 9 ++++- .../src/config/certification-settings.ts | 3 +- packages/shared/src/config/curriculum.ts | 6 ++- .../create-project.ts | 3 +- 33 files changed, 620 insertions(+), 15 deletions(-) create mode 100644 client/src/pages/learn/learn-prompting-fundamentals/index.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-prompt-engineering-mindset-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-using-chatgpt-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-to-ai-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-language-models-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-linguistics-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-what-is-prompt-engineering-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-why-is-prompt-engineering-useful-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-ai-hallucinations-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-best-practices-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-vectors-text-embeddings-video.md create mode 100644 curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-zero-shot-and-few-shot-prompts-video.md create mode 100644 curriculum/structure/blocks/learn-prompting-fundamentals-core-concepts.json create mode 100644 curriculum/structure/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models.json create mode 100644 curriculum/structure/blocks/learn-prompting-fundamentals-practical-application-and-best-practices.json create mode 100644 curriculum/structure/superblocks/learn-prompting-fundamentals.json diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json index 82db52734f7..f1d21c1335f 100644 --- a/client/i18n/locales/english/intro.json +++ b/client/i18n/locales/english/intro.json @@ -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": [ diff --git a/client/i18n/locales/english/links.json b/client/i18n/locales/english/links.json index 1d355ed668f..c2396712eab 100644 --- a/client/i18n/locales/english/links.json +++ b/client/i18n/locales/english/links.json @@ -37,6 +37,7 @@ "Chinese Curriculum": "Chinese Curriculum", "Odin": "The Odin Project", "Euler": "Project Euler", - "Rosetta": "Rosetta Code" + "Rosetta": "Rosetta Code", + "General": "General" } } diff --git a/client/i18n/locales/english/translations.json b/client/i18n/locales/english/translations.json index 36e2d1414d2..792309f1bb5 100644 --- a/client/i18n/locales/english/translations.json +++ b/client/i18n/locales/english/translations.json @@ -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" } } } diff --git a/client/src/assets/superblock-icon.tsx b/client/src/assets/superblock-icon.tsx index 7d378a6225c..6636d09e775 100644 --- a/client/src/assets/superblock-icon.tsx +++ b/client/src/assets/superblock-icon.tsx @@ -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 = { diff --git a/client/src/pages/learn/learn-prompting-fundamentals/index.md b/client/src/pages/learn/learn-prompting-fundamentals/index.md new file mode 100644 index 00000000000..b4c038b442f --- /dev/null +++ b/client/src/pages/learn/learn-prompting-fundamentals/index.md @@ -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. diff --git a/client/src/templates/Introduction/intro.css b/client/src/templates/Introduction/intro.css index 38b36eacdd3..c474777e32a 100644 --- a/client/src/templates/Introduction/intro.css +++ b/client/src/templates/Introduction/intro.css @@ -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); } diff --git a/client/tools/external-curriculum/external-data-schema-v2.ts b/client/tools/external-curriculum/external-data-schema-v2.ts index 79faa1188ce..9d1f400e27b 100644 --- a/client/tools/external-curriculum/external-data-schema-v2.ts +++ b/client/tools/external-curriculum/external-data-schema-v2.ts @@ -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(''), diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-prompt-engineering-mindset-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-prompt-engineering-mindset-video.md new file mode 100644 index 00000000000..81e90763811 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-prompt-engineering-mindset-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-using-chatgpt-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-using-chatgpt-video.md new file mode 100644 index 00000000000..6ad6eaa8256 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-core-concepts/learn-prompting-fundamentals-using-chatgpt-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-to-ai-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-to-ai-video.md new file mode 100644 index 00000000000..c86f693b810 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-to-ai-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-video.md new file mode 100644 index 00000000000..b8a7c1079e0 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-introduction-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-language-models-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-language-models-video.md new file mode 100644 index 00000000000..584d8c4ee11 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-language-models-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-linguistics-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-linguistics-video.md new file mode 100644 index 00000000000..f847efe6a75 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-linguistics-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-what-is-prompt-engineering-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-what-is-prompt-engineering-video.md new file mode 100644 index 00000000000..132e3cf7431 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-what-is-prompt-engineering-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-why-is-prompt-engineering-useful-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-why-is-prompt-engineering-useful-video.md new file mode 100644 index 00000000000..3dab62a7c9b --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models/learn-prompting-fundamentals-why-is-prompt-engineering-useful-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-ai-hallucinations-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-ai-hallucinations-video.md new file mode 100644 index 00000000000..5264bdb13c6 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-ai-hallucinations-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-best-practices-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-best-practices-video.md new file mode 100644 index 00000000000..9dadc3b5af7 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-best-practices-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-vectors-text-embeddings-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-vectors-text-embeddings-video.md new file mode 100644 index 00000000000..b34d3227959 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-vectors-text-embeddings-video.md @@ -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 + diff --git a/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-zero-shot-and-few-shot-prompts-video.md b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-zero-shot-and-few-shot-prompts-video.md new file mode 100644 index 00000000000..393ba0b1524 --- /dev/null +++ b/curriculum/challenges/english/blocks/learn-prompting-fundamentals-practical-application-and-best-practices/learn-prompting-fundamentals-zero-shot-and-few-shot-prompts-video.md @@ -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 + diff --git a/curriculum/schema/__snapshots__/challenge-schema.test.mjs.snap b/curriculum/schema/__snapshots__/challenge-schema.test.mjs.snap index 633a1b6e4ef..6b434202ed4 100644 --- a/curriculum/schema/__snapshots__/challenge-schema.test.mjs.snap +++ b/curriculum/schema/__snapshots__/challenge-schema.test.mjs.snap @@ -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, diff --git a/curriculum/schema/challenge-schema.js b/curriculum/schema/challenge-schema.js index 78e5accfaeb..64e2c1faabd 100644 --- a/curriculum/schema/challenge-schema.js +++ b/curriculum/schema/challenge-schema.js @@ -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(''), diff --git a/curriculum/schema/curriculum-schema.js b/curriculum/schema/curriculum-schema.js index a93ff9a0cc4..03df86acea0 100644 --- a/curriculum/schema/curriculum-schema.js +++ b/curriculum/schema/curriculum-schema.js @@ -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( diff --git a/curriculum/schema/meta-schema.js b/curriculum/schema/meta-schema.js index bd56eddc0c2..1902484e909 100644 --- a/curriculum/schema/meta-schema.js +++ b/curriculum/schema/meta-schema.js @@ -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 diff --git a/curriculum/src/build-curriculum.ts b/curriculum/src/build-curriculum.ts index 8b216574020..5b6b4eb5cb3 100644 --- a/curriculum/src/build-curriculum.ts +++ b/curriculum/src/build-curriculum.ts @@ -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( diff --git a/curriculum/structure/blocks/learn-prompting-fundamentals-core-concepts.json b/curriculum/structure/blocks/learn-prompting-fundamentals-core-concepts.json new file mode 100644 index 00000000000..21eb2fb5d1a --- /dev/null +++ b/curriculum/structure/blocks/learn-prompting-fundamentals-core-concepts.json @@ -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" + } + ] +} diff --git a/curriculum/structure/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models.json b/curriculum/structure/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models.json new file mode 100644 index 00000000000..2e4d72cf3e3 --- /dev/null +++ b/curriculum/structure/blocks/learn-prompting-fundamentals-foundations-of-ai-and-language-models.json @@ -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" + } + ] +} diff --git a/curriculum/structure/blocks/learn-prompting-fundamentals-practical-application-and-best-practices.json b/curriculum/structure/blocks/learn-prompting-fundamentals-practical-application-and-best-practices.json new file mode 100644 index 00000000000..f95436d567c --- /dev/null +++ b/curriculum/structure/blocks/learn-prompting-fundamentals-practical-application-and-best-practices.json @@ -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" + } + ] +} diff --git a/curriculum/structure/curriculum.json b/curriculum/structure/curriculum.json index c97a1d4e7c3..debe2ba279c 100644 --- a/curriculum/structure/curriculum.json +++ b/curriculum/structure/curriculum.json @@ -62,7 +62,8 @@ "css-variables", "css-grid", "lab-product-landing-page", - "css-animations" + "css-animations", + "learn-prompting-fundamentals" ], "certifications": [ "a2-english-for-developers", diff --git a/curriculum/structure/superblocks/learn-prompting-fundamentals.json b/curriculum/structure/superblocks/learn-prompting-fundamentals.json new file mode 100644 index 00000000000..e4d4ffe8082 --- /dev/null +++ b/curriculum/structure/superblocks/learn-prompting-fundamentals.json @@ -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" + ] +} diff --git a/packages/shared/src/config/catalog.ts b/packages/shared/src/config/catalog.ts index ac13f35384a..ad4e8b38cf5 100644 --- a/packages/shared/src/config/catalog.ts +++ b/packages/shared/src/config/catalog.ts @@ -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 } ]; diff --git a/packages/shared/src/config/certification-settings.ts b/packages/shared/src/config/certification-settings.ts index 8e4853241b2..d2544225c62 100644 --- a/packages/shared/src/config/certification-settings.ts +++ b/packages/shared/src/config/certification-settings.ts @@ -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< diff --git a/packages/shared/src/config/curriculum.ts b/packages/shared/src/config/curriculum.ts index 0bdd3b3e408..948d731ce5b 100644 --- a/packages/shared/src/config/curriculum.ts +++ b/packages/shared/src/config/curriculum.ts @@ -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 ] }; diff --git a/tools/challenge-helper-scripts/create-project.ts b/tools/challenge-helper-scripts/create-project.ts index 7281c70d038..b803a348026 100644 --- a/tools/challenge-helper-scripts/create-project.ts +++ b/tools/challenge-helper-scripts/create-project.ts @@ -37,7 +37,8 @@ const helpCategories = [ 'English', 'Odin', 'Euler', - 'Rosetta' + 'Rosetta', + 'General' ] as const; interface CreateProjectArgs {