본문 바로가기

growth-log

방송통신대 CS 마지막 학기의 후기

방송통신대의 2024년 2학기 CS막학기를 접으며, 각 과목의 강의에 대한 나의 경험을 조금 정리해 보고 올 한해를 리뷰해보고자 한다. 

 

올해 들은 과목들 

4-1 학기에는  정보통신망, 컴퓨터보안, 인공지능,데이터정보처리입문(데이터 통계학과과목이지만 CS커리큘럼에 있음), C프로그래밍, 파이썬 프로그래밍의 기초를 신청했고, 4-2 학기에는 복수전공을 고려하면서 CS는 딥러닝, 머신러닝, 빅데이터의 이해와 활용(데이터 통계학과과목이지만 CS커리큘럼에 있음)을 신청하고 데이터통계과학과 과목으로  바이오통계학, 파이썬 컴퓨팅, 데이터과학개론을 들었다. 

 

1학기 신청 과목리뷰 (아래는 정확한 과목명은 아니지만 CS이시면 다들 아실듯 ^^) 

 

정보통신망 : 손진곤 교수님이 수업하신다. 원리 위주로 파고드는 설명을 해 주시는 손교수님의 수업치고 이렇게 막~ 암기를 요구하는 과목은 처음이라 좀 낯설었다. 예전 회사에서 사내에서 서버와 네트워크를 구성하는 걸 지켜본 경험도 있고, 아주 가까운 지인이 통신회사에 근무하면서 3G, 4G 관련 프로젝트를 할때 가끔 얘기해주던 용어들을 배우게 되었다.(CIDR의 원리라던가, Wireless Fidelity의 구성의 종류, 각종 표준과 통신 방식들) 워낙 폭이 넓고 방대하다보니 깊이있는 설명을 해주시기는 어려울 뿐더러 이론 위주의 수업이라 그냥 이런 것이 있다 하고 접하는 기회이며 상당한 량을 암기해야 한다. ( 정보통신망의 뒷부분은 보안에 대한 내용이다. 같이 들으면 좀 수월할듯)

 

컴퓨터 보안 : 김진욱 교수님이 수업하시는데 내용은 큰 프레임만 흝어보는 수준으로 개념만 잡고 나간다고 보면 된다. 김 교수님은 강의력이 좋으시고 이해하기 쉽게 설명해 주신다. 보안에 대한 지식이 전무한 내가 아~ 그런거였구나 하게 되는 설명을 하시는 분이지만, 워낙 눈에 보이지 않는 부분에 대한 설명이라 와 닿지 않는 부분이 있었다. 보안은 통신에서 강력한 이슈가 있으므로 함께 듣는것을 권장한다. 

(같은 학기에 함께 편성되어 있기도 하다)

 

C : 편입 첫학기에 꼭 들어야 할 과목인것 같다. 모든 언어의 기초이기도 하고 지금은 퇴직하신 김형근 교수님이 수업하시는 영상이었는데 김 교수님의 과목은 논리회로를 들을때는 너무 지루하다고 생각했는데, 김 교수님의 세번째 과목이라 이제 적응이 되어서 그런지 .. 지난 학기에 C++을 먼저 듣고 들어서 그런지 재미있었다. 메모리 핸들링이라던가 절차적인 언어의 특징이 있는지 궁금했는데 그런 부분보단 프로그래밍 기초에 가까웠다. C가 아닌 언어들은 가비지 컬렉터를 쓰는지라 메모리 구조라던지 할당과 회수에 대해서 이 수업에서 좀 더 설명해 주셨으면 더욱 좋았을것 같다. 포인터, 주소 참조 영역은 정처기에서도 매우 까다롭게 출제되는 부분이었는데, 시각화된 설명을 통해 스스로 학습할수 있는 자료라도 주시면 좋겠다는 생각이 들었다. 

 

파이썬 : 정재화 교수님 과목이다. 1-1학기 과목이라 파이썬이라기보다는 그냥 프로그래밍 기초실습에 가까운 과목이어서 너무 재밌었고, 모든 내용을 다 코드해 봤었다. 편입 첫학기에 꼭 들으라 권하고 싶은 내용이다. 다만, 파이썬의 강점인 방대한 라이브러리에 대한 내용이 거의 없었다. 교수님께서도 이 과목은 첫학기에 프로그래밍의 전반적인 내용을 소개하는 것이라고 생각하라는 취지의 말씀을 하셨지만, 파이썬의 강점인 데이터 처리와 머신러닝에 특화된 내용이 거의 없다는 점은 개인적으로 무척 아쉬웠고 수강 후기에도 그런 아쉬움을 말씀드렸다. 

 

인공지능 : 이병래 교수님이 강의하신다. 인공지능은 자연어 처리(이 부분 이해하기 어렵다 .. 자연어처리에 대한 인지 없이 볼 때는 왜 이런 내용이 여기에 들어가 있는지 모르겠다는 생각이 들 수 있다)라던가 관련된 수행 알고리즘, 머신런으로 인기있는 각종 모델에 퍼셉트론의 기초에 대한 실습 참조자료까지 제공해주셔서 굉장히 인상깊었다.  

중간 과제의 난이도도 ㅎㄷㄷ했다. 교재를 여러번 상세하게 읽어가며 한줄 한줄 숨겨진 의미를 헤아려 트리를 열번 이상 수정했다 ( 학생회 카톡 채팅창에서는 서로 정답을 서로 비교하며 스터디해보자는 의견까지 나왔는데 충분히 이해가 갔다 )

이 교수님은 어려운 내용에 대해 좀 더 이해하기 쉬운 직관적인 설명을 해주시면 좋겠다는 아쉬움이 있지만 CS에서 가장 존경하는 교수님이라 강의하시는 과목을 빠짐없이 다 들으려고 노력했다. 이런 부분까지나(?) 싶게 다루기 어렵거나 번거로운 부분도 빠트리지 않고 다 교과에 포함시키신다. 학부가 많은 것을 고루 듣고 보는 것이라면 교수님의 방식은 진짜..  빙고 ^^~ 

 

빅데이터의 이해와 활용 : 전공에 개설된 데이터 과학과의 과목이고 데이터쪽에 관심이 생겨서 들어보았다. R에 대한 기초를 배우게 된 과목이고 교수님이 매우 친근하게 설명해주셨다. R의 실습이 매우 즐거웠고, 신기했다. 다만, 엑셀 등 문서쪽에 많은 내용이 할애되어 조금 아쉬웠다. (요즘 워낙 많이들 쓰니깐.. 통으로 강의를 띄어넘겼다가 시험에서 이 부분을 틀렸다~ ) 

 

 

2학기 신청 과목리뷰 

딥러닝 :  퍼셉트론과 기본적인 학습이론에 대해서는 이병래 교수님이, CNN과 오토인코더, GAN까지는 우호성 교수님 (대학원 교수님이라는데 강의는 처음 들었다), RNN이나 트랜스포머, LLM에 대해서는 유찬우 교수님이 (프라임칼리지 소속이시다) 수업해주셨다. 앞 부분만 강의자료 중심이고 뒷부분은 실습 코드 위주였다. 우호성 교수님 코드까지는 직접 모델링 해서 결과를 봤고 유찬우 교수님 수업하신 쪽은 너무 많은 리소스를 필요로 하고 복잡해서 다 해보진 못했다. Colab실행중에 버전이 달라져서 코드가 실행되지 않는다거나 너무 많은 리소스가 필요해서 교수님이 주신 코드가 실행되지 않는다거나 하는 문제들이 있었다. ( CPU와 GPU의 어마어마한 속도차를 실감하게 된다 )

학생들이 다양한 사전 학습 수준으로 과목에 임하다보니 간단한 버전 문제를 잘 해결하지 못하거나 코드 오류등의 문제가 많았을것 같고, 당연히 질의 응답도 많았다. 그래도 실습 위주의 수업을 해주시는 세분 교수님들이 계속  이렇게 운영해주셨으면 하는 바램이 있다. 

 

머신러닝 : 이관용 교수님이 수업하신다. 1장은 기초, 2~3장은 수학적 이론이며 (chat gpt에게 하나하나 물으면서 식을 봤고, 베이지안에 대한 책들도 구해다 읽었다) 이후에는 각종 모델에 대한 구체적인 설명과 이론이 나온다. 교수님이 이해하기 쉽도록 파이썬을 이용해 해당 모델의 간단한 예시코드도 올려주셔서 코드해봤다. 이관용 교수님은 학생들에 대해 기대수준이 있으신 분이고 강의도 무척 열정적이시고, 시험 문제도 결코 쉽지않다. ( 수강 신청시 좋은 강의 열심히 듣겠다는 마음가짐으로 심호흡 필요~ ^^ )

지나고 나니 아쉬운 점은 시험 문제의 O,X가 국어적으로 무척 애매했다. ( 분명 딥런에서 코드로 넣어봤던 부분이고 어떤 부분에 어떻게 사용하는지도 아는 파라이터나 메서드들인데 좀 애매해서 .. 이게 넓은 의미에선 맞는게 아닌가?? 싶은 것들이 있었다) 이공계열의 시험 문제는 아는 것은 확실히 맞을 수 있도록 문제 구성을 해주어야 한다고 생각한다. (개인적인 의견이다) 그리고, 사실상 독학에 가까운데 이해의 오류를 바로잡을 연습 문제나 비계가 없다는 점이 아쉬웠다.

 

바이오 통계학 : 데이터 과학과 박서영 교수님의 수업이다. 이 과목은 2학기에 편입하는 데이터 과학과 학생들을 위해 개설된 통계 기초과목이라 하였고 교수님도 심도있게 수업하지는 않는다고 하셨다. 수업을 들으면서 왜 그렇게 데이터 통계쪽 후기에서 입을 모아 강의를 칭찬하는지 이해하게 되었다. 강의도 질서정연하지만, "이게 되게 어려운 것 같은데, 알고보면 그렇지도 않습니다"는 교수님의 마력 멘트, 이건 또 뭘까? 싶은 순간에 나오는 교수님의 단호한 격려가 인상적이었다. 

 

파이썬 컴퓨팅 : 지난 학기에 파이썬을 들었기에 사실 이번 학기는 자연어 처리나 베이지언 관련된 과목을 듣고 싶었다. 그러나 자연어쪽은 교재가 없어 난이도가 가늠이 되지 않았고 베이지언은 ....알고보니 난이도로 아주 유명한 과목이어서 기초없이 듣기가 망설여졌다. 파이썬은 빅데이터분석기사 시험을 염두에 두고 있었고, 1학기 CS의 파이썬이 프로그래밍 위주여서 데이터과학과에서 개설한 내용이 궁금했다.  앞 부분의 1/4정도는 파이썬의 기본으로 내용이 겹쳐 굳히기 하는 느낌이었으나 이후 내용은 좀 달랐다. 아무래도 통계쪽이다 보니 stats나 statsmodels, scipy등 라이브러리와 데이터 프레임 다루는 법, 머신런 모델을 활용하는 기초여서 빅분기를 준비하면서 재미있게 들었다.  

 

데이터과학개론과 빅데이터의 이해와 활용 : 빅분기 시험에 도움이 될까 하여 신청하였다. 두 과목은 기업내에서 데이터의 활용에 대한 부분을 주로 알려주시고 R에 대한 실습도 겸하였으며, 프로젝트를 끌고 가는 방법과 마인드셋에 대해서도 강의해 주셨다. 예전에 외부 컨설팅이 들어와서 하던 일을 , 교과서로 다시 배우는 기분이었다. 통찰력을 가지는 것, 윤리성을 가지고 데이터를 있는 그대로 전달하고.. 너무 당연한 이야기들이지만, 실무에 들어가면 저것들이 얼마나 지키기 어려운 원칙들인가.

당장 내달 매출이 100억이 좌우되는 상황에서 어느 직원이 이건.. 우리 잘못같다고 데이터를 있는 그대로 내보내자고 상사들을 설득할수 있겠는가. 실제로 예전에 옆 파트에서 그런 일이 있었다. 국내 고객인 H에서 계속 불량이 발생해서 컴플레인이 들어왔다. 국내 S사와 지금은 이 분야의 넘사벽이 되었으나 당시에는 신생 반도체 회사였던 대만의 T사 등 어느곳에서도 문제가 없는 상황이었으나, H사에서도 일본 수입 제품에서는 문제가 없는데 우리 제품만 들어가면 수율이 하락한다고 했다. 사실상 스펙은 최소 요건일 뿐이고 서로 공정상 맞지 않는 않는 부분은 엔지니어 차원에서 협조하여 찾아야 하므로 연구소 분석팀이 투입됐는데 분석 데이터가 맥락이 없고, 고객쪽 보다는 우리 쪽 잘못인것만 같았다. 그때 직속 상사분이 연구소에서 나가는 데이터가 편집되지 않고 보고되도록 엄청 신경을 쓰시면서, "데이터에 손을 대서 맥락을 만드는 연구소는 이미 존재가치가 없다"고 하셨다. ( 차후에 이 문제는 인프라의 문제로 밝혀졌다. 일개 회사가 해결할수 없는 문제로 해당 문제가 발생할 시점에 더욱 주의를 기울이는 것으로 양사가 합의된 것으로 기억한다 )

 

올 한해를 어떻게 보냈는가 

1학기에는 정보처리기사 자격증을 위해 통신, 보안, C, 파이썬등을 들었는데, 덕분에 정처기 시험에서 전공자로서 이론쪽을 비교적 가벼운 마인드로 접근할수 있었던 것 같다. 2학기에는 머신런, 딥런, 데이터 계열과목들을 들으면서 실습 경험 차원에서 빅데이터 분석기사 시험을 쳤다. 지인이 교재를 주신 탓에 한번 시도해 봤는데, 덕분에 올해 2개의 자격증을 간신히.. (??) 겟할수 있었다. 정처기는 올해 정기기사 2회차 시험으로 5월에 필기를, 7월에 실기를 봤고, 쭉 이어서 빅분기로 9월에 필기, 11월말에 실기시험을 봤다. ( 정처기는 진즉에 합격발표가 났으며, 빅분기는 사전점수가 나와 합격예정이다 )

 

정처기는 이제 나도 전공자구나 하는 마음으로 임할수 있었으나 .. 빅분기는 통계에 기초가 없어서 노력이 많이 필요했다. 교재는 지인이 준 필기교재 하나만 썼고, 실기는 교재나 강의없이 데이터마님 블로그의 문제를 풀면서 연습해서 간신히 턱걸이로 합격했다. R과 Python이 묘하게 기능적으로 효율적인 부분이 달라서 두가지를 다 연습하느라 시간을 많이 써서 코드 연습도 깊이있게 못했을 뿐더러.. 기말에 타격을 줬다. ( 기말을 강의만 간신히 다 듣고 일주일 리뷰 벼락치기로 쳤다. 덕분에 성적은 1학기에는 4.5였지만, 2학기에는 4.0 턱걸이 ㅜㅜ )

 

올 한해가 이제 마무리되면서 뒤돌아보니 사회적으로도 그랬지만 개인적으로 매우 다사다난했다. 아직, 데이터통계를 복수전공으로 할 것인지 이제 그만 졸업을 할것인지 결정하지 못했는데 .. 새해에는 새로운 도전을 해야할것이므로.. 연말까지 Refresh하면서 심사숙고 할 예정이다.