코세라 UIUC MCS-DS 첫학기 성적이 나옴, Q&A 정리 및 한 학기 소감
마지막에 글을 쓰면서 12월 28일 즈음에 학점이 A가 나오면 추가로 포스팅을 하나 더 하고 아니면 그냥 조용히 넘어가겠다고 했었는데요, 어제 가족여행에서 돌아오는 동안 학점이 나왔습니다. CS410 수업을 하나 들었었는데 A가 나왔네요. UIUC MCS에서 grade에는 A 위로 A+가 있지만 둘 다 GPA 계산때는 4.0으로 계산되는 것 같습니다.
4크레딧 8과목에서 4XX 쪽은 B-이상, 5XX과목들은 C-이상 받아야 졸업이 되는지라, 회사에서 학비 reimbursement를 C-이상이면 해주지만 같은 과목을 두번 듣고 싶은 게 아니라면 4XX과목은 무조건 B-이상 받아야 하는 상황입니다. 학부 전공이었던 컴퓨터 공학을 졸업한 지 15년도 더 됐고 그 사이 수학이랑 친하게 지낸 것도 아닌데다가 그나마 유리한 거라고는 외국회사 다니면서 계속 영어를 썼다는 정도.. 뿐이었던 지라(그래봐야 토플 단어집 보면 모르는 단어가 반이상.. 아니 70% 이상일지도) UIUC라는 훌륭한 학교에 입학을 했다는 기대감과 설렘 반, 그리고 내가 과연 회사 풀타임 직업을 유지하면서 이걸 해 낼 수 있을까 하는 걱정이 반이었던 게 사실이었는데 그럭저럭 할만했던 것 같습니다.
혹시라도 저와 같이 이후에 UIUC MCS 혹은 MCS-DS 온라인 코스를 수강하면서 주경야독(?) 하시는 분들에게 도움이 될수도 있겠다 싶어 첫 학기를 끝낸 상황에서의 소감과 함께 학기중에 포스팅했던 글들을 보고 이쪽으로 관심이 있어서 질문해 주신 분들의 내용도 같이 정리해 볼께요. 프로젝트 및 과제 관련은 전적으로 CS410 한과목 수강 + CS425 초반 4주 수강 기준이니 참고하면 될 것 같습니다.
수학을 손뗀 지 오래 되었는데 수학 못해도 크게 상관없나요?
“수학을 못한다” 라는 기준이 사람마다 틀리고 과목마다 틀리겠지만 CS410기준으로’만’ 이야기드리자면 일단 수열의 귀납적 정의를 보고 이게 뭘 말하는 건지 이해가 가능하면 좋을 것 같습니다. CS410 은 text information system 이라 정보 검색 및 색인, 검색엔진 관련 내용 등인데 실제 뚜껑을 열어보면 여기에서 쓰이는 많은 부분들이 확률과 그 확률들의 행렬표현, 그리고 이들의 곱셈, 등등등 입니다. 이걸 일일이 자세하게 텍스트로 설명하기에는 코세라 비디오 강의의 슬라이드가 제한적이기 때문에 많은 부분들이 수열의 귀납적 정의를 이용하고 있습니다. 그리고 벡터로 표현되는 개념들이 있기 때문에 백터에 대해서도 알고 있고 기본적인 벡터 연산도 알고 있으면 좋을 것 같습니다. 당연히 행렬연산도 일부 포함되게 되므로 이 부분도… 그리고 앞에서 이야기했듯이 확률의 개념이 아주 많이 들어갑니다. 대충 주사위 두개를 동시에 던질 때 짝수가 나올 확률 홀수가 나올 확률 등등 아주 기본적인 확률에 대한 개념 정도만 있으면 수업을 따라가는데 큰 무리가 없을 거 같습니다. CS410 중반으로 넘어가면 로그에 대한 활용 예(이를테면 너무 적은 수의 연속적인 확률들의 곱을 해버리면 프로그래밍 언어에서 언더플로우가 발생하기 때문에 이를 방지하기 위해서 로그를 취한다든가…) 정도만 이해할 수 있으면 될 같고, 베이즈 확률(bayesian probability)에 대한 내용이 후반부에 나오는데 보통의 확률에 대한 개념이 있다면 혹시나 베이즈 확률을 몰랐다고 해도 이해하는데 크게 어렵지 않습니다.
아마도 가장 큰 문제는.. 행렬, 수열, 벡터, 확률 아무것도 모른다 라는 경우일텐데 이 경우라면 칸 아카데미 등에서 행렬,수열,벡터,확률에 대한 영어컨텐츠를 어느정도 소화하고 수업을 시작하는 게 좋을 것 같습니다.
영어를 잘 못하는데 수업을 따라가는데 문제가 없나요?
CS410 기준으로 과목 교수님이 Zhai 교수님인데(http://czhai.cs.illinois.edu) 영어 자체는 천천히 알아듣기 쉽게 말하지만 가끔 끝말이 흐려져서 정확히 무슨 말인지 알 수 없을 때가 가끔 있었습니다. 이건 크게 문제될 만큼은 아닌데 더 큰 문제는 실제 교수님이 비디오에서 말하는 것과 Coursera에서 표시해주는 영어 subtitle이 불일치하는 경우가 아주 많습니다. 그리고 코세라에 올라온 UIUC MCS-DS과목들의 대부분은 한국어 자막이 없을 뿐만 아니라 나중에 교수님 혹은 학우들과 이야기 할 때, 혹은 시험칠 때도 모두 영어로 소통하게 되기 때문에 설사 한국어 자막이 있다 하더라도 한국말 자막으로 수업을 들어서 도움이 될 게 1도 없습니다. 따라서 중간 빠르기 정도의 말하는 영어를 자막 없이 대부분 이해할 수 있을 수준의 영어듣기가 요구됩니다. 혹은 최소한 영어로 표시되는 자막을 실시간으로 읽으면서 이해할 수 있어야 수업을 따라가는데 문제가 없을거라 생각됩니다.
온라인 코스이기 때문에 실제로 학우들, 교수님, 그리고 TA(조교)들과의 의사소통이 대부분 piazza(북미 학교들이 많이 쓰는 학생/교사 간 의사소통 게시판 서비스?), Slack 채널, 아니면 일주일에 한번씩 열리는 office hour(zoom 이라는 서비스를 통해서 화상대화 + 챗)을 통해 이루어지기 때문에, 영어로 말하기라든가 최소한 영어쓰기가 어느정도 이상의 수준과 속도로 가능해야 정상적인 질문답변이 가능할 거라 생각됩니다.
CS비전공자인데 수업을 따라갈 수 있을까요?
전산과든 컴공이든 아니면 수학/통계학과든 어느 한쪽으로는 전공이거나 관련 분야 경력이 좀 있어야 수업이 편할 것 같습니다. 과목에 따라 틀리겠지만 프로그래밍 과제가 어느정도 있고 또 특정 프로젝트는 개인 혹은 팀을 구성해서 프로젝트를 진행해야 하는데 사용되는 언어들 혹은 라이브러리들이 C, Python, R 등입니다. 전공 무관하게 아예 프로그래밍을 해본적 없다 이런 분들은 수업 내용 따라가랴 프로그래밍 배워서 과제 하랴 아마 정신없이 바쁠거라 생각됩니다. 또한 프로그래밍 과제들이 내부 gitlab 등에 올라오기 때문에 기본적인 git 사용법 등도 요구됩니다. 하지만 수업내용 자체를 이해하는데 고급 자료구조라든가 알고리즘 등이 요구되는 건 아니기 때문에 CS전공자가 아니더라도 크게 문제될 건 없을 수도 있을 것 같습니다. CS보다는 오히려 수학쪽에 능숙한 것이 더 큰 도움이 될 수도 있겠습니다.
수업분량이 어느정도인가요? 학기에 몇과목 정도 수강이 가능할까요?
과목에 따라, 본인의 학부 및 경력 백그라운드에 따라, 또한 개인적인 사정에 따라 달라질 부분이라 케바케라고밖에 이야기 할 수 밖에 없을 것 같습니다.
한국의 일반적인 IT/SW회사(월화수목금금금에 밤 10시 퇴근?) 라면 본인이 영어를 상당수준 이상 하고 대부분의 개인시간을 수업에 할애하지 않는다면 한과목 수강하는 것도 엄청 힘들 것 같고요(CCA같은 과목 제외), 느낌상 최소한 주중에는 거의 매일 최소 한시간 이상, 그리고 주말 이틀 중 하루는 최소한 4시간 이상씩 수업내용을 익히고 소화하는데 사용할 수 있어야 합니다. 2018년 가을학기 기준으로 대부분의 수업이 16주 정도의 일정인데 그 중 2주 정도는 추수감사절 방학 및 마지막 주는 기말 프로젝트에 할당되어 있어서 실제로는 14주 정도인데, 첫주를 제외한 13주가 거의 주당 8~11개 정도의 비디오 콘텐츠가 있고, 각 비디오가 짧게는 8분에서 긴 건 30분짜리도 있습니다. 대략 비디오 개당 15분씩만 잡아도 10개 비디오를 다 보기만 하는데 최소 150분이 소요되고, 중반으로 넘어가면 한번 봐서 이해되는 경우가 많지 않기 때문에( + 퀴즈나 중간고사 기말고사 대비 한번씩 더 본다 치면) x2 하면 300분 분량의 비디오를 보고 이해해야 합니다. 주5일을 공부하는데 할애한다고 하면 단순평균으로 매일매일 비디오 보는 것만 60분씩 해야 된다는 뜻이지요. 실제로는 평소 수업때는 30분씩, 중간/기말고사때는 매일매일 서너서간씩 비디오 보고 이해하는데 쓰게 되겠지만요.
아마 칼퇴근이 가능한 근무환경이고 미혼이거나, 혹은 기혼이라도 어린 자녀가 없다면, 주말에 정상적인 사회활동도 하면서 주중에 한번 정도는 회식이나 저녁 취미활동을 하면서 3개까지도 가능할 것 같습니다. 제가 알기로 현재까지 한 학기에 가장 많은 과목을 수강한 학우는 2018년 봄학기에 mcs-ds를 시작한 학생 한명이 이번 2018년 가을 학기에 5과목(!!!)을 수강하고 졸업하는 케이스인데.. 이 경우는 풀타임 직업을 갖고 있음에도 불구하고 비교적 학업에 시간을 많이 배정할 수 있고 영어 네이티브인데다가 미혼에 자녀가 없고 젊어서 체력과 두뇌회전이 빠릇빠릇하며 기말고사 + 과제 겹치는 마지막 2주는 거의 잠도 못자고 달린 경우인 것 같습니다. 그 외에는 풀타임 잡에 자녀 5명이 있는 기혼남 학생이 CS425와 CS410을 동시에 수강한 경우가 있는데 이쪽도 보면 영어가 모국어이고 SW쪽에 이십년 넘는 경력이 있고 자녀들도 어느정도 장성해서 크게 저녁시간에 자녀를 돌보는데 시간을 할애하지 않아도 되는 경우였던 걸로 알고 있습니다.
학부 졸업한지 15년도 더 된, 영어쓰는 회사에서 그럭저럭 일하는데는 문제가 없는 영어실력을 가진, 기혼에 3살짜리 자녀 한명 있는 저는 한 과목 겨우 했습니다. 참고로 ABM이나 CS425같은 과목이 MCS-DS에서 난이도 상이라면 CS410은 중상이나 중중 정도로 평가되고 있는 것 같습니다만 이것도 학생들의 백그라운드에 따라 다 체감되는 난이도는 틀려지는 거니까요. 제가 4주까지 경험했던 CS425는 너무너무 쉬웠거든요…
그 외 변화들
2018년 가을 학기가 끝나갈 무렵에 기존 학생들을 대상으로 2019년 봄학기 등록이 진행되었는데 지금까지는 봄학기 또는 가을학기에만 가능했던 몇몇 과목들이 각각 가을학기와 봄학기에 등록이 가능해지는 것 같습니다. 그리고 추가로 몇개의 과목 추가와 머신러닝 관련 캡스톤 프로젝트(5XX)가 추가될 가능성이 보입니다.
현재까지는 커리큘럼 + 교수 + TA등의 문제 때문인지는 몰라도 특정 과목들이 특정 학기에만 열렸고 또 이 중에는 다른 수업을 듣기 위한 prerequiste과목들이 있어서 여차해서 일정이 잘못 꼬이면 한 학기나 두 학기를 아무것도 하지 못하고 기다려야 하는 사태가 발생할 수 있었는데요(이를테면 가을에만 열리는 수업 두개가 마지막 졸업을 위한 수업인데 각 수업이 너무 강도가 높아서 두개를 다 수강할 수 없는 경우 그 다음 헤 봄여름학기를 다 패스하고 가을까지 기다려야 하는), 이 부분에 대한 학생들의 불만이 꽤 많았는지 이를 해소하기 위해서 좀 더 학기별로 가능한 수업들을 늘리고 이는 것 같습니다. 또 MCS-DS와 더불어 100% 온라인인 또다른 과정인 MCS쪽에는 CS 421 Programming Languages and Compilers 같은 과목들이 추가되었습니다. 이전에도 언급했지만 온라인 코스는 MCS든 MCS-DS든 졸업시 주어지는 학위는 똑같은 CS석사입니다. MCS는 전통적인 CS과목들이 몇개 더 있고 MCS-DS는 data science쪽에 맞게 수학/통계/머신러닝관련 과목이 몇개 더 있습니다. 대략 80%정도의 과목은 동일합니다.
한 학기 끝난 느낌
학업과 배움에 욕심이 있다면 특별히 가정이나 개인 신상에 큰 변화가 생기지 않는 한 회사 다니면서 빡신 한과목 또는 적당한 난이도 두과목을 매 학기마다 진행하는데 크게 무리는 없을 것 같다는 생각입니다. 또 입학 후 5년 이내에만 졸업하면 되고 한 학기에 수업을 5개 까지도 수강할 수 있기 때문에 작정하고 풀타임 온라인 학생이 되서 한 학기에 5개씩 수업을 들으면 1년 3학기만에 졸업이 가능하고, 그렇지 않더라도 한 학기에 1과목씩 수업을 들어도 2년 반 정도면 졸업이 가능합니다.(1년 3학기, 봄 여름 가을)
개인적인 신상에 큰 변화가 없었음에도 불구하고 링크드인에 UIUC MCS-DS 과정중이라는 걸 적은 것만으로도 예전보다 훨씬 더 많은 인터뷰 제안이 오는 것 같고(물론 시간이 없어 단 한군데도 응시하거나 인터뷰 준비를 할 수가 없었지만요), 함께 공부하는 학우들이 이미 유명한 SW회사나 정부기관 등에서 일하고 있거나 학기중에도 이직/취직을 하기 때문에 인맥을 늘리기도 아주 그만인 것 같습니다. USPTO(미국 특허청?), SAP, SalesForce, 구글, 페이스북, 마이크로소프트, 오렌지카운티 sherif department, 비자, 코세라, 베리타스, 쿠팡 등등등.. 정말로 다양한 곳에서 많은 사람들이 이곳에 참여하고 있습니다. 회사 다니면서 이정도 인지도가 있는 대학교의 CS석사학위를 딸 만한곳이 크게 많지 않다는 점에서(조지아택 CS정도?) 이 코세라 UIUC MCS-DS과정 진짜 강추드립니다.