진행 보고 · 2026-09-24

고교에서 실제로 열리는 과목을
세어 방학특강 순서를 정한다

나이스(NEIS) 고등학교 시간표 공개 API로 전국 고교의 개설 과목을 학년·학기별로 집계하는 별도 과제입니다. 지금까지 자료가 실제로 존재하는지 확인했고, 화면 구성안을 만들었습니다. 인증키 발급 후 시범 수집을 시작합니다.

푸는 문제
방학특강 과목 순서
무엇을 먼저 만들지 근거로 정한다
자료
나이스 시간표 API
무료 · 공개 · 개인정보 없음
지금 단계
자료 확인 완료
인증키 발급 대기
01

왜 필요한가

방학특강은 다음 학기에 배울 과목을 미리 하는 것입니다. 그래서 판단에 필요한 답은 하나입니다 — “이 과목을 전국 고2의 몇 %가, 몇 학기에 배우는가.” 지금은 경험과 추측으로 정합니다.

방학대비 대상필요한 답
겨울방학 1~2월다음 학년도 1학기고2 1학기에 많이 열리는 과목
여름방학 7~8월같은 학년도 2학기고2 2학기에 많이 열리는 과목

덧붙여 2022 개정 교육과정의 진로선택·융합선택 과목이 실제로 얼마나 자리를 잡았는지도 같은 자료로 확인됩니다. 2028 수능 대비 강좌 우선순위와 직접 연결됩니다.

02

확인된 사실

API를 직접 호출해 확인 · 2026-09-24

인증키 없이도 한 번에 5건까지는 응답이 와서, 자료의 존재와 내용을 먼저 확인했습니다.

확인 항목결과비고
서울 고등학교 목록319개교 · 일반계/공립·사립 구분 제공가능
가락고 · 2026학년도 1학기 · 고2 · 5월 3주288건 존재가능
같은 학교 2025학년도 1학기 · 고2297건 존재소급 가능
인증키 없이 호출전체 288건 중 5건만 응답키 필요
2023학년도 8월 ~ 2024학년도데이터 분리 작업으로 API 조회 불가제외

실제로 받은 과목명

조회응답에 나온 과목
2026학년도 고2문학 · 영어Ⅰ · 주제 탐구 독서A1 · 주제 탐구 독서C1 · 주제 탐구 독서D1
2026학년도 고1공통수학1 · 공통영어1 · 통합사회1 · 통합과학1 · 체육1
2025학년도 고2기하A · 기하B · 문학 · 수학Ⅰ · 영어Ⅰ

‘주제 탐구 독서’는 2022 개정 국어 진로선택 과목입니다. 진로선택·융합선택 과목이 시간표에 그대로 잡힙니다. 2026학년도가 2022 개정을 적용받는 첫 고2라서, 진로·융합선택 현황은 2026학년도 자료로 봐야 합니다.

과목명 정규화가 필요합니다. 받은 값이 주제 탐구 독서A1 / C1 / D1, 기하A / 기하B였습니다. 뒤의 A1·B·C1은 분반 표시입니다. 떼지 않으면 한 과목이 서너 개로 세어집니다. 규칙 자체는 단순해 보이며(과목명 뒤 영문+숫자 제거), 예외가 얼마나 되는지는 시범 수집에서 확인합니다.
03

화면 구성안

숫자는 형식 예시 · 과목명과 유형은 실제 체계

영역·유형·학년·학기를 골라 보는 방식입니다. 예를 들어 국어 + 일반선택 + 고2를 고르면 그 조건에서 많이 열리는 순서로 정렬됩니다. 아래 화면은 실제로 눌러 볼 수 있습니다.

기준 학기2026학년도 1·2학기조사 주 5/18~22 · 10/19~23
대상 학교전국 일반고 412개교특성화고·특목고 제외 · 등록률 88%
수치개설 학교 비율 %412개교 중 그 과목이 있는 학교 수
자료나이스 시간표 API2026-09-24 확인 · 과목 63종
표의 숫자는 형식 예시입니다 — 실제 값은 시범 수집 후 채웁니다. 증감은 2025학년도 같은 학기 대비 %p.
영역
유형
학년
학기

갈림은 1학기와 2학기 개설 비율 차이가 6%p 이내인 과목입니다. 학교마다 배우는 시기가 나뉘므로 두 방학 다 대비가 필요하다는 표시입니다.

04

API 연결 준비사항

① 인증키 — 개발계정으로 신청

구분승인일일 호출판단
개발계정즉시10,000건이걸로 충분
운영계정활용사례 등록 + 심사협의지금 불필요

필요한 호출량은 시범 수집 약 20건, 본 수집 400~800건입니다. 전수(2,300여 개교)로 넓혀도 개발계정 한도 안입니다. 발급은 open.neis.go.kr → 회원가입 → 활용가이드 > 인증키 신청.

② 확인된 호출 형식

GET https://open.neis.go.kr/hub/hisTimetable
  KEY=발급키&Type=json&pIndex=1&pSize=1000
  ATPT_OFCDC_SC_CODE=B10     시도교육청 (B10=서울)
  SD_SCHUL_CODE=7010057      학교 코드
  AY=2026&SEM=1               학년도·학기
  GRADE=2                    학년
  TI_FROM_YMD=20260518&TI_TO_YMD=20260522   조회 주

응답 항목 · 시도교육청 / 학교 / 학년도 / 학기 / 일자 / 계열 / 학과 /
         학년 / 강의실 / 학급 / 교시 / 수업내용(과목명)

학교 목록은 https://open.neis.go.kr/hub/schoolInfo 로 받습니다. 여기에 일반계 여부를 나타내는 항목(HS_GNRL_BUSNS_SC_NM)이 있어 특성화고·특목고를 걸러낼 수 있습니다.

③ 수집 설계

항목안
표본일반고만 시도별 20~30개교 = 약 400개교 (특성화고·특목고 제외)
조회 시점학기당 1주 — 1학기 5월 셋째 주, 2학기 10월 셋째 주 (시험·행사 없는 평범한 주)
학년고1~고3 전부 (고2가 목적이나, 같은 과목이 고3에 몰리는지 봐야 판단이 선다)
소급2025학년도 1·2학기를 지금 바로 받을 수 있어 세 시점 비교가 가능
보관원자료 전부가 아니라 학교 × 과목으로 줄여 저장
키 보관채팅·문서에 남기지 않고 로컬 파일 또는 환경 변수로만
05

작업 이력

이 과제가 나온 경위
06

다음 계획

1
인증키 발급
개발계정으로 신청 · 담당자
10분
2
시범 수집 — 서울 20개교, 2026학년도 1학기 1주
과목명 원문이 몇 종인지 세어 정규화 난이도를 확인한다. 여기서 멈추고 판단한다 — 수백 종으로 흩어지면 상위 과목만 손으로 묶는 쪽으로 방향을 바꾼다.
반나절
3
과목명 대조표 작성
2022 개정 과목명을 기준으로 정리. 영역별 과목 대조표와 함께 쓴다.
1~2일
4
본 수집 및 현황판 생성
약 400개교 × 세 시점 → 엑셀 + 위 화면
반나절
5
학기마다 갱신
5월·10월 셋째 주에 다시 돌려 변화를 본다
학기당 반나절
07

알고 시작할 것

자료원 · 나이스 교육정보 개방 포털 hisTimetable / schoolInfo · 무료 공개 API
이 문서의 현황판 숫자는 구성 확인을 위한 형식 예시입니다. 실제 값은 시범 수집 이후 채웁니다.