Human-Computer Interaction III: Ethics, Needfinding & Prototyping

Brought by: edX

Overview

This course takes you through lessons 14 through 18 of CS6750: Human-Computer Interaction as taught in the Georgia Tech Online Master of Science in Computer Science program.

In this course, you’ll begin by learning the design life cycle. This is the process by which we investigate user needs, brainstorm potential designs, create prototypes, and evaluate those prototypes. This life cycle provides the structure for the third and fourth courses in this professional certificate.

A key part of the design life cycle, however, is human subjects research. In interface design, this involves asking users for information about what they do and what they need, and then asking them for feedback on the prototypes that you develop. In HCI more broadly, this may involve testing different ideas with users to see what facilitates the best user experience. Whenever we interact with users, though, we need to keep in mind users’ rights to privacy and transparency, and so we begin this course with a discussion of ethics in HCI. This is grounded in the university Institutional Review Board process, but also investigates the role of ethics in HCI in industry as well.

From there, you’ll move on to needfinding and requirements gathering. It is always tempting to jump straight into designing an interface based on our intuitive understanding of a task or need, but successful interface design always starts with an understanding of the users: who are they, what they do, and what they need. This involves both interacting directly with them via surveys and interviews, as well as observing them at a distance or even attempting the tasks ourselves. This concludes with an understanding of the requirements of any interface we create.

From there, you’ll move on to brainstorming design alternatives. Again, it is often tempting to jump straight to the design we have in mind, but successful interface design starts with the results of needfinding and attempts a more grounded investigation of possible solutions. Through this lesson, you’ll learn techniques for managing effective brainstorming sessions and approaches to exploring the ideas that are created including artifacts like user personas, interaction timelines, and storyboards.

Finally, you’ll conclude by learning about prototyping. Implementing an interface is a complicated process, and there is a risk that we may invest lots of time into an interface that is doomed to fail because we do not get user feedback on the idea. The goal of prototyping is to get an idea in front of users as quickly as possible to validate and improve it before we move on to the high pressures of implementation.

By the end of this course, you’ll have an understanding of the design life cycle and its first three major stages: needfinding, brainstorming, and prototyping. You’ll also understand the ethical implications of HCI research and how to safeguard users’ rights.

Taught by

David Joyner

Human-Computer Interaction III: Ethics, Needfinding & Prototyping
Go to course

Human-Computer Interaction III: Ethics, Needfinding & Prototyping

Brought by: edX

  • edX
  • Free
  • English
  • Certificate Available
  • Certain days
  • beginner
  • English
8.1.2PHP Version335msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (214ms)
    • Application (120ms)
    • 1 x Booting (63.87%)
      213.77ms
      1 x Application (35.89%)
      120.15ms
      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 executed4.47ms
      • select * from `courses` where `slug_en` = 'human-computer-interaction-iii:-ethics,-needfinding-&-prototyping' limit 1
        3.16ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. human-computer-interaction-iii:-ethics,-needfinding-&-prototyping
        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-02-10 19:31:15' where `id` = 626
        300μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-02-10 19:31:15
        • 1. 626
        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 (26)
        200μ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)
        170μ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 (22) and `institutions`.`deleted_at` is null
        200μ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 (1) and `providers`.`deleted_at` is null
        190μ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` = 620 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 620
        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
        UazQx3Ynb0W5DWbTWfMTzZMgQXjmC47K1Iw2eldR
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/human-computer-interaction-iii:-ethics,-n...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/human-computer-interaction-iii:-ethics,-needfinding-&-prototyping
        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 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "18.118.51.153" ] "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" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "18.118.51.153" ] "cf-ray" => array:1 [ 0 => "90fe84b45914619c-ORD" ] "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_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "18.118.51.153" "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_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "18.118.51.153" "HTTP_CF_RAY" => "90fe84b45914619c-ORD" "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" => "48166" "REMOTE_ADDR" => "172.69.7.93" "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/human-computer-interaction-iii:-ethics,-needfinding-&-prototyping" "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" => 1739215875.5062 "REQUEST_TIME" => 1739215875 ]
        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 => "Mon, 10 Feb 2025 19:31:15 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjVLS1ZVeUFaaU1SaWkrRFV2NGxDOWc9PSIsInZhbHVlIjoiMFNaTDNCaWZCbXpORGluODNmZzFWZFY5QVpoMGNwN21PV1ZITkRkY2tqcEhHMDBscVFYUGhqc1JVaGNPSndYTDFETjJPd3dXYUw4UkFaeVp6aXo1bm94cUViVzRqOGNuQ0E4RElPL3dFQW16VERBcDQzcEJjUmdUZmIxVUg0UWwiLCJtYWMiOiIwNzQ2NzM3ZjI2NTc3NzkzMmNjMzYxOTMwZmI4Y2ZmOWQ5NzJlMjUwM2Y4MDNhY2I2MzhjYjIzYmZkNmEyNjhmIiwidGFnIjoiIn0%3D; expires=Mon, 10 Feb 2025 21:31:15 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjVLS1ZVeUFaaU1SaWkrRFV2NGxDOWc9PSIsInZhbHVlIjoiMFNaTDNCaWZCbXpORGluODNmZzFWZFY5QVpoMGNwN21PV1ZITkRkY2tqcEhHMDBscVFYUGhqc1JVaGNPSndYTDFETjJPd" 1 => "laravel_session=eyJpdiI6ImNTSDUrejVkbU5lRENMMnlEUmI1Zmc9PSIsInZhbHVlIjoiVFZ1SVJQcFZKRmpiUk5FbzJZaGFEdS9jem9zNGJSK0ZZR1lNS1hzWmJsSDN0L2UxZ2lKOWErcGpZTFh3NFYrczVxWTJOT1VyQlZ5YmFjZ3BmbDRYRHc1amJpUHZzbTloeUZxMGd0SkZtazhleGtYekhLK3Q5MllOb0FUdnNETFkiLCJtYWMiOiIwY2ZjZGJmMWRmYTdlYWQxY2M0YzU4N2I4N2QyNGQ1ZmYwODMzYWE5ZDM4YzcwNTU4NjdlZjMzNDNjMDE2YjRmIiwidGFnIjoiIn0%3D; expires=Mon, 10 Feb 2025 21:31:15 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImNTSDUrejVkbU5lRENMMnlEUmI1Zmc9PSIsInZhbHVlIjoiVFZ1SVJQcFZKRmpiUk5FbzJZaGFEdS9jem9zNGJSK0ZZR1lNS1hzWmJsSDN0L2UxZ2lKOWErcGpZTFh3NFYrczVx" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjVLS1ZVeUFaaU1SaWkrRFV2NGxDOWc9PSIsInZhbHVlIjoiMFNaTDNCaWZCbXpORGluODNmZzFWZFY5QVpoMGNwN21PV1ZITkRkY2tqcEhHMDBscVFYUGhqc1JVaGNPSndYTDFETjJPd3dXYUw4UkFaeVp6aXo1bm94cUViVzRqOGNuQ0E4RElPL3dFQW16VERBcDQzcEJjUmdUZmIxVUg0UWwiLCJtYWMiOiIwNzQ2NzM3ZjI2NTc3NzkzMmNjMzYxOTMwZmI4Y2ZmOWQ5NzJlMjUwM2Y4MDNhY2I2MzhjYjIzYmZkNmEyNjhmIiwidGFnIjoiIn0%3D; expires=Mon, 10-Feb-2025 21:31:15 GMT; path=/XSRF-TOKEN=eyJpdiI6IjVLS1ZVeUFaaU1SaWkrRFV2NGxDOWc9PSIsInZhbHVlIjoiMFNaTDNCaWZCbXpORGluODNmZzFWZFY5QVpoMGNwN21PV1ZITkRkY2tqcEhHMDBscVFYUGhqc1JVaGNPSndYTDFETjJPd" 1 => "laravel_session=eyJpdiI6ImNTSDUrejVkbU5lRENMMnlEUmI1Zmc9PSIsInZhbHVlIjoiVFZ1SVJQcFZKRmpiUk5FbzJZaGFEdS9jem9zNGJSK0ZZR1lNS1hzWmJsSDN0L2UxZ2lKOWErcGpZTFh3NFYrczVxWTJOT1VyQlZ5YmFjZ3BmbDRYRHc1amJpUHZzbTloeUZxMGd0SkZtazhleGtYekhLK3Q5MllOb0FUdnNETFkiLCJtYWMiOiIwY2ZjZGJmMWRmYTdlYWQxY2M0YzU4N2I4N2QyNGQ1ZmYwODMzYWE5ZDM4YzcwNTU4NjdlZjMzNDNjMDE2YjRmIiwidGFnIjoiIn0%3D; expires=Mon, 10-Feb-2025 21:31:15 GMT; path=/; httponlylaravel_session=eyJpdiI6ImNTSDUrejVkbU5lRENMMnlEUmI1Zmc9PSIsInZhbHVlIjoiVFZ1SVJQcFZKRmpiUk5FbzJZaGFEdS9jem9zNGJSK0ZZR1lNS1hzWmJsSDN0L2UxZ2lKOWErcGpZTFh3NFYrczVx" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "UazQx3Ynb0W5DWbTWfMTzZMgQXjmC47K1Iw2eldR" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/human-computer-interaction-iii:-ethics,-needfinding-&-prototyping" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]