전주중앙중학교 로고이미지

정보

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기

EBS 온라인 클래스로 운영합니다.

 

https://ebsoc.co.kr/    

전국학생통계포스터대회 준비 프로젝트
작성자 김인수 등록일 25.09.11 조회수 4
첨부파일

캔바에서 코딩은 상상력 입니다 ~ ^^
https://www.canva.com/

JJCC
https://insoo77.my.canva.site/

[통계 포스터]  미세먼지와 학생 야외활동의 관계 분석
https://insoo77.my.canva.site/dagyr6dpiyi

[통계 포스터]  청소년 스마트폰 사용과 수면 습관의 관계
https://insoo77.my.canva.site/dagyr-cejb4


전주중앙중학교.png 표시 중

자연수 소인수분해 및 소수 판별 프로그램
https://insoo77.my.canva.site/dagyre-62gy

캔바로 게임 만들기
https://insoo77.my.canva.site/dagyqpec61q

태양계의 궤도 시뮬레이션 프로그램
https://insoo77.my.canva.site/dagyrkwgwui

용돈으로 무엇을 살 수 있을까?
https://insoo77.my.canva.site/dagyrri-v7e


★ 대회 개요

  • 주최/주관: 통계청, 한국통계학회

  • 참가 대상: 초·중·고 학생 (개인 또는 팀)

  • 대회 목적:

    • 학생들이 주변의 사회·경제·환경 현상을 통계적 방법으로 탐구

    • 자료를 수집·분석·해석하여 포스터 형태로 시각화

    • 통계적 사고력과 문제해결 능력 향상

 대회 진행 방식

  1. 주제 선정

    • 생활 속 문제, 사회 현상, 지역 이슈 등 자유롭게 선택

    • 예: 학교 급식 만족도, 지역 교통 문제, 환경 보호, SNS 사용 패턴 등

  2. 자료 수집 및 분석

    • 직접 설문조사, 관찰, 실험 등을 통해 자료 수집

    • 기존의 공공데이터(통계청 KOSIS, 공공데이터포털 등) 활용 가능

  3. 포스터 제작

    • 연구 동기 → 조사 방법 → 분석 과정 → 결론 및 시사점

    • 그래프, 표, 그림 등을 활용해 시각적으로 전달

  4. 출품 및 심사

    • 1차 예선(지역대회) → 2차 본선(전국대회)

    • 통계적 창의성, 분석력, 표현력, 시사점 등을 평가

 수상 혜택

  • 교육부장관상, 통계청장상, 한국통계학회장상 등 다양한 상

  • 우수작은 통계청 행사 및 교육 자료로 활용

==================================================================

1. 학교 급식 만족도 조사

주제 요약: 학교 급식의 맛·양·영양·청결에 대한 만족도를 조사하고 학년/성별 차이를 분석.

데이터 수집

  • 직접 설문(종이/구글폼): 항목 예 ― 맛(1-5), 양(1-5), 영양(1-5), 청결(1-5), 선호메뉴(텍스트), 학년, 성별

  • 표본: 학년별 30~50명 권장

분석 포인트

  • 평균/중앙값 비교(학년·성별)

  • 항목별 만족도 분포(히스토그램/상자그림)

  • 선호 메뉴 빈도(막대/파이)

  • 학년별·성별 교차표 및 카이제곱(필요시)

추천 그래프

  • 항목별 평균 막대그래프

  • 학년별 만족도 상자그림(boxplot)

  • 선호메뉴 빈도 막대

Python 예제 (pandas + matplotlib)

import pandas as pd import numpy as np import matplotlib.pyplot as plt # 샘플 데이터 생성 np.random.seed(0) n = 200 df = pd.DataFrame({ 'grade': np.random.choice(['1학년','2학년','3학년'], size=n, p=[0.35,0.33,0.32]), 'gender': np.random.choice(['남','여'], size=n), 'taste': np.random.randint(1,6,size=n), 'quantity': np.random.randint(1,6,size=n), 'nutrition': np.random.randint(1,6,size=n), 'cleanliness': np.random.randint(1,6,size=n), 'fav_menu': np.random.choice(['김치찌개','비빔밥','라면','돈까스','샌드위치'], size=n) }) # 항목별 평균 items = ['taste','quantity','nutrition','cleanliness'] means = df[items].mean() plt.figure(figsize=(7,4)) plt.bar(means.index, means.values) plt.ylim(0,5) plt.title('급식 항목별 평균 만족도 (1-5)') plt.ylabel('평균 점수') for i,v in enumerate(means.values): plt.text(i, v+0.05, f"{v:.2f}", ha='center') plt.tight_layout() plt.show() # 학년별 taste 분포 (boxplot) plt.figure(figsize=(7,4)) df.boxplot(column='taste', by='grade') plt.title('학년별 맛 만족도 분포') plt.suptitle('') plt.ylabel('맛 점수 (1-5)') plt.tight_layout() plt.show() # 선호메뉴 빈도 menu_counts = df['fav_menu'].value_counts() plt.figure(figsize=(7,4)) menu_counts.plot.bar() plt.title('선호 메뉴 빈도') plt.ylabel('응답자 수') plt.tight_layout() plt.show()

2. 등교(통학) 소요시간 및 방법

주제 요약: 학생들의 통학 수단(도보/버스/지하철/자전거/차량)과 소요시간을 조사하여 통학 불편 지점 파악.

데이터 수집

  • 설문 항목: 통학수단, 통학시간(분), 출발지(동/읍), 대중교통 환승여부(예/아니오)

  • 최소 100명

분석 포인트

  • 수단별 평균 통학시간 비교(막대)

  • 통학시간 분포(히스토그램)

  • 출발지-통학시간 관계(지도 시각화 가능 ― 포스터엔 히트맵이나 산점도)

추천 그래프

  • 수단별 평균 통학시간 막대

  • 통학시간 히스토그램

  • (있다면) 출발지별 평균 시간 지도 또는 열지도

Python 예제 (막대 + 히스토그램)

import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(1) n=250 modes = ['도보','버스','지하철','자전거','차량'] df = pd.DataFrame({ 'mode': np.random.choice(modes, size=n, p=[0.25,0.3,0.2,0.1,0.15]), }) # 통학시간: 수단별 평균 차등 부여 time_map = {'도보':15, '버스':25, '지하철':30, '자전거':18, '차량':20} df['time_min'] = df['mode'].map(time_map) + np.random.normal(0,6,size=n).astype(int).clip(3,80) # 수단별 평균 시간 avg_time = df.groupby('mode')['time_min'].mean().reindex(modes) plt.figure(figsize=(7,4)) avg_time.plot.bar() plt.ylabel('평균 통학시간(분)') plt.title('통학수단별 평균 통학시간') plt.tight_layout() plt.show() # 시간 분포 히스토그램 plt.figure(figsize=(7,4)) plt.hist(df['time_min'], bins=12) plt.xlabel('통학시간(분)') plt.ylabel('학생 수') plt.title('통학시간 분포') plt.tight_layout() plt.show()

3. 스마트폰 사용 시간과 수면(또는 학업성적) 상관

주제 요약: 스마트폰 사용시간(평균 일일)과 수면시간/성적 간의 관계를 분석.

데이터 수집

  • 항목: avg_phone_min_per_day, sleep_hours, recent_score(100점 만점), grade, gender

  • 자기보고형 자료의 한계 기재 필요

분석 포인트

  • 상관계수 계산(피어슨)

  • 산점도 + 회귀선(선형회귀)

  • 그룹별(예: 사용시간이 많은 군 vs 적은 군) 평균 비교

추천 그래프

  • 산점도(휴대시간 vs 수면)

  • 상자그림(휴대시간 그룹별 성적)

Python 예제 (산점도 + 회귀선)

import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression np.random.seed(2) n=150 phone = np.random.normal(180,80,size=n).clip(10,600) # 분 # sleep: 보통 phone이 많으면 sleep 줄어드는 경향 생성 sleep = (8 - 0.003*phone + np.random.normal(0,0.6,size=n)).clip(4,10) score = (80 - 0.02*phone + np.random.normal(0,7,size=n)).clip(30,100) df = pd.DataFrame({'phone_min':phone, 'sleep_h':sleep, 'score':score}) # 산점도: phone vs sleep X = df[['phone_min']] y = df['sleep_h'] model = LinearRegression().fit(X, y) pred = model.predict(X) plt.figure(figsize=(7,4)) plt.scatter(df['phone_min'], df['sleep_h'], alpha=0.6) plt.plot(df['phone_min'], pred, linewidth=2) plt.xlabel('일일 스마트폰 사용시간(분)') plt.ylabel('수면시간(시간)') plt.title(f'스마트폰 사용과 수면 (기울기={model.coef_[0]:.4f})') plt.tight_layout() plt.show() # 피어슨 상관계수 corr = df['phone_min'].corr(df['sleep_h']) print("피어슨 상관계수:", corr.round(3))

4. 지역별 쓰레기 분리배출 실태(재활용 행동)

주제 요약: 가정/학교에서의 분리배출(재활용) 실태와 인식 조사.

데이터 수집

  • 설문: 분리배출 여부(항목별), 재활용 관련 교육 경험(예/아니오), 가족 참여 정도(0-5), 주소(시군구)

  • 공공데이터(지자체별 재활용률)가 있다면 비교 가능

분석 포인트

  • 항목별 준수율(막대/파이)

  • 교육 경험 여부에 따른 준수율 차이(교차표, 막대)

  • 지역별 비교(지도 또는 열지도)

추천 그래프

  • 항목별 준수율 막대

  • 교육 유무 비교 stacked bar 또는 그룹바

Python 예제 (준수율 막대 및 그룹 비교)

import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(3) n=180 df = pd.DataFrame({ 'edu': np.random.choice(['교육받음','교육없음'], size=n, p=[0.6,0.4]), }) # 분리배출(예/아니오) 모사 df['separate'] = df['edu'].apply(lambda x: np.random.choice([1,0], p=[0.8,0.2]) if x=='교육받음' else np.random.choice([1,0], p=[0.55,0.45])) # 준수율 계산 rate = df['separate'].mean() print(f"전체 분리배출 준수율: {rate:.2%}") # 교육별 비교 group_rate = df.groupby('edu')['separate'].mean() plt.figure(figsize=(6,4)) group_rate.plot.bar() plt.ylim(0,1) plt.ylabel('준수율') plt.title('교육 여부에 따른 분리배출 준수율') for i,v in enumerate(group_rate.values): plt.text(i, v+0.02, f"{v:.2%}", ha='center') plt.tight_layout() plt.show()

5. 지역 공기질(미세먼지)과 실외 활동시간

주제 요약: 공공데이터(KOSIS·환경부 등)를 활용해 특정 기간의 PM10/PM2.5 추세와 학생들의 야외활동시간 변화 비교.

데이터 수집

  • 공공데이터: 지점별 월별 평균 PM2.5 값(환경부 에어코리아 등) ― (포스터엔 데이터 출처 명시)

  • 설문: 학생들의 주당 실외활동시간(코로나 이전/이후 비교 등)

분석 포인트

  • 시간(월·연도) 흐름에 따른 오염도 선그래프

  • 공기질 개선/악화 구간에 따른 실외활동 평균 변화(막대/라인 동시표시)

  • 상관분석(공기질 지표와 활동시간)

추천 그래프

  • 이중축 선그래프(좌: PM2.5, 우: 평균 실외활동시간)

Python 예제 (라인플롯 이중축)

import pandas as pd import numpy as np import matplotlib.pyplot as plt # 샘플 시계열 (12개월) months = pd.date_range('2024-01-01', periods=12, freq='M') pm25 = np.round(25 + np.sin(np.linspace(0,3.5,12))*8 + np.random.normal(0,3,12),1) outdoor = np.round(300 - 3*pm25 + np.random.normal(0,10,12),1) # 임의 관계 df = pd.DataFrame({'month':months, 'pm25':pm25, 'outdoor_min_per_week':outdoor}) fig, ax1 = plt.subplots(figsize=(8,4)) ax1.plot(df['month'], df['pm25'], marker='o') ax1.set_ylabel('PM2.5 (㎍/m³)') ax1.set_title('월별 PM2.5와 주당 실외활동시간') ax2 = ax1.twinx() ax2.plot(df['month'], df['outdoor_min_per_week'], marker='s') ax2.set_ylabel('주당 실외활동시간(분)') plt.tight_layout() plt.show()

6. 교내 독서(도서관 이용) 실태

주제 요약: 학생들의 도서관 이용 빈도와 독서 시간·선호 장르를 조사.

데이터 수집

  • 항목: week_visits, avg_read_min_per_week, fav_genre, grade, gender

  • 학교 도서관 대출 통계가 있으면 보완

분석 포인트

  • 방문 빈도 분포(히스토그램)

  • 장르별 선호(막대)

  • 독서 시간과 성적(또는 생활 만족도) 관계

추천 그래프

  • 장르별 막대그래프

  • 방문빈도 히스토그램 또는 누적막대

Python 예제 (장르 빈도)

import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(4) n=160 genres = ['청소년소설','사실/교양','과학','만화','시/에세이'] df = pd.DataFrame({ 'visits_per_week': np.random.poisson(1.2, size=n), 'read_min_per_week': np.random.randint(0,241,size=n), 'fav_genre': np.random.choice(genres, size=n, p=[0.35,0.2,0.15,0.2,0.1]) }) genre_counts = df['fav_genre'].value_counts() plt.figure(figsize=(7,4)) genre_counts.plot.bar() plt.title('선호 장르별 응답 수') plt.ylabel('응답자 수') plt.tight_layout() plt.show()

포스터 구성(권장 레이아웃)

  1. 제목 & 팀(개인) 정보 ― 한 줄로 핵심 표현

  2. 연구 배경/목적 ― 2~3문장

  3. 자료 및 방법 ― 표본 수, 조사 기간, 사용된 통계 방법(평균, 분산, 상관, 회귀 등)

  4. 결과(그래프/표) ― 핵심 그래프 3~5개 (그래프마다 간단한 캡션)

  5. 논의 및 결론 ― 주요 발견, 정책적/실천적 제언

  6. 한계 및 향후 연구 ― 자료의 한계·추후 보완 방안

  7. 참고문헌(데이터 출처) ― 공공데이터 사용 시 URL·기관 표기


포스터 디자인·시각화 팁

  • 그래프는 한 화면에 하나씩 (포스터는 보통 멀리서 보므로 표시를 큼직하게)

  • 축 레이블과 단위 명확히, 범례는 간단히

  • 색 대비는 높게(그러나 너무 많은 색은 피하기) ― 흑백 인쇄 가능성 고려

  • 숫자는 소수점 2자리 이하로 정리, 중요 수치는 텍스트로 강조(예: “평균 3.8점(±0.6)”)

  • 캡션은 “무엇을 말하는가”를 1문장으로 요약


★ 포스터용 고해상 그래프 생성 (Python 코드)

아래 코드를 실행하면 급식만족도_그래프1.png, 급식만족도_그래프2.png, 급식만족도_그래프3.png 파일이 저장됩니다.

import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Malgun Gothic' # 한글 폰트 plt.rcParams['axes.unicode_minus'] = False # 샘플 데이터 생성 np.random.seed(0) n = 200 df = pd.DataFrame({ 'grade': np.random.choice(['1학년','2학년','3학년'], size=n, p=[0.35,0.33,0.32]), 'gender': np.random.choice(['남','여'], size=n), 'taste': np.random.randint(1,6,size=n), 'quantity': np.random.randint(1,6,size=n), 'nutrition': np.random.randint(1,6,size=n), 'cleanliness': np.random.randint(1,6,size=n), 'fav_menu': np.random.choice(['김치찌개','비빔밥','라면','돈까스','샌드위치'], size=n) }) # [그래프1] 항목별 평균 막대그래프 items = ['taste','quantity','nutrition','cleanliness'] means = df[items].mean() plt.figure(figsize=(7,5)) plt.bar(means.index, means.values, color="skyblue") plt.ylim(0,5) plt.title('급식 항목별 평균 만족도 (1-5)', fontsize=14) plt.ylabel('평균 점수') for i,v in enumerate(means.values): plt.text(i, v+0.05, f"{v:.2f}", ha='center') plt.tight_layout() plt.savefig("급식만족도_그래프1.png", dpi=300) plt.close() # [그래프2] 학년별 맛(boxplot) plt.figure(figsize=(7,5)) df.boxplot(column='taste', by='grade') plt.title('학년별 맛 만족도 분포', fontsize=14) plt.suptitle('') plt.ylabel('맛 점수 (1-5)') plt.tight_layout() plt.savefig("급식만족도_그래프2.png", dpi=300) plt.close() # [그래프3] 선호 메뉴 빈도 menu_counts = df['fav_menu'].value_counts() plt.figure(figsize=(7,5)) menu_counts.plot.bar(color="orange") plt.title('선호 메뉴 빈도', fontsize=14) plt.ylabel('응답자 수') plt.tight_layout() plt.savefig("급식만족도_그래프3.png", dpi=300) plt.close() print("? 그래프 3종이 저장되었습니다.")

★ 포스터 레이아웃용 요약문

제목

학교 급식 만족도 조사와 개선 방안


1. 연구 배경 및 목적

학교 급식은 학생들의 건강과 생활 만족도에 중요한 영향을 미친다. 본 연구는 우리 학교 학생들의 급식 만족도를 조사하여 문제점을 파악하고 개선 방향을 제시하는 것을 목적으로 한다.


2. 조사 방법

  • 대상: 중학교 1~3학년 학생 200명

  • 기간: 2025년 5월

  • 방법: 설문조사(5점 척도 만족도 + 선호메뉴 자유응답)

  • 분석 도구: Python(pandas, matplotlib)


3. 주요 결과

  1. 급식 항목별 만족도

    • 맛(3.2), 양(3.4), 영양(3.1), 청결(3.6) → 전반적으로 3점대 중반 수준

    • 청결 항목 만족도가 가장 높음

  2. 학년별 맛 만족도

    • 1학년과 2학년은 대체로 긍정적, 3학년은 상대적으로 낮은 만족도

  3. 선호 메뉴 분석

    • 돈까스비빔밥이 가장 인기 있었음

    • 라면은 일부 학생에게 선호되지만 건강 측면에서 문제 지적


4. 결론 및 제언

  • 급식의 영양 균형 강화 필요

  • 학생들의 선호 메뉴 반영 시 긍정적 효과 기대

  • 정기적인 만족도 조사를 통해 개선 효과 확인 권장


5. 연구의 한계 및 향후 과제

  • 설문 응답이 자기보고식으로 편향될 수 있음

  • 학교별 비교 분석이 추가되면 더 풍부한 시사점 제공 가능


6. 참고

  • 조사 자료: ○○중학교 자체 설문 (2025년)

  • 분석 도구: Python 3.11 (pandas, matplotlib)


★  이렇게 정리하면 포스터 1장에 들어갈 구조가 완성됩니다.

상단에 제목 + 사진/로고, 좌측에 배경과 방법, 중앙에 그래프 3개, 우측에 결론과 제언을 넣으면 깔끔하게 보입니다.

======================================

포스터는 A1~A2 세로(세로형) 비율이 가장 일반적입니다. Canva나 파워포인트에서 바로 적용할 수 있도록 섹션별 텍스트 박스 배치 + 그래프 자리 안내로 정리해드릴게요.


  포스터 레이아웃 (Canva/파워포인트용)


  상단 영역 (헤더)

  • 텍스트 박스 1 (큰 글씨, 중앙 정렬)

    학교 급식 만족도 조사와 개선 방안
  • 텍스트 박스 2 (작은 글씨, 오른쪽 상단)

    ○○중학교 2학년 ○○○팀 (2025년 전국학생통계포스터대회 출품작)

★  좌측 영역 (연구 배경 & 방법)

  • 텍스트 박스 3 (소제목)

    1. 연구 배경 및 목적
  • 텍스트 박스 4 (본문)

    학교 급식은 학생들의 건강과 생활 만족도에 중요한 영향을 미친다. 본 연구는 우리 학교 학생들의 급식 만족도를 조사하여 문제점을 파악하고 개선 방향을 제시하는 것을 목적으로 한다.
  • 텍스트 박스 5 (소제목)

    2. 조사 방법
  • 텍스트 박스 6 (본문, 불릿 형식)

    대상: 중학교 1~3학년 학생 200 기간: 2025 5 방법: 설문조사(5점 척도 만족도 + 선호메뉴 자유응답) 분석 도구: Python (pandas, matplotlib)

★  중앙 영역 (주요 결과 & 그래프)

  • 텍스트 박스 7 (소제목, 중앙 상단)

    3. 주요 결과
  • 그래프 자리 1 (좌측 상단)
    급식만족도_그래프1.png (항목별 평균 만족도)

  • 텍스트 박스 8 (그래프 캡션)

    [그림1] 급식 항목별 평균 만족도 (맛·양·영양·청결)
  • 그래프 자리 2 (우측 상단)
    급식만족도_그래프2.png (학년별 맛 boxplot)

  • 텍스트 박스 9 (그래프 캡션)

    [그림2] 학년별 맛 만족도 분포
  • 그래프 자리 3 (중앙 하단, 가로로 크게)
    급식만족도_그래프3.png (선호 메뉴 빈도)

  • 텍스트 박스 10 (그래프 캡션)

    [그림3] 선호 메뉴 응답 빈도

★ 우측 영역 (결론 & 제언)

  • 텍스트 박스 11 (소제목)

    4. 결론 및 제언
  • 텍스트 박스 12 (본문, 불릿 형식)

    ? 영양 균형 강화 필요 ? 학생 선호 메뉴 반영 시 긍정적 효과 기대 ? 정기적 만족도 조사 실시 필요
  • 텍스트 박스 13 (소제목)

    5. 연구의 한계 및 향후 과제
  • 텍스트 박스 14 (본문)

    - 설문 응답이 자기보고식으로 편향될 수 있음 - 학교 간 비교 연구가 추가되면 더 풍부한 시사점 제공 가능

★ 하단 영역 (참고)

  • 텍스트 박스 15

    참고 ? 조사 자료: ○○중학교 자체 설문 (2025년) ? 분석 도구: Python 3.11 (pandas, matplotlib)

★ Canva/파워포인트 제작 팁

  • 배경색: 흰색 or 연한 파스텔톤 (연노랑·연하늘)

  • 폰트: 제목(굵은 고딕, 40pt 이상), 본문(맑은 고딕 20~24pt)

  • 그래프 크기: A2 기준, 가로 10cm 이상 (멀리서도 보이게)

  • 레이아웃 비율: 좌측(30%) ? 중앙(40%) ? 우측(30%)


다음글 2. Two Linear Equations in Two Unkonwns. 1차 연립방정식