초등 3학년 랜덤 나눗셈 학습기 웹앱 COSTAR 프롬프트
1. C - Context (배경)
단원 연계성: 초등 3학년 1학기 수학 4단원 '나눗셈'은 구구단(곱셈구구)의 역연산 개념을 처음 접하는 중요한 시기입니다.
문제점: 고정된 문항 세트만 풀 경우 학생들은 문제 패턴을 외우게 되어 진정한 의미의 연산 훈련이 이루어지지 않습니다.
솔루션: 2~9단 곱셈구구의 범위를 조합하여 무작위로 수식을 무제한 생성하는 웹 도구를 통해, 학생들이 매일 다른 문제로 완전 학습을 달성할 수 있도록 합니다.
2. O - Objective (목표)
중복 없는 무작위 10문항 생성: 매 회차 탐험을 시작할 때마다 중복되지 않는
$A \div B = C$ (단,$B, C \in [2, 9]$ 이며$A = B \times C$ ) 수식을 생성합니다.한 화면에 한 문제씩 집중 배치: 학습 피로도를 최소화하고 오답 및 입력 집중도를 향상합니다.
실시간 상단 내비게이션 동기화: 1~10번 이동 노드를 제공하여 내가 푼 문항과 안 푼 문항, 채점 후 정오답 상태를 실시간 시각화합니다.
안정적인 상태 초기화: '처음으로' 또는 '다시 풀기'를 작동 시 변수 및 입력창, 진척도를 완벽히 클리어하고 인트로 화면으로 복귀해야 합니다.
교사 수준의 고품질 해설 제공: 수식의 몫에 대응하는 나누기 이모지(●) 시각 자료와 힌트, 상세 설명을 동적으로 빌드합니다.
3. S - Style (디자인 및 기술 스택)
UI/UX 디자인 가이드:
컬러 스키마: 피로도가 낮고 산뜻한 민트/테알(Teal, Emerald)을 메인으로 사용하고 포인터 요소에 옐로/오렌지 사용.
컴포넌트 구성: 둥근 모서리(border-radius: 24px 이상)와 부드러운 그림자(shadow-md)를 적극 사용해 부드럽고 안전한 인상 부여.
반응형 레이아웃: 모바일 테블릿 화면 비율 및 가로폭에 최적화하여 가로 스크롤을 방지하고 터치 타겟(인풋 크기 16x16)을 넉넉하게 보장.
기술 사양:
Single File Mandate: HTML, CSS(Tailwind CSS CDN), JS를 하나의 파일(
index.html)에 배치하여 이식성 극대화.외부 종속성 제거: 복잡한 LaTeX 렌더러 대신 가독성 높은 직관적인 유니코드 문자(
÷,×)를 직접 사용하여 빠른 로딩 보장.
4. T - Tone (어조)
칭찬과 격려 중심: 채점 결과에 따라 맞춤형 칭찬 문구와 스탬프(💮) 이펙트를 부여하여 성취 동기를 유발합니다.
100점: "퍼펙트! 정말 최고예요! 나눗셈의 완벽한 박사이시군요!"
80점 이상: "참 잘했어요! 아쉽게 놓친 부분만 다시 읽어 보아요."
어린이 친화적 용어 사용: '퀴즈', '채점'과 같은 딱딱한 단어보다 '탐험', '체크 완료'와 같은 친근한 언어를 배정합니다.
5. A - Audience (대상)
주요 대상: 나눗셈 개념과 계산력 향상이 필요한 초등학교 3학년 학생.
보조 대상: 초등학교 교사(수업 중 형성평가 또는 디바이스 활용 개별화 학습용) 및 자녀의 기초 연산을 봐주는 학부모.
6. R - Response (구조적 설계 명세)
웹앱의 핵심 로직 프로세스는 다음과 같이 도식화 및 명세화됩니다.
[ 인트로 화면 (홈) ]
│ (startQuiz() 실행 시 실시간 10문제 무작위 빌드)
▼
[ 학습 진행 화면 (SPA) ] ──────► 상단 네비게이션 도트 맵 실시간 갱신
│ - 활성 문제: 테알 하이라이트
├─ showQuestion(index) - 정답 입력 완료: 연한 하늘색
├─ prevQuestion() - 미입력 문항: 흰색
└─ nextQuestion()
│ (10번 문항 도달 시 '채점하고 결과 보기' 버튼 활성화)
▼
[ 채점 및 평가 엔진 실행 ] ────► 정오답 시각 피드백 (O/X 도트맵 반영)
│ - 정답 문항: 초록색 도트
│ - 오답 문항: 빨간색 도트
▼
[ 결과 보고서 화면 노출 ] ────► 점수별 스탬프(💮) 및 맞춤형 피드백 제공
- '틀린 문제 해설 보기' 클릭 시
1번 문항으로 순간 이동하여 개별 해설 복습 유도
핵심 데이터 및 메서드 명세
generateRandomQuestions(): 나누는 수, 몫을 난수 범위[2, 9]에서 조합해 고유 수식을 만들고, 시각 보조 이모지 문자열 및 해설 템플릿을 생성합니다.resetApp(): 메모리상 변수 및 브라우저 DOM 컴포넌트의 기입 상태를 완벽히 청소하고 인트로 화면으로 화면 가시성(hidden클래스)을 스위칭합니다.window객체 전역 바인딩:window.resetApp = resetApp;형태로 최상위 스코프에 연결해 브라우저 샌드박스 또는 Iframe 구동 환경에서도 완벽한 핸들러 상호작용을 확보합니다.