이번 호는 단대소고 윤성환 선생님이 수업하신 수업 사례를 소개하려고 합니다. 회사에서도 근무하신 경험도 있는 프로그래밍 고수 윤성환 선생님의 이야기를 들어보도록 하겠습니다.
안녕하세요.
학생들에게 PS를 가르쳐야 하는 이유에 관해 얘기해 보려고 합니다.
PS는 Problem Solving의 줄임말로 ‘문제 해결’을 의미합니다. 문제를 해결하기 위해서는 문제를 이해하고, 문제를 해결하기 위한 자료 구조와 알고리즘을 설계한 후 **** C언어나 파이썬 같은 프로그래밍 언어로 **프로그래밍(코딩)**해야 합니다.
우리 학생들이 대학교를 졸업하고 대기업이나 IT기업에 입사하기 위해서는 문제 해결 능력을 테스트하는 코딩테스트에 합격해야 합니다. 또한, 입사 후에도 좋은 소프트웨어 개발자가 되기 위해서 문제 해결 능력은 꼭 필요한 소양입니다. 하지만 현재 우리나라 학교 교육과정에서 코딩테스트 수준의 문제 해결에 대해서는 다루고 있지 않습니다.
학생들은 코딩테스트에 합격하기 위해 학원, 과외, 그룹 스터디, 동아리 등 추가적인 활동을 개별적으로 하고 있습니다. 당연한 이야기이지만, 소프트웨어를 전공하는 학생들은 좋은 IT 기업에 입사하길 원하고, 좋은 IT 기업에 입사하기 위해서는 코딩테스트에 합격해야 합니다. 이러한 과정에서 코딩이나 문제 해결에 익숙하지 않은 학생이 대학교에 입학한 후 코딩테스트를 준비하면서 많은 어려움을 겪고 있다고 생각됩니다.
학생들이 중, 고등학교 때부터 코딩테스트를 이해하고 코딩이나 문제 해결에 익숙한 상태로 대학교에 입학하면 코딩테스트를 준비하는데 훨씬 수월할 것입니다. 또한, 코딩은 누구에게나 기본적으로 필요한 소양이기 때문에 우리는 학생들에게 PS를 가르쳐야 합니다.
제가 근무하고 있는 학교는 소프트웨어 전문 고등학교입니다. 저는 학생들에게 코딩테스트에 대해서 소개하고 자체 개발 및 운영되는 준랩 온라인 저지, 백준 온라인 저지 등을 이용하여 학생들이 코딩에 익숙하도록 지도하고 있습니다. 또한, 코딩테스트 기출 문제들을 분석하고 직접 문제를 출제하여 준랩 온라인 저지를 통해 기초부터 실전까지 단계적인 학습이 가능하도록 문제를 선별하여 제공하고 있으며 학생들의 학습에 도움이 되도록 교내 대회를 주기적으로 개최하고 있습니다.
2주 동안 온라인을 통해 교내 알고리즘 실력 겨루기 대회를 개최하였는데 중, 고등학교 수준의 문제부터 대학, 대기업 코딩 테스트, 올림피아드 수준의 문제까지 총 120문제를 출제하였으며 100명의 학생이 3000번 이상 해답을 제출하면서 열띤 경쟁을 벌였습니다.