이 글에서 다루는 내용
- 왜
Display다음으로AirClassQuiz를 만들게 되었는지 - 실제 수업에서 어떤 퀴즈 흐름을 운영하고 있었는지
- 그 과정에서 무엇이 가장 불편했는지
AirClassQuiz에 어떤 기능을 넣고 싶었는지- 그리고 지금은 실제 수업에서 어떻게 쓰이고 있는지
Display 쪽 첫 시도가 실제 수업 도구로 이어지지 못한 뒤에도, AirClass 자체가 멈춘 것은 아니었다. 오히려 다음 학기가 시작되면서 더 직접적이고 더 자주 반복되는 문제 하나가 바로 눈앞에 들어왔다. 그다음은 Display가 아니라 Quiz였다.
수업에서는 이미 퀴즈가 중요한 루틴이었다
학기가 시작되고 나서는 학생들에게 퀴즈를 꾸준히 배부하고 있었다. 단순히 한 번 풀고 끝나는 활동이 아니라, 배부 → 풀이 → 서로 바꿔 채점 → 틀린 문제 다시 풀이 → 재제출 같은 흐름으로 운영하고 있었고, 이런 퀴즈를 주 2회 정도 진행하고 있었다.
이 방식 자체는 교육적으로 의미가 있었다. 학생은 자기 답을 적어 보고, 다른 학생의 답도 보게 되고, 틀린 문제는 다시 풀어 보게 된다. 한 번 쓰고 끝나는 활동보다 훨씬 학습 흔적이 많이 남는다.
문제는 이 흐름이 수업에서 반복될수록, 교사 쪽에서는 점점 더 많은 수작업이 쌓인다는 점이었다.
불편은 아주 구체적인 질문들로 나타났다
이 프로젝트의 출발점은 언제나 거창한 기획서가 아니라, 수업 중 떠오르는 아주 구체적인 질문이었다. AirClassQuiz도 마찬가지였다. 실제로는 대략 이런 질문들이 쌓여 갔다.
1. 단답형은 바로 채점해 주면 안 되나?
답이 정해져 있는 단답형 문항은 학생이 제출하는 순간 바로 채점해 줄 수 있지 않을까 하는 생각이 들었다. 모든 답안을 사람이 나중에 다시 보는 구조는 시간이 오래 걸리고, 학생 입장에서도 피드백이 늦다.
특히 단답형처럼 정답 여부가 비교적 분명한 문항은 즉시 확인이 가능해야 한다고 느꼈다.
2. 과제를 잊고 안 올리는 학생은 결과를 바로 올리게 하면 덜 놓치지 않을까?
학생들은 생각보다 과제나 퀴즈 업로드를 자주 놓친다. 풀지 않은 경우도 있지만, 풀어 놓고도 제출을 빼먹는 경우가 있다. 그럴 때 교사는 다시 확인하고 걷고 정리해야 한다.
그래서 아예 그 자리에서 결과를 바로 업로드하는 구조가 있으면 놓치는 일이 훨씬 줄겠다고 생각했다.
3. 틀린 문항 풀이는 문항별로 다시 찍어 올리게 하면 더 명확하지 않을까?
퀴즈를 다시 풀게 할 때도 막연히 "틀린 것 다시 해 와"라고 하면 결과가 흐려진다. 어떤 문항을 왜 틀렸고, 그 문항 풀이를 다시 어떻게 했는지가 문항 단위로 남으면 더 좋겠다고 느꼈다.
그래서 각 문항별로 틀린 문제 풀이를 다시 찍어 올리거나 제출하게 하는 방식이 필요하다고 봤다.
4. 교사 입장에서도 어떤 문제에 어떤 답을 했는지 분명하게 수집하고 싶었다
실제 수업에서는 전체 점수만 중요한 것이 아니었다. 어떤 학생이 어느 문항에 어떤 답을 했는지가 더 중요할 때가 많다. 그래야 오개념도 보이고, 다음 수업에서 무엇을 다시 다뤄야 할지도 보인다.
그런데 기존 방식은 이 정보가 명확하게 모이지 않거나, 모여도 다시 읽기 불편한 경우가 많았다. 그래서 교사 화면에서 문항별 응답을 더 분명하게 수집하고 읽을 수 있어야 한다고 생각했다.
5. 퀴즈 생성도 직접 다 치는 대신 파이프라인으로 만들고 싶었다
이 부분도 꽤 컸다. 문제를 만들고, 형식을 맞추고, 검토하고, 배부하는 과정을 매번 손으로 반복하는 것은 오래 가기 어렵다. 그래서 처음부터 퀴즈 생성 역시 아래 같은 흐름으로 가고 싶었다.
- 정해진 형식으로 초안 생성
AI를 활용한 문제 생성- 교사 검수
- 최종 배포
즉 AirClassQuiz는 단순 응시 시스템이 아니라, 생성 → 검수 → 배포 → 응답 → 재제출까지 이어지는 파이프라인으로 보고 있었다.
그래서 AirClassQuiz는 아주 실용적인 방향으로 출발했다
AirClassQuiz는 처음부터 교육 플랫폼 전체를 대신하려는 시스템이 아니었다. 오히려 내 수업에서 반복적으로 쓰이는 퀴즈 흐름을 먼저 붙잡고, 그 안의 불편을 줄이는 쪽에 더 가까웠다.
핵심은 화려한 기능보다 다음 같은 것들이었다.
- 퀴즈를 실시간으로 배부할 수 있을 것
- 학생 답을 바로 확인할 수 있을 것
- 문항별 응답이 분명하게 남을 것
- 다시 풀어 제출하는 흐름을 자연스럽게 붙일 수 있을 것
- 교사 입장에서 수업 중 확인 가능한 정보가 늘어날 것
이렇게 보면 AirClassQuiz는 Display와는 조금 다른 종류의 프로젝트였다. Display가 화면 전달 문제에서 출발했다면, Quiz는 훨씬 더 직접적으로 수업 운영과 평가 흐름의 마찰을 줄이는 문제에서 출발했다.
실제 구현도 수업 흐름에 맞춰 나누었다
이번에는 아이디어만 있었던 것이 아니라, 실제 구조도 꽤 또렷하게 잡았다. AirClassQuiz는 SvelteKit 기반으로 만들었고, 저장소 안에서도 수업 흐름이 거의 그대로 드러난다.
src/routes/teacher: 교사가 퀴즈를 보고 배부하고 결과를 확인하는 메인 워크스페이스src/routes/student: 학생이 실제로 응시하는 화면src/routes/api/quizzes,assignments,results,students,realtime: 배부·응답·학생 목록·실시간 상태를 다루는 APIsrc/lib/AirClassCore/quizSchema.ts: 문제 구조와 정답 형식src/lib/AirClassCore/quizManagement.ts: 배부 대상, 제출 상태, 재제출, 모니터링 요약src/lib/AirClassCore/quizRealtime.ts:/ws/quiz기반 실시간 연결src/lib/server/sharepoint.ts: 학생, 퀴즈, 결과를SharePoint쪽에 저장하고 읽는 계층
즉 교사 화면과 학생 화면만 따로 만든 것이 아니라, 문제 정의 → 배부 → 응답 → 결과 집계 → 재풀이 → 기록 저장이 각 경로와 모듈로 분리되어 있었다. 그래서 이 프로젝트는 단순한 퀴즈 폼이 아니라, 실제 수업 운영 흐름을 코드 구조로 옮긴 쪽에 더 가까웠다.
이 구조를 실제 경로와 흐름 기준으로 단순화하면 아래처럼 볼 수 있다.
이 프로젝트는 지난주에 완성했고, 지금은 제법 잘 쓰이고 있다
이 프로젝트는 지난주에 일단 완성했고, 지금은 실제 수업에서 제법 잘 활용하고 있다. 이 점이 AirClassDisplay와 가장 다른 부분이기도 하다. Display는 가능성을 확인했지만 수업 현장에 안착하지 못했고, AirClassQuiz는 적어도 지금 기준에서는 실제로 수업 안에 들어와 있다.
실제로 지금 가능한 것은 꽤 분명하다.
- 실시간으로 퀴즈를 배부할 수 있고
- 학생 답안을 바로 확인할 수 있고
- 어떤 학생이 어떤 답을 냈는지도 비교적 분명하게 모이고
- 수업 중 필요한 확인이 훨씬 빨라졌다
즉 이 프로젝트는 단순한 프로토타입을 넘어서, 이미 내 수업 루틴 안에 들어온 도구가 되었다.
예상보다 유용했던 것은 학생 행동 특성 수집이었다
실제로 써 보면서 의외로 유용했던 부분도 있다. 단순히 정답과 오답만 보는 것이 아니라, 학생들의 관심 특성이나 행동 특성도 함께 볼 수 있다는 점이었다.
예를 들면 이런 정보들이다.
- 화면 이탈
Ctrl + C,Ctrl + V같은 행동- 응답 시점과 제출 흐름
물론 이런 정보는 감시 자체가 목적이 아니다. 중요한 것은 학생이 수업과 퀴즈에 어떻게 반응하고 있는지 더 실제에 가깝게 파악할 수 있다는 점이다. 교사 입장에서는 결과 점수만 보는 것보다, 어떤 방식으로 참여하고 있는지를 함께 보는 것이 훨씬 도움이 될 때가 많았다.
AirClassQuiz는 처음으로 "잘 쓰이고 있다"고 말할 수 있는 AirClass가 되었다
지금 돌아보면 AirClassQuiz는 AirClass 시리즈 안에서 꽤 중요한 전환점이다. 왜냐하면 이 단계부터는 단지 가능성을 실험하는 수준을 넘어, "실제로 잘 쓰이고 있다"고 말할 수 있는 무언가가 생겼기 때문이다.
이 말은 완성형 제품이 되었다는 뜻은 아니다. 여전히 더 손봐야 할 부분도 있고, 파이프라인도 더 다듬어야 한다. 하지만 적어도 수업 안에서 반복 사용되고 있고, 교사 입장에서 분명한 이점을 주고 있다는 점은 중요하다.
그 점에서 AirClassQuiz는 AirClass를 추상적인 구상에서 실제 도구로 한 단계 더 끌고 온 프로젝트였다.
마치며
AirClassQuiz는 학생들에게 퀴즈를 더 편하게 풀게 하는 도구이기만 한 것이 아니었다. 실제로는 교사가 퀴즈를 만들고, 배부하고, 답을 확인하고, 다시 풀게 하고, 학습 흔적을 수집하는 흐름 전체를 조금 더 분명하게 만들려는 시도였다.
단답형 자동 채점, 즉시 업로드, 문항별 재제출, 문항별 응답 수집, AI 생성-검수-배포 파이프라인 같은 생각들은 모두 이 수업 흐름 안에서 나온 요구였다.
그리고 이 프로젝트는 지금 실제 수업에서 잘 활용되고 있다. 그래서 다음 글에서는 AirClassQuiz를 실제로 어떤 구조와 화면으로 구현했는지, 그리고 어떤 부분이 특히 잘 먹혔는지 조금 더 구체적으로 적어 보려 한다.
💬 댓글
이 글에 대한 의견을 남겨주세요