Generative AI: Prompt Engineering Basics

Brought by: Coursera

Overview

This course is designed for everyone, including professionals, executives, students, and enthusiasts interested in leveraging effective prompt engineering techniques to unlock the full potential of generative artificial intelligence (AI) tools like ChatGPT.

Prompt engineering is a process to effectively guide generative AI models and control their output to produce desired results. In this course, you will learn the techniques, approaches, and best practices for writing effective prompts.

You will learn about prompt techniques like zero-shot and few-shot, which can improve the reliability and quality of large language models (LLMs). You will also explore various prompt engineering approaches like Interview Pattern, Chain-of-Thought, and Tree-of-Thought, which aim at generating precise and relevant responses.

You will be introduced to commonly used prompt engineering tools like IBM watsonx Prompt Lab, Spellbook, and Dust.

The hands-on labs included in the course offer an opportunity to optimize results by creating effective prompts in the IBM Generative AI Classroom. You will also hear from practitioners about the tools and approaches used in prompt engineering and the art of writing effective prompts.

Syllabus

  • Prompt Engineering for Generative AI
    • In this module, you will learn the concept of prompt engineering in generative AI. You will also learn the best practices for writing effective prompts and assess common prompt engineering tools.
  • Prompt Engineering: Techniques and Approaches
    • In this module, you will discover techniques for skillfully crafting prompts that effectively steer generative AI models. You will also learn about various prompt engineering approaches that can enhance the capabilities of generative AI models to produce precise and relevant responses.
  • Course Quiz, Project, and Wrap-up
    • This module includes a graded quiz to test and reinforce your understanding of concepts covered in the course. The module also includes a glossary to enhance comprehension of generative AI-related terms.

      The module includes a final project, which provides an opportunity to gain hands-on experience on the concepts covered in the course.

      The module also includes optional content. This content includes the techniques for writing effective prompts for image generation. Additionally, you can learn about Prompt Lab, a prompting tool designed to maximize your prompt engineering capabilities in IBM watsonx.

Taught by

Rav Ahuja and Antonio Cangiano

Generative AI: Prompt Engineering Basics
Go to course

Generative AI: Prompt Engineering Basics

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Available at any time
  • beginner
  • English, Hungarian
8.1.2PHP Version319msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (192ms)
    • Application (127ms)
    • 1 x Booting (60.04%)
      191.70ms
      1 x Application (39.68%)
      126.68ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed16.05ms
      • select * from `courses` where `slug_en` = 'generative-ai:-prompt-engineering-basics' limit 1
        14.8ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. generative-ai:-prompt-engineering-basics
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-03 08:26:55' where `id` = 6904
        430μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-03 08:26:55
        • 1. 6904
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (33)
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        140μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (46) and `institutions`.`deleted_at` is null
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 6895 limit 1
        210μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 6895
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        7PDeS7dosvxQYjXUYz9rV6k0RtzUl2lgbHFkB8Sy
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/generative-ai:-prompt-engineering-basics"...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/generative-ai:-prompt-engineering-basics
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.148.115.58" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.148.115.58" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "949dceeb3f15ab95-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.148.115.58" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.148.115.58" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "949dceeb3f15ab95-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "10734" "REMOTE_ADDR" => "172.69.17.136" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/generative-ai:-prompt-engineering-basics" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1748939214.8518 "REQUEST_TIME" => 1748939214 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 03 Jun 2025 08:26:55 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ikh5U25OQzB0dlVRY29nKzhralpsbUE9PSIsInZhbHVlIjoiWnI3eE05MlY3Y0w5QjNBVDBOdjlOZkVrR2Erd04rU25Vblk1MnpHU1B2cWhRTzFkYmZRTjZ0ak5XbU5VemNoc01jdy80dlgvNGFjK0NVWkRETndUVXppMEpvWmdHRDVab0F0RGhHencvS1UrbXZTa0c0MTRvVW1kOWJUNjJsL1YiLCJtYWMiOiJkNDAyYmFiZWMzMTAyNWMzZDJiZWU5ZDZmMTllMzA5YjUxYmE1NTVkNTI5ODJlODQ1MzQ3Y2U2MDlhYjY1M2I0IiwidGFnIjoiIn0%3D; expires=Tue, 03 Jun 2025 10:26:55 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ikh5U25OQzB0dlVRY29nKzhralpsbUE9PSIsInZhbHVlIjoiWnI3eE05MlY3Y0w5QjNBVDBOdjlOZkVrR2Erd04rU25Vblk1MnpHU1B2cWhRTzFkYmZRTjZ0ak5XbU5VemNoc01jdy80d" 1 => "laravel_session=eyJpdiI6IldGZWIyUVR4VmE0bUZWVW1BTHBFWVE9PSIsInZhbHVlIjoiSDRaUjZLNURwVWRGb2FkMmpaNSt0SW4yajc2SG1mM05ORFcrd1M1cGZWcVI0bHVnREtuUHpCM2p6Z0hoMDhxeml6SDI0YnFuSXp0c2FsdEtKd3pUazRLeGxONDZwVm1ZY1QwT0JqelUrNUM2S3RXclp2Vmx1SmpreEdudVNnU08iLCJtYWMiOiI2MmQzMWI4ODFiODQ2YmEwZjE1MzM2YTE2NmYxM2YzNzAwMThlNDc1NTc1ZjMyNjkyODUzODFjMjE3ZmZmNDhkIiwidGFnIjoiIn0%3D; expires=Tue, 03 Jun 2025 10:26:55 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IldGZWIyUVR4VmE0bUZWVW1BTHBFWVE9PSIsInZhbHVlIjoiSDRaUjZLNURwVWRGb2FkMmpaNSt0SW4yajc2SG1mM05ORFcrd1M1cGZWcVI0bHVnREtuUHpCM2p6Z0hoMDhxeml6" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ikh5U25OQzB0dlVRY29nKzhralpsbUE9PSIsInZhbHVlIjoiWnI3eE05MlY3Y0w5QjNBVDBOdjlOZkVrR2Erd04rU25Vblk1MnpHU1B2cWhRTzFkYmZRTjZ0ak5XbU5VemNoc01jdy80dlgvNGFjK0NVWkRETndUVXppMEpvWmdHRDVab0F0RGhHencvS1UrbXZTa0c0MTRvVW1kOWJUNjJsL1YiLCJtYWMiOiJkNDAyYmFiZWMzMTAyNWMzZDJiZWU5ZDZmMTllMzA5YjUxYmE1NTVkNTI5ODJlODQ1MzQ3Y2U2MDlhYjY1M2I0IiwidGFnIjoiIn0%3D; expires=Tue, 03-Jun-2025 10:26:55 GMT; path=/XSRF-TOKEN=eyJpdiI6Ikh5U25OQzB0dlVRY29nKzhralpsbUE9PSIsInZhbHVlIjoiWnI3eE05MlY3Y0w5QjNBVDBOdjlOZkVrR2Erd04rU25Vblk1MnpHU1B2cWhRTzFkYmZRTjZ0ak5XbU5VemNoc01jdy80d" 1 => "laravel_session=eyJpdiI6IldGZWIyUVR4VmE0bUZWVW1BTHBFWVE9PSIsInZhbHVlIjoiSDRaUjZLNURwVWRGb2FkMmpaNSt0SW4yajc2SG1mM05ORFcrd1M1cGZWcVI0bHVnREtuUHpCM2p6Z0hoMDhxeml6SDI0YnFuSXp0c2FsdEtKd3pUazRLeGxONDZwVm1ZY1QwT0JqelUrNUM2S3RXclp2Vmx1SmpreEdudVNnU08iLCJtYWMiOiI2MmQzMWI4ODFiODQ2YmEwZjE1MzM2YTE2NmYxM2YzNzAwMThlNDc1NTc1ZjMyNjkyODUzODFjMjE3ZmZmNDhkIiwidGFnIjoiIn0%3D; expires=Tue, 03-Jun-2025 10:26:55 GMT; path=/; httponlylaravel_session=eyJpdiI6IldGZWIyUVR4VmE0bUZWVW1BTHBFWVE9PSIsInZhbHVlIjoiSDRaUjZLNURwVWRGb2FkMmpaNSt0SW4yajc2SG1mM05ORFcrd1M1cGZWcVI0bHVnREtuUHpCM2p6Z0hoMDhxeml6" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "7PDeS7dosvxQYjXUYz9rV6k0RtzUl2lgbHFkB8Sy" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/generative-ai:-prompt-engineering-basics" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]