6월 9일 마지막 시험을 끝으로 24년 1학기 모든 학사일정이 종료되었다. 이번 학기 역시 게으름으로 인해 시험 3주전까지 진도율 50% 정도밖에 되지 않았고, 결국 시험을 최대한 뒤로 미루고 현충일부터 시작된 나흘간의 연휴 동안 집안에 틀어박혀 시험공부만 했다.
오늘은 지난 한 학기 동안 수강했던 과목들에 대한 간단한 후기와 함께 이번 학기 다양한 과목들을 배우며 느꼈던 것들에 대해 기록해 보고자 한다.
Pyhton 프로그래밍
내가 알기로 생긴지 얼마 되지 않은 과목이라고 들었다. 파이썬은 코딩쪽에서 매우 널리 쓰이고 있는 것으로 알고 있는데 왜 컴퓨터과학과에 정식으로 들어온지 얼마 안 된것인지 의문이기는 하다.
아무튼 과목에 대해 적자면, 정재화 교수님께서 수업을 진행하여 주신다. 확실히 산업계에 있다가 교수님을 하게 되셔서 그런지 이제 막 컴퓨터과학을 배우는 학생들의 눈높이 수준에 잘 맞게 가르쳐 주시고, 단순히 코딩을 어떻게 해야하는지에 대한 기술적 설명뿐만 아니라 실제 현업에서 일을 하고 있는 개발자를 초청하여 산업의 현황이나 생태, 앞으로 개발자들이 어떤 자세와 지식을 갖추어야 생존할 수 있는지 등 이론과 실무 모두에 있어 도움이 될만한 커리큘럼을 학생들에게 제공하여주셔 매우 만족스러운 과목이었다.
작년 1학기에 C+, 2학기에 C++을 배우다 이번 학기에 파이썬을 배우니 C언어에 비해 훨씬 쉽고 직관적이며 다루기 쉬운 언어라는 것을 단번에 느낄 수 있었다. 다만 생긴지 얼마 안된 과목이다보니 따로 교재가 없어 프린트물로 한 학기를 공부하였는데, 얼른 교재가 생겨 교재를 바탕으로 수업을 진행하면 더욱 좋을 것 같았다.
별점(5점 만점) : ★★★★★
운영체제
김진욱 교수님께서 한 학기 동안 강의를 진행하여 주셨다. 단순히 개인적인 과목 흥미로 보자면 사실 나는 파이썬보다 오히려 운영체제에서 훨씬 많은 재미를 느낄 수 있었다. 병렬구조에서 CPU가 어떤 방식으로 일을 처리하는지, 컴퓨터보안의 구조는 대략 어떻게 되는지, 메모리 관리는 어떤 알고리즘을 바탕으로 설계되었는지 등에 대해서 배웠고, 이런 모든 주제들이 나에겐 너무나 흥미롭게 느껴졌다. 이렇게 재미있게 공부해서 그런지 다행히 성적도 매우 잘 나왔다...!
운영체제 과목 자체는 다른 과목들에 비해 그렇게 어렵지 않은 수준이고 때문에 교재를 열심히 읽고, 학교 홈페이지에서 다운 받을 수 있는 과거 기출시험 문제들을 2~3차례 풀어본다면 충분히 우수한 성적을 받을 수 있을 것이라고 생각한다.
별점(5점 만점) : ★★★★☆
데이터베이스시스템
사실 데이터베이스시스템는 과거 대학교에 다닐때 "경영정보시스템"이라는 과목을 통해서 한 번 배워본 경험이 있으며, 지난 학기 방통대에서 자료구조 수업을 배우며 어느 정도 익숙해진 상태에서 수강했다.
파이썬을 강의하여 주셨던 정재화 교수님께서 역시 강의를 맡아 주셨다. 데이터베이스시스템은 자료구조를 통해서 배웠던 것을 바탕으로 실제 DB를 설계하고 이를 어떻게 조작하고 수정하는지 등에 대해서 다룬다. 특히 가장 어려웠지만 동시에 가장 흥미로웠고 또 도전해보고 싶은 욕구를 자극했던 SQL이 이 과목의 핵심이었다. 시험을 보기 전에 SQL 부분에 많은 투자를 했었고 실제 시험에서 3문제 정도가 나왔었다.(물론 이 중에 1문제만 맞춘것 같다^^;)
데이터베이스시스템 역시 교재에 충실하면 충분히 좋은 성적을 받을 수 있을 것이라고 생각한다. 특히 정재화 교수님은 맡으신 과목에 대해서 15강 중 2강은 "연습문제풀이"라고 해서 8주차, 15주차에 중간/마무리 점검을 해주시는데 이 강의가 시험 준비는 물론 지난 강의들 동안 배웠던 개념들에 대해 정리하고 복습할 수 있다는 점에서 매우 유용하였다. 이번 학기 기말시험에도 "연습문제풀이" 강의에서 다루었던 개념이나 문제가 그대로 나온게 몇몇개 있었으니 해당 강의는 대충 듣지 말고 반드시 집중해서 들으시기를 추천한다.
별점(5점 만점) : ★★★★
인공지능
이 과목을 신청할 때는 작년부터 전세계적으로 매우 HOT한 주제인 인공지능에 대해 배워볼 수 있겠다라는 설렘과 기대를 가졌었다. 하지만 막상 수업을 시작하고 한 강씩 배워나갈수록 나의 지식 수준으로는 도통 무슨 말인지 이해할 수 없는 난해한 내용들로 채워지기 시작했다. 특히 후반에 가서 배운 신경회로망, 심층학습 부분은 사실 반포기 상태로 과거 기출문제 답안을 그대로 외워서 시험을 보는 수준으로 이해하기 매우 어려웠었다.
물론 해당 과목을 통해 얕게나마 인공지능이 실제 필드에서 어떤 알고리즘을 바탕으로 구성되고 제작되며, 실제 작동하는지에 대해 알 수 있어 만족스러웠다. 특히 퍼지이론, 기계학습 등은 개념은 어려울지언정 이번 학기 가장 흥미롭고 재미었었던 이론이었다.
인공지능 과목은 알고리즘 과목을 먼저 수강하고 이에 대해 충분히 학습한 상태에서 들으셔야 조금이나마 수월하게 수업을 따라갈 수 있는 과목이라고 생각한다. 두 과목의 개념이나 내용이 직접적으로 겹치지는 않지만 알고리즘에서 다루었던 많은 이론이나 수식, 논리 등이 인공지능에도 꽤나 많이 적용된다고 느껴졌었다. 향후 인공지능을 수강하실 분들은 이를 염두에 두시고 들으시면 좋을 것 같다.
별점(5점 만점) : ★★★★
알고리즘
앞서 말한 인공지능과 어느 정도 연관되는 과목이다. 이관용 교수님께서 수업을 진행하여주셨다.
알고리즘 수업은 컴퓨터과학의 핵심이라고 할 수 있는 알고리즘에 대해 배우는 과목이나, 힙, 삽입, 버블, 기수 등의 다양한 기본적 정렬/탐색 알고리즘에 대해 배우며 또한 동적 알고리즘, 스트링 알고리즘 등 실제 프로그래밍 내에서 사용되는 알고리즘 기법들에 대해서도 배울 수 있다. 물론 내용 자체가 쉽지는 않다. 알고리즘 자체가 "논리"적인 사고에 대해서 끊임없이 요구하고 때문에 이 "논리"적인 사고 부분에 있어 취약한 나로서는 공부를 하기가 쉽지는 않았다. 게다가 내가 구매한 중고교재와 교수님의 강의 순서와 내용이 일치하지 않아 수업을 하게 되면 오늘은 교재 5강을 보고, 다음 수업에선 교재 3강을 펼쳐보는 등 뒤죽박죽이었다. 심지어 교수님께서 다루시는 내용 중 교재에는 없는 내용도 있어 난감한 경우도 있었다.
다행인 점은 알고리즘은 교수님의 수업에만 열심히 집중하면 어려운 내용에 비해 쉽게 이해할 수 있는 과목이라고 생각된다는 것이다. 교수님께서도 알고리즘 과목이 어려운 과목이라는 것을 충분히 인지하고 계시고 때문에 학생들이 최대한 쉽게 이해할 수 있도록 다양한 예시를 들어 설명하여 주신다. 비록 만족할만한 성적은 받지 못하였지만, 앞으로 교재를 바탕으로 혼자라도 조금씩 독학하여 나가보려고 한다.
별점(5점 만점) : ★★★☆
통계학개론
갑자기 뜬금없이 통계학개론이 나온 이유는 내가 이번 학기에 "통계데이터과학과" 복수전공을 신청했기 때문이다. 올해초만 해도 통계쪽을 복전하고 싶은 생각이 전혀 없었지만, 올해 1학기를 시작하면서 우연히 통계데이터과학과의 커리큘럼을 보게 되었고, 생각보다 컴퓨터과학과와 어느 정도 시너지를 낼 수 있도록 구성되어 있다는 것을 느끼어 복수전공을 결심하였다. 또한 현재 내가 일하고 있는 직무나 내가 개인적으로 원하는 미래 진로에 통계데이터가 필수적인 역할을 할 것 같아 이 기회에 배워보고자 하는 생각에 복수전공을 신청하였다.
사실 경영학을 전공하며 통계학개론을 이수하였었다. 내 주전공인 생명공학을 전공하면서도 들었으니(10년도 더 전이지만..) 벌써 이번이 3번째였다. 이정도 들었으면 어느 정도 기억이 날법도 한데 교재를 펼치니 극히 초반 부분만 살짝 기억이 나고 교재 후반부 카이제곱검정, F검정, T검정 등은 전혀 기억도 나지 않고 도통 뭔 소리인지 이해하기도 어려웠다.
사실 방통대 통계학개론에 가장 만족스러운 부분은 통계학 이론들에 대한 내용이 아니라 "R" 프로그램에 대해 출석수업을 통해 실습하고 과제까지 제출했떤 점이었다. "R"이라는 것은 실험실 등에서 많이 쓴다고 듣기는 했었지만 나는 실험실과 도통 연이 없어서 전혀 다뤄본 적이 없었고 때문에 앞으로도 살면서 다룰 일이 없을줄 알았는데 통계학개론을 통해 정말 다행히도 이에 대해 배워볼 수 있었다. 출석수업 진행 교수님께서 매우 친철하게 설치방법부터 각종 설정까지 알려주셨고, 교재 내에도 이론들과 더불어 "R" 프로그램에 대해 자세히 다뤄주고 있다. 특히 각종 복잡한 검정 기법들에 대한 이론적 설명과 함께 이를 "R"내에서 어떻게 구현하는지에 대해 알려주고 있어 매우 유용하였다.
통계학개론 수업은 입문적인 내용이므로 중고등학교 수학을 배웠다면 누구나 쉽게 배울 수 있으니 현재 전공에 상관없이 꼭 들어보시기를 추천한다. 또한 컴퓨터과학과 입장에서는 코딩과 상당히 흡사한 UI의 "R" 프로그램에 대해 배울 수 있는 기회이기 때문에 반드시 수강하셨으면 좋겠다.
별점(5점 만점) : ★★★★★
총평 : 요번 1학기는 게으름을 피웠던 것에 비하면 배우 양호한 수준의 학점을 받을 수 있어 뭔가 만족스럽기도 한데 동시에 스스로에 대해 부끄럽기도 하다. 특히 알고리즘이나 인공지능 수업을 들으며 조금만 어려워지고 시간을 들여서 이해해야 하는 내용이 나오면 더 공부할 생각도 안하고 그냥 쉽게 포기하고 넘겨버렸던 것 같아 후횐된다.
하지만 이번 학기를 통해 느끼고 배운 점도 많았다. 파이썬과 "R"이라는 매우 유용한 툴을 2개나 접해볼 수 있었고, 또한 인공지능/알고리즘 등 최근 전세계적으로 주목받는 AI에 관련된 지식들을 얕게나마 이해하고 배워볼 수 있어 매우 만족스러운 학기였다. 특히 파이썬은 C언어에 개인적인 흥미와 재미가 있어 틈틈히 독학을 하고 있고, 지금 당장은 파이썬 하나이지만 앞으로 이를 기반으로 조금씩 다른 언어들로 나의 실력을 넓혀가고자 하는 계획도 세울 수 있었다.
이번 학기 나에게는 2개의 학업적으로 큰 변화가 있었다. 첫째는 앞서 말한 "통계데이터과학과" 복수전공을 신청한 것이고, 두번째는 교내 개발자 모임인 "Growth Log"에 가입한 것이다. 작년 2학기 동안에는 컴퓨터를 배워보고 싶다는 열망에만 쌓여 무작정 방통대에 입학하고 공부했었는데 사실 그렇게 이론적인 공부만 하다보니 1년 사이 회의감, 실망감, 지루함 등이 많이 쌓였던게 사실이었다. 다행히 현 "Growth Log" 회장님의 강력한 추진력으로 개발자 학회가 만들어졌고 여기에 가입하여 다양한 분야와 경력, 전공의 개발자분들을 만나고 그분들과 개발이나 IT산업 전반에 대해 이야기를 나누며 드디어 내가 배웠던 지식들을 활용하여 생각하고 또 이를 누군가와 나눌 수 있게 되어 개인적으로 매우 만족스럽고 기쁘다.
이러한 면에서 이번 학기 내가 배웠던 내용들은 앞으로 개발자 모임을 하면서 실제 활용하여 볼 수 있는 기회가 될 것이라고 생각되고, 하루라도 빨리 나도 개발자 모임의 동료분들과 이에 대해 토론하고 같이 프로젝트를 하게 되는 날이 왔으면 좋겠다.