Skip to main content Link Search Menu Expand Document (external link)

Latest Posts

조지아텍 OMSCS 소개

Gatech logo

소개해요

이번 포스트는 조지아공과대학교 (Georgia Institute of Technology, 이하 조지아텍)에서 제공하는 학위 과정인 Online Master of Science in Computer Science (OMSCS)를 소개 및 추천해 드리고자 합니다.

OMSCS는 2013년 시작된 교육 프로그램으로서, 온라인에 기반하여 Scalable한 컴퓨터 과학 교육을 제공하는 것이 목적입니다. 수업은 100% 온라인으로 진행되며, 녹화된 강의 + 시험 + 퀴즈 + 프로젝트 제출로 진행됩니다.

결론적으로 말씀드리면 비용 및 교육의 질을 고려할 때 훌륭한 프로그램입니다. 다만, 한국인에게는 영어 장벽이 있습니다. 어느정도 이상의 영어 Reading, Writing 및 Listening이 학습에 필수적입니다. (Speaking은 그렇게 필요하지 않습니다.)

장점부터 이야기하면 너무 심심하니, 단점부터 짚고 넘어가보도록 하겠습니다.

단점은 무엇인가요?

  • 온라인으로 소통이 제한된다.
    네, 원격수업으로 좋은 점이 있지만, 분명히 온라인 방식으로 인한 단점이 존재합니다. 예를 들어, Group Project를 진행하는 경우 오프라인 캠퍼스라면 쉽게 모여서 진행할 수 있지만, 영어로 Zoom 미팅을 진행하는 것은 괴롭습니다. 학생들이 스스로 Linkedin 네트웍을 구성하긴 하지만 여전히 부족합니다. 저 같은 경우는 수업 중 한국인 + 한국에 있는 외국인을 만나서 네트워크를 쌓았습니다.
  • Thesis 과정이 아니다.
    기본적으로 OMSCS 과정은 Coursework 30학점을 이수하는 것으로 수료가 됩니다. 논문을 쓰고 싶다면, 수업 과제로 논문을 작성하거나 개인적으로 Contact해서 각종 프로젝트에 참가해야 합니다. (예로 머신러닝을 응용한 부정행위 예측 프로젝트 관련하여 연구원을 모집했습니다.)

장점은 무엇인가요?

  • 정규학위 과정입니다
    아니, 이게 무슨 소리냐구요? 기타 온라인 학위와 달리 전통적인 석사 학위인 Master of Science in Computer Science가 수여됩니다. 개인적으로 돈장사라 생각되는 Berkeley의 경우 Master of Information and Data Science (MIDS)가 특수 설립된 단과대 (i-School)에 의해 수여됩니다. 다만 한국에서는 버클리 인지도가 더 좋을 듯 합니다 😅
  • 학비가 저렴하다.
    2021년 Spring 학기 기준으로 등록금 + 수강료는 $841불입니다. 보통 이렇게 학기 당 1개 과목을 듣게 되면 총 10과목을 수강해야하므로 $8,410. 즉, 천만원 이하로 석사학위를 끝낼 수 있습니다.
  • 교육의 질이 좋다.
    온라인인데 교육의 질이 좋다니? 라고 생각하실 분들이 있을 듯 합니다. “녹화된 강의 + 훈련된 TA + 빠른 응답”, 위의 조합으로 저는 크게 불편함 없이 수업을 듣고 있습니다. 아니, 오히려 한국/프랑스 대학이나 기업에서 들었던 수업보다 알차게 배울 수 있었습니다. 수업마다 다를 수는 있겠지만, 평점 후기가 좋은 수업의 경우 대부분 많은 것을 배울 수 있었습니다.

누구에게 맞는 학위일까요?

커리어를 바꾸고 싶어서, 이대로는 안될 것 같아서, 석사가 좋아보여서 무슨 이유든 좋습니다만, 아래 사항은 꼭 알아두셨으면 좋겠습니다.

  • 강한 의지가 깃들어 있는 분
    온라인 과정이므로 해이해지기가 아주아주 쉽습니다. 더욱이 과정 수준도 쉽지많은 않은 편으로 저의 경우 매주 15~20시간을 학습에 할애했습니다 (모든 과목 A😎) 이 과정은 쉽지 않습니다!
  • 학사 이상의 컴퓨터 과학 지식이 있는 분
    해당 과정은 Graduate Level로 컴퓨터 언어(C, Python)나 알고리즘 분석, 선형대수, 이산수학, 확률론은 대부분 알고 있다는 전제에서 진행합니다. 해당 지식이 없다면 준비하고 입학하시는 것을 추천드립니다.

추가 정보는 아래 참조하시고, 입학 관련해서는 추가로 포스팅 올릴게요. 😋

  • 과정소개 (https://omscs.gatech.edu/home)
  • 커리큘럼 (https://omscs.gatech.edu/current-courses)

저렴하게(공짜로) 컴퓨터과학 배워보기

Issue

  • 최근 개발자 대우가 좋아지면서 주변에서 많은 후배/동료들이 소프트웨어 개발입문에 대해 궁금해하고 있습니다.
  • 패스트캠퍼스 등에서 코린이를 대상으로 한 코딩 강의가 개설되지만, 검증되지 않고 수준이 들쭉날쭉한 반면 비용은 다소 높은 편입니다.
  • 저는 다소 특수한 케이스이긴 하지만, 학부 비전공으로써 컴퓨터 과학을 제대로 다시 배우는데 어려움이 있던 것도 사실입니다.

Solution

  • 반면, 영어강의에 거부감이 없다면 저렴하게 (심지어 공짜로) 질 좋은 컴퓨터 과학 입문 강의를 들을 수 있습니다.
  • 가장 기초가 되는 파이썬, 컴퓨터 과학적 사고, 알고리즘 및 자료구조에 대한 강의를 소개해드리고자 합니다.
  1. Introduction to Computer Science and Programming Using Python
    MIT의 Eric Grimson 교수님의 강의로 MIT 학생들이 실제로 듣는 커리큘럼과 대동소이합니다. 온라인 강의를 많이 들어봤지만, 그 중에서도 손꼽힐 정도로 훌륭하게 구성되어있는 강의입니다. 강의의 질도 좋을 뿐더러, 중간중간 배치된 Quiz를 통해 복습을 할 수 있게 설계되어 있습니다.
    현재도 MIT에서 운영되는 강의이므로 추가 학습을 하고자하면 공개되어있는 Midterm/Final 등의 자료를 통해 좀더 심화학습도 가능합니다.
  2. Algorithm Specialization (Coursera)
    Stanford의 Tim Roughgarden 교수님의 알고리즘/자료구조 강의로 역시 Stanford 강의와 유사한 커리큘럼으로 구성되어 있습니다. 해당 강의는 Specialization으로 4개 강의가 묶여있는 패키지 구성입니다.강의 당 3~4주 정도 페이스로 진행하시면 될 것 같습니다.
    이 강의의 장점이자 단점은 수학적인 증명을 자주 접하게 되어, 미적분 및 행렬 개념이 익숙하지 않은 어려울 수 있습니다. 강의 페이스도 빠른 편이어서 마음을 다잡고 여러번 되돌려보시는 것을 추천드립니다.
    이외에 프로그래밍 과제도 준비되어있고 솔루션 제출하는 형식으로 언어에 대한 제한은 없습니다.
    모든 강의를 마쳐서 Specialization을 끝내면 좋겠지만, 적어도 첫번째 및 두번째 강의는 끝내시는 것을 추천드립니다. 특히 첫번째 강의는 알고리즘의 기초가 되는 Big-O 및 정렬과 탐색에 대해 배우는 부분으로 많은 도움이 됩니다. Specialization 이름이 알고리즘으로 되어있지만, 자료구조도 함께 다루는 강의입니다.

이 외에도 Datacamp, Codeacademy에서 Interactive한 강의 솔루션을 제공하고 있지만 내용의 수준이 낮아 컴퓨터과학 입문이라기보다는 Python/R 등의 언어를 배운다는 느낌으로 생각하시면 될 것 같습니다.

위 2개 강의 모두 무료이지만 추가로 돈을 지불하고 인증서를 받을 수도 있습니다. 저는 두 개 모두 인증서를 받았는데 돈이 아깝다는 생각에 아주 공부가 잘 되더라구요 😅


Google Colab에서 Copy 사용하기 (iOS)

Issue

Google Colab은 클라우드 기반의 Jupyter Notebook 시스템으로 무료로 사용할 수 있는 GPU를 제공해주어, Machine Learning 학습에 많은 도움이 됩니다. 그러나 iOS (iPhone/iPad) 에서는 코드 입력창 Copy가 되지 않아 불편한 점이 생기게 됩니다 (Colab의 자바스크립트와 iOS Copy 메소드 충돌). Output에서는 Copy가 잘 되는 점을 이용해서 아래와 같이 코드 Copy를 진행할 수 있습니다.

Solution

try:
    import google.colab
    IN_COLAB = True
except:
    IN_COLAB = False

if IN_COLAB:
    from IPython.core.magic import register_cell_magic

    @register_cell_magic
    def printcell(line, cell):
        print(cell)

제 경우 Colab과 Local 환경을 동시에 사용하는 경우가 있어, Colab 환경에서만 작동하도록 IN_COLAB 변수를 정의하였습니다.

Cell magic function인 printcell을 코드 cell 첫 번째 줄에서 호출(%%printcell)하게 되면, output cell에 코드 내용이 출력되고 해당 부분을 선택하여 copy가 가능합니다.