UI/UX 행동 유도성, 데이터 시각화, 그리고 최종 프로젝트 기획
인지 부하 이론과 행동 유도성(Affordance) 개념을 이해하고, 직관적인 과학교육 콘텐츠의 UI/UX 설계 원칙을 학습합니다.
이미지 파일명: images/week4_goals.png
Prompt: A modern illustration showing an educator and a student analyzing a web-based physics simulation interface, focusing on UI/UX elements and data charts. Flat vector design.
"화면에 보이는 디자인과 배치"
버튼의 색상, 폰트의 크기, 슬라이더의 위치 등 사용자가 시스템과 소통하기 위해 마주하는 시각적인 화면 그 자체를 의미합니다.
"사용하면서 느끼는 종합적 경험"
"조작이 직관적이다", "과학 원리가 한눈에 들어온다"와 같이 UI를 통해 학습자가 겪는 인지적, 감정적 만족도를 의미합니다.
“어포던스(Affordance)란 사물과 유기체 사이의 관계를 나타내며, 사물이 어떻게 사용될 수 있는지를 직관적으로 결정하는 속성이다.” 1)
- Don Norman -
우리가 의자(Chair)를 보면 누가 가르쳐주지 않아도 '앉는 것'임을 아는 것처럼,
디지털 환경에서도 설명서 없이 직관적으로 조작 방법을 깨닫게 하는 디자인이 필요합니다.
잡고 당기기 좋게 생긴 손잡이를 달아 놓고, 그 위에 '미시오'라고 써붙인 문을 본 적이 있나요?
사람들은 글씨를 읽기 전에 시각적 형태(손잡이)가 주는 행동 유도성에 따라 무의식적으로 문을 당기게 됩니다.
웹 시뮬레이션을 제작할 때, 어떤 버튼이 더 '누르고 싶게' 생겼나요?
단순히 "버튼 만들어줘"라고 요구하기보다,
"그림자와 둥근 모서리가 있는 입체적인 버튼으로 만들어줘"라고 프롬프트를 작성해야 합니다.
버튼을 눌렀거나, 마우스를 올렸을 때 아무런 변화가 없다면 사용자는 자신의 조작이 제대로 들어갔는지 확신할 수 없습니다.
마우스를 올려보고 클릭해보세요!
이런 미세한 차이가 '허접한 웹'과 '완성도 높은 시뮬레이션'을 나눕니다.
speed 한정된 정신적 자원: 총 인지 용량 (작업 기억 한계)
이미지 파일명: images/cognitive_load_diagram.png
Prompt: A diagram explaining Cognitive Load Theory with a brain and puzzle pieces. Top green part is Germane Load, middle orange part is Extraneous Load, bottom blue part is Intrinsic Load.
새로운 정보를 깊이 이해하고 스키마(지식 구조)를 형성하는 데 쓰이는 정신적 노력
정보 전달 방식이나 설계의 비효율성으로 인한 불필요한 부담
학습 내용 자체의 고유한 난이도 및 복잡성
교육심리학자 Mayer의 원리를 우리의 UI/UX 설계에 적용해봅시다. 3)
설명 텍스트와 관련된 이미지는 가깝게 배치해야 합니다. 슬라이더가 왼쪽에 있는데, 결과 숫자가 저 멀리 오른쪽에 있으면 눈동자가 이동하느라 인지 부하가 커집니다.
학습과 관계없는 화려한 배경이나 이펙트는 과감히 제거해야 합니다. 화려함이 오히려 집중력을 분산시킵니다 (외재적 인지 부하 상승).
딱딱한 시스템 경고음보다는 "조금 더 무거운 추를 달아볼까요?" 같은 친근한 대화체(Scaffolding) 텍스트가 학습 효과를 높입니다.
이미지 파일명: images/bad_ui_example.png
Prompt: A bad UI design of an educational web app. Buttons look like plain text, colors are clashing, layout is confusing. No affordance.
우리가 Vibe 코딩으로 만든 1차 결과물은 로직은 완벽해도 초등학생의 눈높이에는 엉망일 수 있습니다.
단순히 "예쁘게 해줘"가 아니라, 사용자 행동(UX) 중심의 프롬프트를 작성합니다.
1. 조작 가능한 모든 버튼과 슬라이더에 마우스를 올리면 커서가 포인터로 변하고, 약간 커지는 입체적인 hover 효과(Affordance)를 줘.
2. 학생의 시선 이동을 최소화하기 위해 조작 패널을 하단 중앙에 한곳으로 모아줘 (공간적 접근성 원리).
3. 시뮬레이션 상태가 직관적으로 보이게, 수평이 맞았을 때는 배경이 은은한 초록색으로 변하고 '축하 폭죽' 애니메이션이 나오게 해.
가상 시뮬레이션의 핵심 가치는 현실 실험에서 통제하기 어려운 변수를 학습자가 즉각적이고 극단적으로 조작해 볼 수 있다는 점입니다. 4)
학습자가 슬라이더나 버튼으로 직접 변화시키는 값
(예: 물체의 질량, 힘의 크기, 줄의 길이)
조작 변수의 변화에 따라 계산되어 나타나는 결과값
(예: 주기, 가속도, 이동 거리)
실험을 위해 고정되거나, 심화 학습 시 환경 전체를 바꾸는 변수
(예: 마찰력, 중력 가속도 g)
자연 현상을 모방하려면, 과학 공식을 AI에게 명확히 전달하여 자바스크립트 엔진으로 만들어야 합니다.
프롬프트에 수식을 넣을 때는 TeX(LaTeX) 형식으로 작성하세요.
예: T = 2\pi \sqrt{\frac{L}{g}},
F = G \frac{m_1 m_2}{r^2}
TeX 문법이 어렵다면 비주얼 편집기에서 수식을 만든 뒤 복사해 프롬프트에 붙여넣으세요: CodeCogs Equation Editor · LaTeX Live Editor
실제 TeX 코드
T = 2\pi \sqrt{\frac{L}{g}}
Prompt:
"진자의 길이(L)와 중력 가속도(g)를 조작 변수로 받고, 위 공식을 이용하여 주기(T)를 실시간 계산하는 함수를 만들어."
실제 TeX 코드
F = G \frac{m_1 m_2}{r^2}
Prompt:
"두 물체의 질량(m1, m2)과 거리(r)를 슬라이더로 조작하면, 만유인력(F)이 계산되어 두 물체가 끌어당기는 애니메이션을 구현해."
초등학생들에게 "달에 가면 몸무게가 가벼워진다"고 말로만 설명하는 대신, 시뮬레이션의 중력 값을 1.6으로 내렸을 때 진자의 움직임이나 수평 잡기가 어떻게 변하는지 직접 보게 합니다.
User: "기존 화면 우측 상단에 '고급 설정 ⚙️' 토글 버튼을 만들고, 누르면 중력 가속도(g)를 조절할 수 있는 슬라이더 패널이 뜨게 해 줘.
슬라이더를 달(1.6)이나 지구(9.8)로 조작하면, 시뮬레이션 내부의 물리 계산 수식에 즉각 반영되어 물체가 떨어지는 속도가 실시간으로 변해야 해."
변수를 조작할 때 나타나는 결과를 단순히 텍스트(예: 속도 10m/s)로만 보여주면 학생들은 데이터의 추세(Trend)를 파악하기 어렵습니다.
시간의 흐름이나 변수에 따른 변화를 실시간 그래프(Graph)로 시각화하면, 비례/반비례 관계와 과학적 모델링을 직관적으로 이해할 수 있습니다.
이미지 파일명: images/data_viz_science.png
Prompt: A clear UI showing a physics simulation on the left and a dynamic, real-time line chart generating data on the right side.
사용 목적: 시간에 따른 데이터의 연속적인 변화 추세를 볼 때.
과학 적용: 진자의 속도 변화, 물을 끓일 때 시간에 따른 온도 변화 곡선.
사용 목적: 서로 다른 그룹 간의 크기(양)를 명확하게 비교할 때.
과학 적용: 마찰력(나무, 얼음, 유리)에 따른 물체의 이동 거리 비교.
사용 목적: 두 변수 사이의 상관관계(비례, 반비례)를 찾을 때.
과학 적용: 질량과 가속도의 관계 분석, 용수철이 늘어난 길이와 무게의 관계(훅의 법칙).
AI가 예쁘고 동적인 그래프 코드를 짜도록 만들기 위해 구체적인 라이브러리를 지정해 줍니다.
화면 우측에 시뮬레이션 결과를 보여주는 실시간 그래프를 추가해 줘.
- 라이브러리: CDN을 통해 Chart.js를 불러와서 사용해.
- X축: 시간(초) / Y축: 물체의 속도(m/s)
- 작동 방식: 시뮬레이션이 시작되면 매 0.5초마다 현재 속도 데이터를 그래프에 새로운 포인트로 추가하고 부드러운 꺾은선 그래프(Line Chart)를 그려줘.
- 실험을 다시 시작하는 초기화 버튼을 누르면, 그래프의 기존 데이터도 모두 지워지고 0부터 시작하도록 연동해.
직접 프롬프트에 "Chart.js로 OOO 차트를 그려줘"라고 요청해 보세요!
Chart.js 외에도 AI에게 D3.js 또는 Plotly 기반 시각화를 요청할 수 있습니다.
장점: 축, 애니메이션, 상호작용을 세밀하게 커스터마이징 가능
장점: 확대/회전/툴팁 등 내장 인터랙션이 강력함
기말 프로젝트를 위해, 지금까지 배운 Vibe 코딩과 Gamification, UX/UI 지식을 바탕으로 여러분이 학교 현장에서 실제 수업에 활용할 수 있는 독창적인 탐구 시뮬레이션을 기획합니다.
기획이 탄탄해야
AI 프롬프트가 명확해집니다.
기획안을 한글(hwp)이나 워드가 아닌, HTML 단일 파일 웹페이지 형식으로 작성합니다.
배운 기술을 기획 단계부터 직접 적용해 보는 과정입니다.
머릿속 아이디어를 AI에게 설명하고, 예쁜 웹사이트 문서 형태로 만들어 달라고 요구합니다.
계획서(index.html) 폴더를 Pages에 드래그
작성한 HTML 계획서를 내 컴퓨터에만 두지 않고 웹상에 배포하여 URL을 생성합니다.
배포한 자신의 계획서 URL을 과제 제출함 (https://docs.shga.kr/cnue/2026/energy/submission/)에 제출하세요!
기획안이 확정되었으니, 이제 뼈대에 데이터를 붙일 시간입니다.