올해 1학기에 교내 외국인 유학생들을 서포트하는 통역의전요원을 하게 되었을 때 GKS로써 파키스탄에서 온 공대생 친구를 사귀게 되었다. 당시 나는 코딩을 처음 시작한 지 얼마 안 된 상태였기 때문에 어떤 언어로 진행을 해야 할지, 무엇을 어떻게 해야 할지 등 갈피를 못 잡고 있었는데 이 친구가 고맙게도 Python for Everybody라는 Coursera 특화과정을 추천해주어서 도전해보게 되었다.
또한 우연히 출결을 확인하러 들어간 학교 홈페이지에서 여름방학기간에 MOOC 강의를 듣는 학생들을 지원하는 학습동아리 프로그램의 공고를 보게 되었고 해외 MOOC사이트인 Coursera의 강의를 들을 예정인 나 또한 프로그램의 지원자격을 충족했기 때문에 프로그램에 참가하게 되었다.
모든 준비를 끝마친 나는 기말고사가 끝나고 자유를 만끽할 새도 없이 우선 '나도코딩'채널의 6시간 파이썬 영상으로 기초를 다진 뒤 활동 시작 날만을 학수고대했다. 드디어 다가온 동아리 활동 시작일. 나는 1주일에 강의 하나씩 해치워가며 빠르게 강의를 들어나갔고, 시작한 지 5주 만에 전부 끝내버리고 말았다.
물론 아직 내가 이해하지 못 한 부분이 많으며 강의에서 배운 내용들을 이 카테고리에 포스팅하며 지속적인 학습을 이어나갈 예정이다. 하지만 내가 거쳐온 여정을 기록하기 전에 이 특화과정의 특징과 이에 대한 나의 생각을 정리해보겠다.
1. 기초부터 차근차근 올라갈 수 있게 잘 짜여진 계단식 커리큘럼
이 강의는 컴활 자격증에서도 배울 수 있는 컴퓨터 일반부터 시작해 기초문법을 지나 실제로 사용할 수 있는 웹 스파이더링 프로그램에 대한 이해를 목표로 차근차근 올라가는 방식이었다. 챕터 1에서는 컴퓨터는 어떻게 구성이 되어있고, input을 통해 사용자로부터 값을 받으면 어떤 부분에 저장이 되며 실제로 명령을 처리하는 부분은 어디인가와 같은 원론적인 부분에 대한 설명부터 이루어졌다. 다음엔 객체지향 언어와 스크립트 언어 등 컴퓨터 언어에 대한 분류, 파이썬이라는 언어가 갖는 이점에 대한 설명, 그리고 여느 프로그래밍 언어의 시작에서 그렇듯 Hello world를 출력하는 것으로부터 시작된다.
본격적으로 파이썬에 대한 강의가 시작되면 변수와 기본 문법부터 시작해서 조건문, 함수, 반복문 등의 기초문법에 대한 강의가 시작되는데, 이것들은 1주에 한 챕터로 이루어졌다. 그리고 3번째 강의(Using Python to Access Web Data)에 접어들면 이제부터 하나의 챕터 안에 포함되어 있는 요소가 많기에 2~3주 차의 분량으로 나눠서 강의가 이루어졌다.
마지막 강의인 Capstone: Retrieving, Processing, and Visualizing Data with Python은 지금까지 배웠던 모든 것들이 나오는 25문제 분량의 test하나만 완료하면 바로 수료증이 나오게 된다. 물론 좀 더 학업에 대한 욕심이 있다면 Honors Track을 진행하면 With Honors가 포함된 수료증을 받을 수 있게 된다. 과제는 웹 스파이더링과 데이터베이스를 이용해서 메일에서 가장 많이 나온 단어들을 크기 순서대로 뭉쳐놓은 그림인 워드 클라우드 만들기와 날짜별 그래프 그리기 등 3개가 있는데, 프로그램도 이미 다 만들어져 있어서 실행만 하면 될뿐더러 그 실행조차 강의를 시청하고 지시대로만 하면 되는 내용인지라 그리 난도가 높게 느껴지지는 않았다.
2. 이론적인 부분을 재확인할 수 있는 test의 존재와 직접 코드를 짜서 결과를 내보는 Autograder assignment
말이 필요한가? 나에게 있어서 테스트는 진행을 위해 넘어야 할 벽이 아닌, 나의 지식의 정확도를 재확인함으로써 더욱 탄탄하게 만들어주는 도구일 뿐이다. 게다가 완벽주의 성향까지 갖춘 나는 강의에서 요구하는 패스를 위한 최소점인 80점으로는 만족하지 못했다. 그렇기에 나는 테스트에서 항상 100점을 따내기 위해 모르는 부분은 검색을 해가며 정답을 찾아 나섰고 이로 인해 탄탄한 이론을 갖추게 되었다고 자신할 수 있다.
또한 탄탄해진 이론을 갖추고 있지만 실제로 적용해볼 수 있는 기회가 없는 것만큼 슬픈 상황은 없을 것이다. 하지만 이 수업은 챕터마다 자체적으로 자동채점 프로그램을 통한 코딩 테스트를 지원했다. 내게 주어진 약간의 샘플 코드를 변형해가며 아웃풋 목표를 향해 다가가는 것은 퍼즐을 맞추는 것처럼 재미있었고 그것을 자신만의 힘으로 성취했을 때의 쾌감은 이루 말할 수 없었다.
3번째 강의에 접어들 때면 샘플 코드를 지시에 따라 수정해서 명령 프롬프트에 직접 실행해보고 결과를 캡처해서 올리는 방식의 assignment를 하게 된다. 개인적인 관점으로 이것은 후반으로 갈수록 코드를 직접 수정해야 하는 부분이 너무 적거나 아예 없어서 너무 빠르게 끝나버리고 실력이 늘고 있긴 한 건지 의문이 들었다. 다른 시선으로 바라보면 코드를 보는 눈이 좋아졌기에 그런 거겠지 하는 생각도 들었지만 역시 나를 못 믿겠어서 강의를 3번씩 돌려보곤 했다.
3. 강의 영상과 자료들이 올라와 있는 홈페이지의 존재
강의 영상과 강의자료들이 올라와 있는 홈페이지는 그다지 특별하다고 할 수는 없지만 나에겐 이것을 굳이 언급하고 싶을 정도로 매우 도움이 되었다.
들어본 사람은 공감하겠지만 coursera의 한국어 자막은 이상했다. 특히 교수님이 직접 코드를 한줄한줄 설명하며 직접 프로그램을 돌려보는 Worked Example의 영상에는 아예 강의 영상과 관련 없는 자막이 달려있기도 하였다.
하지만 이 py4e사이트에 올라와 있는 강의 영상은 유튜브를 통해 송출되는 영상이었고, 접근성이 좋아서인지 coursera보다 정확한 자막이 달려 있었다. 일문과인지라 영문에 대해선 영문도 모르는 영 문외한인 나는 정말 이 사이트가 없었더라면 아직까지도 샘플 코드의 코드들이 어떠한 역할을 하는 코드들인지 갈피를 잡지 못해 애꿎은 머리카락을 뽑아대고 있었을 것이다.
4. 강의와 특화과정을 이수하면 발급되는 수료증
이 강의의 마지막 장점은 수료증이 발급된다는 것이다. 물론 IT계열은 고사하고 어느 기업에도 이력서를 던져본 경험이 없는 나로서는 이 강의의 수료증이 얼마나 공신력이 있는지 모른다. 게다가 IT계열의 기업은 무엇보다도 실력과 프로젝트 진행 경험 및 실무경험이 들어간 포트폴리오를 중점으로 인재를 채용한다는 것만은 안다. 이러한 단편적인 정보만으로도 판단하건대 수료증은 채용에 아무런 어드밴티지가 되지 않을 것이라는 것도 알고 있다. 하지만 이것은 비전공자인 내가 IT를 향해 걸어온 길을 증명하기에 아주 좋은 수단이기 때문에 조금이나마 장점에 가깝다고 생각한다. (네이버 boostcamp AI Tech의 선발에 있어 가산점을 주는 선행 강의 목록에 py4e가 있다는 사실을 알아차린 것은 그 뒤의 일이다.)
'Python > PY4E' 카테고리의 다른 글
PY4E Chapter 5. Loops and Iterations (0) | 2022.08.05 |
---|---|
PY4E Chapter 4. Functions (0) | 2022.08.02 |
PY4E Chapter 3. Conditional Execution (0) | 2022.08.02 |
PY4E Chapter 2. Variables, expressions and statements (0) | 2022.08.02 |
PY4E Chapter 1. Why Program (0) | 2022.08.01 |
댓글