4월, 2023의 게시물 표시

고등학교 모의고사 성적 분석 프로그램

이미지
 올해 연구부 업무를 맡으면서 학교의 모의고사 성적을 분석할 수 있는 틀을 만들어 보았습니다. 지금은 학급별 과목점수 통계 내는 것이 대부분의 경우 무의미 한데 예전 양식들은 이런 것들이 고려가 안되어 불필요한 것들로 공간도 낭비가 되고 보기에도 예쁘지 않더라구요. 그래서 이참에 새로 만들었습니다. 자료입력은 대교협 양식으로 하면됩니다. 대교협업로드양식(빈값) .xls 0.09MB 대교협 양식은 위와 같습니다. 학생들 성적표가 나오면 이 성적표 파일에 있는 값을 대교협 양식으로 복사 붙여넣기해서 옮기는 것도 무지 고된 단순반복작업이더라구요. 그래서 성적표 파일을 대교협 양식으로 자동으로 변환하는 프로그램도 만들었습니다.  다운로드 : 성적표to대교협양식프로그램(속초고-남궁연)  (탐구과목의 학교순위를 표준점수 잘못 읽어왔었습니다. 혹시 이전 버전으로 작업하셨으면 아래 파일로 다시 수정해 주셔야 합니다. 오류 찾아주신 김홍중 부장님 감사합니다) 성적표To대교협양식ver3(속초고_남궁연) .xlsm 0.37MB 다운로드 : 모의고사성적분석프로그램(속초고-남궁연) 모의고사성적분석프로그램(속초고_남궁연)ver1 .xlsm 0.13MB 모의고사 성적 분석 프로그램 설명 1. 자료입력 및 삭제 시험정보 테이블에 평가일자, 평가명을 입력한 후 [새로운 자료입력] 버튼을 누르고 [대교협 양식] 을 업로드 하면 됩니다.  자료를 입력할 평가를 선택한 후 대교협양식을 업로드 합니다. 2. 전체통계시트 학급별 점수분포는 대부분 도수분포표를 이용하지만, 산포도를 이용해보면 조금더 명확하게 시각화할 수 있지 않을까 해서 적용해 봤습니다. 위 자료는 가상의 값을 넣었습니다. 영역별 점수 분석은 현재 고교학점제 체제에서는 학급별로 구분할 필요가 별로 없기에 그냥 묶어서 통계처리 했습니다. 영역별 등급분포는 아래와 같이 데이터 막대로 시각화 하는 것이 가장 좋은 것 같습니다. 이런 자료는 데이터막대로 시각화 하는 것이 국룰입니다. 3. 학급통계시트 3. 개인통계시트 이부분은 아직 안만들었

New 남궁고사

이미지
 신규교사 시절 '남궁고사' 라는 유치한 이름의 프로그램을 만들었습니다. 지금 돌아봐도 고사 감독을 편성하는 것은 쉽지 않은 알고리즘인데 무턱대고 만든 프로그램이라 부족한 점이 많았습니다. 업무를 위해 만든 제 첫 프로그램이라 애착도 많이 가고 언젠가 개선해야지 하는 마음은 먹고 있었는데 어느 덧 만 10년이란 세월이 흘렀습니다. 시간 참 빠릅니다.  '남궁고사' 10 주년을 맞이하여 프로그램을 현재 학교 시스템에 맞게 전면 수정했습니다. 고사 기간 중에도 여러 업무가 있기에 이를 고려하여 고사 기간 중 선생님들의 업무가 고르게 배정되도록 했습니다.   10년간의 교직 생활을 돌아보면 참 부끄럽고 후회되는 순간들이 많습니다. 10년후의 저는 지금을 돌아 봤을 때 학생들과 동료 선생님들에게 그리고 스스로에게 조금은 덜 부끄러운 교사가 되고 싶습니다. 처음에는 '(구버전)남궁고사' 의 코드를 조금만 수정해 볼까 생각했었는데 지금 보니 너무나 엉망진창인 코드들이라 완전 제로베이스에서 만들기로 했습니다. 시간표를 배정하는 작업은 연립방정식의 해를 구해가는 과정입니다. 모든 해의 가능성을 탐색해 나가는 과정은 보통 2의 800제곱 (약241자리의 수, 1억이 9자리의 수니 엄청나게 큰수입니다.) 가지의 경우의 수가 나오기 때문에 전체의 해를 탐색해서 최적의 경우를 산출하는 것은 불가능합니다. 그래서 효율적으로 해를 탐색해가는 알고리즘을 생각해야 하는데 이런 특수한 조건을 만족하는 해를 구할 수 있는 여러 라이브러리들이 이미 많이 공개되어 있습니다. 그 중 하나가 구글에서 개발한 ortools 라이브러리입니다. 그래서 이 라이브러리를 사용해서 파이썬으로 프로그램을 만들어 볼까 했는데 어떤 과정을 거쳐서 해를 찾아가는지에 대한 알고리즘을 알 수 없는채 결과 값만 구한다는 것이 싫어 직접 만들어 봤습니다. (파이썬을 잘 못다루는 이유도 있었습니다.) 해를 탐색하기 위한 알고리즘의 주요 아이디어는 아래와 같습니다. 예를 들어 5명의

고교학점제-수학과 최소성취보장 미이수 예방 지도를 준비하며

이미지
 지금은 고등학교에서 수학을 가르치고 있지만 고등학생(일반고) 때  수학을 조금 못했었 습니다.   고1 2학기 550명중에 474등(8등급에 가까운 7등급)이고 고2 수학II 과목은 일년 내리 254명중 190등대(7등급의 하위권..)   이었으니 사실 조금 못한 정도가 아니라 엄청나게 못했었습니다. 공부를 안하고 잘 놀기라도 했으면 덜 억울할 텐데.. 나름 수학공부 해볼려고 시간은 많이 들여  노력했는데 이런 점수 라니 무지 억울합니다. 고1 2학기 공통수학 474등 수학II 254명중 199등 중학교 수학은 그래도 어느 정도는(?) 했던 것 같은데 고등학교 수학은 도저히 혼자서 따라가기 어려웠습니다. 고등학교 시절 가정 형편 상 사교육이라고는 받을 상황이 아니었고 학교에서 하는 수업은 너무 빨라 못 따라가겠고 시험 성적은 안나오니 자신감은 계속 떨어지고.. 아주 총체적 난국이었습니다. 이 당시 상위권을 위한 심화 수학반 같은 것은 따로 있었던 것으로 기억하는데 저와 같은 하위권(뭔가 해보려는 마음만 있고 기초는 전혀 안된) 학생을 돕기 위한 프로그램이 전혀 없었던 것이 돌아보니 되게 아쉽습니다.  그래서 여러 의견이 있고 운영에 대해 저도 많은 고민이 있지만 올해 고1부터 본격적으로 시행되는 최소성취수준 보장제도는 필요한 시스템이라고 생각합니다. 올해 고1 수학 최소성취수준 미이수 예방지도 수업을 맡았고 지난 주 첫 수업을 했습니다. 기본적인 계산도 서툰학생들이 많았는데 조금 알려주니 곧잘 금방 배웁니다. 경기도 교육청에서 만든 최소학업성취보장지도 메뉴얼에 나와있는 문제를 가져와서 풀게 했는데 주제별 10문제 정도 풀다보니 어느 정도 감은 오는데 더 연습하고 싶다고 문제를 더 뽑아 달라는 학생들이 있었습니다. 숫자들만 바꿔서 문제풀이 연습을 반복해서 할 수 있으면 좋겠다 싶어서 하나하나 문제를 만들려고 했는데 문제의 숫자도 바꾸고 정답도 계산하려니 보통 시간이 걸리는 일이 아니었습니다. 그래서 파이썬을 활용해서 무작위로 문제를 생성하는 프로그램을 만들었습