AI로 러닝(Learn) 내일을 향해 러닝(Running)

원당컴퓨터학원에서 배우는 AI, 세상을 향해 달리다

학생부종합전형

친구랑 같이 만든 파이썬 프로젝트, 생기부에 이렇게 쓰일 수 있습니다

원당컴1 2026. 4. 3. 11:13

친구랑 같이 만든 파이썬 프로젝트, 생기부에 이렇게 쓰일 수 있습니다

"컴공 희망하는 저랑 의학과 희망하는 친구가 같이 파이썬으로 바이러스 확산 시뮬레이션 영상을 만들었어요."

학종 준비 오픈채팅방에 올라온 실제 고등학생 이야기입니다. 읽는 순간 딱 느낌이 왔어요. 이거, 정말 잘 만들어진 프로젝트 소재라고요.

코딩을 배운다는 게 단순히 파이썬 문법 익히는 걸 넘어서, 이렇게 실제 사회 현상을 탐구하는 도구가 될 수 있다는 걸 잘 보여주는 사례거든요. 오늘은 이 소재를 교과 세특으로 어떻게 연결할 수 있는지 풀어볼게요.


교과서에도 나오는 이야기입니다

2022 개정 교육과정 고1 통합과학에는 감염병 확산 원리가 포함되어 있습니다. 지수적 증가, 감염 재생산지수 R₀라는 개념이 교과서에 등장하는데, 쉽게 말하면 "감염자 한 명이 평균 몇 명에게 바이러스를 옮기는가"를 수치화한 겁니다.

코로나19 때 뉴스에서 R₀가 2.5다 뭐다 하던 그 숫자예요. 이게 1보다 크면 확산되고 1보다 작으면 소멸됩니다. 학생들이 교과서에서 이 개념을 배우고 나서 "그럼 실제로 시뮬레이션해보면 어떻게 될까?"라는 질문을 던지는 순간, 파이썬 프로젝트가 시작되는 거예요.


SIR 모델이 뭐냐고요?

감염병 수학 모델 중 가장 기본이 되는 게 SIR 모델입니다. 전체 인구를 세 그룹으로 나눕니다.

S는 Susceptible, 아직 감염되지 않은 사람. I는 Infected, 현재 감염 중인 사람. R은 Recovered, 회복하거나 사망한 사람. 이 세 집단이 시간이 지나면서 어떻게 변해가는지를 미분방정식으로 표현한 것이 SIR 모델이에요.

고등학생 수준에서 파이썬으로 구현하면 이런 구조가 됩니다.

 
 
python
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

plt.rcParams['font.family'] = 'Malgun Gothic'

# 초기 조건 설정
N = 10000       # 전체 인구
I0 = 1          # 초기 감염자 수
R0_value = 0    # 초기 회복자 수
S0 = N - I0 - R0_value

# 감염병 파라미터
beta = 0.3      # 감염률 (1명당 하루 감염 접촉 수)
gamma = 0.05    # 회복률 (감염 기간의 역수)

# SIR 미분방정식 정의
def sir_model(y, t, N, beta, gamma):
    S, I, R = y
    dS = -beta * S * I / N
    dI = beta * S * I / N - gamma * I
    dR = gamma * I
    return dS, dI, dR

# 시뮬레이션 실행
t = np.linspace(0, 200, 200)
y0 = S0, I0, R0_value
solution = odeint(sir_model, y0, t, args=(N, beta, gamma))
S, I, R = solution.T

# 시각화
fig, ax = plt.subplots(figsize=(12, 6))
ax.plot(t, S, 'b-', label='감수성자 (S)', linewidth=2)
ax.plot(t, I, 'r-', label='감염자 (I)', linewidth=2)
ax.plot(t, R, 'g-', label='회복자 (R)', linewidth=2)

ax.set_xlabel('시간 (일)')
ax.set_ylabel('인구 수')
ax.set_title(f'SIR 감염병 확산 모델 (β={beta}, γ={gamma})')
ax.legend()
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()

# R₀ 계산 및 출력
R0 = beta / gamma
print(f"감염 재생산지수 R₀ = {R0:.2f}")
print(f"최대 감염자 수: {I.max():.0f}명 ({I.max()/N*100:.1f}%)")

코드 자체가 어렵게 느껴질 수 있지만, 개념은 단순합니다. β(베타)는 감염이 얼마나 빠르게 퍼지는가, γ(감마)는 얼마나 빠르게 회복되는가. 이 두 숫자의 비율이 바로 R₀가 됩니다.


교과 세특 연계, 어떻게 쓸 수 있나요?

고1 통합과학 세특

통합과학 수업에서 감염병 확산 단원을 배우고 자연스럽게 시작할 수 있어요. 교과서에서 R₀ 개념을 배운 후 "실제로 R₀값이 달라지면 확산 곡선이 어떻게 바뀔까?"라는 질문을 스스로 던지고 파이썬으로 검증하는 흐름입니다.

생기부에 이런 방식으로 담길 수 있어요.

통합과학 수업에서 감염 재생산지수 R₀ 개념을 학습한 후, R₀값 변화에 따라 감염 곡선이 어떻게 달라지는지 직접 확인하고 싶어 Python으로 SIR 모델 기반 감염병 확산 시뮬레이션을 구현함. β와 γ값을 조절하며 사회적 거리두기 효과를 수치로 분석하고, 코로나19 실제 데이터와 비교 검토하여 모델의 한계와 활용 가능성을 보고서로 정리함.

고2 생명과학 세특

2학년에서 면역 체계와 바이러스 복제 과정을 배운 뒤 심화 탐구로 연결할 수 있어요. 단순한 SIR 모델에서 벗어나 백신 접종 집단을 추가한 SEIR 모델이나 SIRV 모델로 확장하면 훨씬 깊이 있는 탐구가 됩니다.

생명과학 수업에서 바이러스 감염과 면역 반응의 원리를 학습한 후, 집단 면역 형성 조건을 수학적으로 탐구하고자 SIR 모델에 백신 접종 변수를 추가한 SIRV 모델을 Python으로 구현함. 백신 접종률에 따른 감염 피크 시점과 규모 변화를 matplotlib으로 시각화하고, 집단 면역 달성에 필요한 최소 접종률을 R₀값으로부터 수학적으로 도출함.

고2 정보(프로그래밍) 세특

정보 교과에서는 알고리즘과 데이터 구조 측면에서 접근할 수 있어요. 미분방정식 기반 SIR 모델에서 한 발 더 나아가 에이전트 기반 시뮬레이션(ABM, Agent-Based Model)으로 확장하면 코딩 실력을 충분히 보여줄 수 있습니다.

정보 수업에서 배운 객체지향 프로그래밍 개념을 활용하여 개인 에이전트가 공간 내에서 이동하며 감염되는 과정을 시뮬레이션하는 프로그램을 구현함. SIR 미분방정식 모델과 에이전트 기반 모델의 결과를 비교 분석하고, 밀집도·이동 패턴 등 현실적 변수를 추가했을 때 확산 양상이 어떻게 달라지는지 탐구하여 두 모델의 장단점을 정리함.


심화 프로젝트 방향은?

기본 SIR 모델을 완성한 학생이라면 여기서 탐구를 더 깊이 가져갈 수 있어요.

의학·생명과학 계열 지망이라면 공공데이터포털(data.go.kr)에서 코로나19 실제 확진자 데이터를 가져다 시뮬레이션 결과와 비교하는 프로젝트가 좋습니다. 모델이 현실을 얼마나 잘 설명하는지, 어떤 한계가 있는지를 분석하는 게 핵심이에요.

컴공·AI 계열 지망이라면 머신러닝으로 β와 γ를 자동으로 추정하는 파라미터 최적화 프로젝트로 발전시킬 수 있어요. scipy의 curve_fit을 활용해서 실제 데이터에 가장 잘 맞는 파라미터를 찾는 거예요.

수학·통계 계열 지망이라면 확률론적 SIR 모델(Stochastic SIR)로 확장해서 결정론적 모델과 확률적 모델의 차이를 분석하는 방향이 있습니다.


이 프로젝트가 왜 강한가요?

처음 소개한 학생이 컴공 희망 친구와 의학과 희망 친구가 함께 만들었다고 했잖아요. 이게 바로 이 프로젝트의 핵심 강점입니다. 코딩은 컴공 학생이 주도했더라도, 의학적 해석은 의학과 지망 친구가 기여하는 협업 구조가 생기거든요. 입학사정관 입장에서 교과 간 연계와 협업 경험이 동시에 드러나는 탐구 활동은 단순한 개인 프로젝트보다 훨씬 설득력 있게 읽힙니다.

수업 시간에 배운 개념에서 출발해 스스로 질문을 만들고, 파이썬으로 직접 검증하고, 결과를 해석하는 이 전체 흐름이 학종에서 가장 좋은 평가를 받는 탐구의 구조예요.

저희 원당컴퓨터학원 Python 융합과정에서는 이런 방식으로 교과 내용을 실제 데이터 분석과 연결하는 프로젝트 수업을 함께 진행하고 있어요. 어떤 소재로 탐구를 시작해야 할지 막막하다면, 편하게 상담 주세요! 😊

📍 원당컴퓨터학원 인천시 서구 당하동 장원프라자 502호 ☎ 032-565-5497


#원당컴퓨터학원 #파이썬바이러스시뮬레이션 #SIR모델 #감염병시뮬레이션 #고1통합과학세특 #고2생명과학세특 #정보세특 #학생부종합전형 #생기부세특 #파이썬프로젝트 #Python데이터분석 #감염재생산지수 #코딩생기부연계 #인천코딩학원 #서구코딩학원 #당하동학원 #Python융합과정 #컴공생기부 #의학계열생기부

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기
📌 원당컴퓨터학원 | 인천 서구 당하동 장원프라자 502호
📞 032-565-5497
🌐 홈페이지: www.wondangcom.com
💬 카카오 문의: 카카오톡 상담