POCU 아카데미 COMP1000 소프트웨어 공학용 수학 수강 후기 + 수강 팁

반응형

POCU-아카데미-수학-comp1000-로고
COMP1000 소프트웨어 공학용 수학

 

내가 더 멀리 보았다면 이는 거인들의 어깨 위에 올라서 있었기 때문이다. ~ 아이작 뉴턴

 

일러두기

  • 필자의 POCU 아카데미의 전반적인 시스템에 대한 리뷰는 바로 아래 링크에서 확인하실 수 있습니다.
  • 본문중의 [COMP1000]은 [COMP 1000 소프트웨어 공학용 수학] 과정을 의미합니다.
  • 본 리뷰는, 포큐아카데미 COMP1000 풀코스(강의+정규 학기)를 기반으로 작성된 리뷰입니다.

 

서문

작년 POCU 전과목 수강을 목표로 삼은지 벌써 2학기(8개월)가 흘렀습니다. 2020 1월학기에 [COMP1500 실무 프로그래밍 입문 (C#)] 과정을 수강하고 2020 5월 학기에 [COMP1000 소프트웨어 공학용 수학] 과정을 15주에 걸쳐 마무리하였습니다. 이렇게 총 12과목 중(현재 열린 강의는 5개) 2과목을 수강했네요. [COMP1000] 과정을 리뷰를 시작합니다.

 

포큐-아카데미-커리큘럼-필자의-수료과목
포큐아카데미는 총 12개의 과정으로 구성되어있다. 갈길이 먼 coldMater

 

저는요 (리뷰 필자 소개)

굳이 필자의 환경을 소개하는 이유는, 포큐 아카데미를 독자분의 환경과 비교하시어, 수강 결정에 도움이 되었으면 하는 마음에서입니다. 본 리뷰의 주제와 관련이 제일 적은 부분이기에 스킵하셔도 됩니다.

포큐아카데미와의 인연

본인은 80년대 후반에 태어나, 이과출신이지만 컴퓨터공학을 전공하지 않은 비전공자로서, 20대 후반 개발자의 길을 결심하고 생활코딩을 통해 살짝씩 코딩을 맛보다가, 서른즈음에 국비지원 개발자 양성 과정을 통해 프로그래밍을 시작했습니다. 현재 비수도권의 작은 스타트업에서 풀스택(잡부)으로 일하고 있는 경력 3년차가 된 개발자(여전히 지망생, 마음만은 청춘)입니다.

 

한참 프로그래밍에 관심을 가져가던 2016년 경 어느 따사로운 햇살이 가득하던 날, 유튜브의 알고리즘의 인도를 받아 `프로그래머가 수학을 못하면` 이라는 포프TV의 영상을 시청하게 된 것을 계기로, 포프학파에 입문 및 포프TV를 구독하게 되었고, 이후 포프TV를 취미삼아 학습과, 정신수양을 병행하던 도중, 문득 포프같은 선생님에게 개인지도를 받으면 얼마나 좋을까(feat. 이수영) 생각하던 찰나 포큐아카데미 런칭 소식을 듣게 됩니다.

 

포큐아카데미의 런칭 소식을 들은 저는 희망에 부푼 기쁜 마음과 동시에 가격에 놀라고(솔직히 까음짝 놀라버림) 수강 결정을 1년동안 망설이다가(고민의 흔적 자세히 보기), 지방 개발자가 무슨 대수가 있겠냐싶어 POCU 아카데미의 선진 시스템을 체험이라도 해보자며 2020 1월 학기에 [COMP1500 실무 프로그래밍 입문 (C#)] 풀코스를 이수하고 연이어 2020 5월 학기 [COMP1000] 소프트웨어 공학을 위한 수학을 수강해버린 포큐아카데미 1학년 신입생입니다.

수학러 워너비

수학에 관해서라면, 저는 매우 수학을 좋아합니다. 수학을 좋아했으나, 고등학교 수학 성적은 중상위권정도(다른 친구들이 잘한거......)였을 뿐이었고, 대학에서 물리학을 주로 공부하고, 아르바이트로 수년간 중학교 및 고등학교 학생들에게 수학을 가르쳐본 경험이 있습니다. 수학적 이슈에 관심이 많으며, 수학 관련 유튜브 채널을 구독하며 열렬히 수학러(?)가 되고자 노력하고 있습니다.

 

이 리뷰를 그래도 조금은 수학에 관심이 있는 개발러(?)가 썼다는 점을 강조하면 글을 보다 효과적으로 이해하게 되시지 않을까 싶어서요.

 

COMP1000 수강하지 말아야 할 이유

[COMP1000]을 수강해야할 이유에 앞서 [COMP1000]을 수강하지 말아야 할 이유부터 살펴보죠. 

단순 코더라면(feat. 코드몽키)

먼저 프로그래머가 수학을 꼭 배워야할까요? 저는 어떤 프로그래머가 되고자 하느냐에 따라 그 답이 달라질 수 있다고 생각합니다. 컴퓨터는 수를 다루기 위해 만들어졌고, 컴퓨터는 뚜렷하게 수학을 기반으로 동작합니다. 곧 프로그래밍을 잘 하기 위해서는 컴퓨터를 깊이 이해해야 하는데, 그 이해에 수학이 필수적이라는 것은 어쩌면 당연한 사실이지요.

 

하지만, 요즘에는 컴퓨터의 저수준까지 아우르는 온전한 이해 없이도 컴퓨터를 활용하여 누구나 프로그래밍을 할 수 있는 시대가 되었습니다. 간단한 튜토리얼을 학습하는 것으로 앱, 웹, 그리고 게임 등 본인이 원하는 결과물을 손쉽고 그럴듯하게 만들어낼 수 있게 된 것이죠. 그렇게 간단한 서비스를 만드는데 꼭 수학이 필요하진 않을 것 같습니다. 그러다 수학이 필요해지는 순간 수학을 배워 사용하면 그만이지요.

 

이런거 링크거는거 꼰대같지만 에잇...툭..

선수조건이 갖춰지지 않았다면

Prerequisite

이 글을 읽는 독자분께서 이제 갓 프로그래밍에 입문하려고 한다면, 먼저는 개발의 세계를 경험할 수 있는 다양한 체험들을 먼저 해보는 것이 오히려 좋을 수도 있다고 생각됩니다. COMP1000을 수강하기 전에도 개발의 세계를 체험하는 데는 무리가 없습니다(참고: [COMP0000 왕초보 프로그래밍]). 수학이 프로그래밍에 도움이 되는 것은 사실인것처럼 보입니다. 그렇다고 지나친 수학의 강조는 오히려 프로그래밍에 대한 흥미를 떨어뜨릴 수도 있다고도 생각합니다. POCU 아카데미 과정에서도 [COMP1000] 과정 이전에 [COMP1500 실무 프로그래밍 입문 (C#)] 과정이 존재한다는 것이 그 사실을 뒷받침하죠.

코딩이 낯설다면

코딩이 낯선 상태라면, 아직 [COMP1000]을 풀코스(정규과정)를 수강할 단계가 아니라고 생각합니다. 그러한 상태에서 [COMP1000] 풀코스를 수강한다면, 본 과정을 불친절하다고까지 느끼실 수도 있습니다. 사실 풀코스의 첫 번째 과제가 코딩좀 한다는 사람들에게 던지는 도전장같았달까요.

 

또한, 프로그래밍 입문 과정 정도의 코딩에 익숙한 상태라야 이해가 될 수 있는 부분도 더러 존재합니다. 따라서, 아직 코딩이 낯설다면 [COMP1000] 수강을 심사숙고하여 결정하시는게 어떨지 조언드려봅니다.

A to Z 를 원한다면

[COMP1000] 코스는 Visual Studio(코드 아님 주의)를 사용하여 진행됩니다. 해당 IDE 를 사용하는 방법에 대해서는 정규 코스에서는 가이드해주지 않는다는 사실에 유의하세요. [COMP1000]은 밥상(JMT인건 안비밀)만 차려준답니다.

 

이 부분에 대해서 POCU 아카데미는 다음과 같은 입장을 취하고 있습니다. 구글링 잠깐만 해도 넘쳐나는 정보들을 어떻게 돈을 받고 알려주냐라는 것이죠. 실제로, 과제와 실습을 해결하기 위해서 구글링을 해야만 히는 경우도 있습니다.

 

본 과정이 패스하기 위해 모든 내용을 알려주길 기대한다면, 그 또한 수강하지 말아야 할 이유가 될 수 있겠습니다.

아는 것만으로는 충분하지 않다. 적용해야만 한다. 의지만으로 충분하지 않다. 실행해야 한다. ~ 괴테

이미 수학에 정통하다면

본인이 프로그래밍을 하는데 필요한 충분한 수학적 기반을 갖추고 있다면, 역시 [COMP1000]을 수강할 이유는 없다고 생각합니다. [COMP1000] 을 수강하기에 충분한 수학적 기반을 갖추고 있는지 판단할 수 있는 객관적 지표가 없기 때문에, 제가 직접 (주관을 가득 담아) 만들어보았습니다. 다음 자가진단표를 참고하여 본인이 [COMP1000] 을 수강해야하는지 직접 판단해보세요.

 

아래 자가진단 리스트는 본 리뷰어가 수강내용의 일부를 가지고 주관적으로 재구성한 것이며, 포큐아카데미가 제시하는 공식적인 수강 기준이 아님에 유의해주세요.


COMP1000 수강 적절성 판단을 위한 자가진단 by.coldM8er

 

  1. 길이가 특정되지 않은 2진수를 프로그래밍을 활용하여 10진수로 변환할 수 있다.
  2. IEEE754 부동소수점형으로 주어진 비트패턴을(2진수) 가지고 사칙연산을 수행할 수 있다.
  3. 배열(원소: String)로 주어진 두 집합의 합집합, 교집합, 여집합, 차집합을 계산하는 함수를 작성할 수 있다.
  4. 다음 불 대수를 연산할 수 있다. AB` + ABC` + ABC
  5. 수학에서의 논리가 프로그래밍을 할 때 어떻게 활용될 수 있는지 설명할 수 있다.
  6. 연역적 탐구방법을 디버깅에 활용하여 에러를 해결할 수 있다.
  7. 비트연산자를 활용하여 변수 a 와 b 를 swap 할 수 있다.
  8. IPv4에 비트마스킹이 활용된다는 내용을 기반으로 서브넷마스크의 역할을 설명할 수 있다.
  9. log(n) 의 복잡도로 정렬된 배열에서 특정 원소의 위치를 찾는 알고리즘(코드)을 작성할 수 있다.
  10. 1부터 n개의 홀수의 합이 n² 임을 수학적 귀납법으로 증명할 수 있다.
  11. 2차원 벡터를 n배만큼 확대하고 θ만큼 시계방향으로 회전한 결과를 계산할 수 있다.
  12. 주사위 2개를 던져 나온 눈의 수의 합이 8이 될 확률을 이항분포를 활용하여 설명할 수 있다.
  13. 해시함수가 인증과정(로그인)에서 비밀번호를 안전하게 저장하는 원리를 설명할 수 있다.
  14. 대한민국 전체 국민의 몸무게의 평균과 표준편차가 주어졌을 때, 정규분포(normal distribution)와 표준정규분포표를 활용하여 내 몸무게가 상위(또는 하위) 몇 %인지 계산할 수 있다.
  15. 본인이 작성한 코드(2중for문, 재귀함수 등)의 시간복잡도를 추측할 수 있다.

 

반응형

 

COMP1000 수강해야만 하는 이유

사고력 엔진 COMP1000

당신은 맨발로 마라톤 경기에 출전했습니다. 뛰기 시작하는데 눈 앞에 러닝슈즈가 놓여있습니다. 지나치시겠습니까? 단지 뒤처진다는 이유로 러닝슈즈 장착을 포기하실건가요?

 

지식의 성장은 사실 위에서 소개한 비유보다 극적입니다. 지식이 성장하는 속도는 기존에 갖고 있던 지식의 양에 비례합니다. 곧 학습 능률은 다른 지식과의 접점이 많을수록 높아지죠. 때문에 현재 갖고 있는 지식의 양의 차이가 적더라도, 복리의 마법처럼 시간이 지날수록 차이가 기하급수적인 벌어지게 됩니다. [COMP1000]이 이런 역할을 해줄 수 있다고 생각했고, 수강을 결심하게 되었습니다.

 

어느 유명한 대학에서는 신입생에게 Learning How to Learn 이라는 과목을 가르친다고 하는데요. 배움을 위한 배움. 곧 [COMP1000] 이 그 역할을 하고 있다고 생각합니다.

 

악기를 배우기 위해 레슨을 받다보면 자세 등의 기본기가 중요하다는 말을 자주 듣게됩니다. 어느정도 실력이 쌓이고 난 뒤, 그 다음 레벨으로 넘어갈 때 기본기가 원동력으로 작용하기 때문입니다. 드럼을 배우러 갔는데 3개월을 타이어만 쳤다라는 어느 기억 속 동네 아는 형의 전설이 기억나는데요. 그만큼 기본기를 쌓는 것은 인내와 끈기가 필요한 유쾌하지만은 않은 경험일 수 있습니다. 하지만 반드시 필요한 과정이지요.

드래곤볼-캐릭터들이-정신과-수련의-방에-관해-대화하는-모습
기분탓만은 아니었을거야...

Detector, 지식 판별 판정기

[COMP1000] 수강 중에 신기한 체험을 하나 했는데요. 업무 중 프린터가 네트워크상에서 주고받는 통신내용(패킷)을 분석해야 할 일이 있었습니다. HTTP 형식이라서 어느정도 구글링을 하면서 해석이 되었지만, 문제는 숫자로 이루어진 특정 값이 해석이 되지 않아 애를 먹고(회사명과 함께 해당 숫자로 구글링만 주구장창 했었드랬죠) 있었습니다. 문득 얼마 전 [소프트웨어 공학용 수학] 강의에서 배운 문자열 인코딩 방식이 생각났고, 해당 문제를 해결할 수 있었습니다(단지 ASCII 였을 뿐이었던건 함정). 별거 아닐 수 있어보일 수 있지만, 이렇게 [COMP1000]을 수강하기 전에는 보이지 않던 것들이 보이기 시작했습니다.

 

금년 7월에 윈도우의 키입력을 바꾸는 글을 포스팅했었는데요. 포큐에서 배운 엔디언이라는 개념을 몰랐다면, 아마 지금도 왜 안되는지 이해하지 못한채 기억 속에서 사라졌을겁니다. 그렇게 보이지 않던 것이 보이기 시작하자 영화 매트릭스가 생각나더군요. 네오가 각성하던 그 순간. 매트릭스가 매트릭스로 보이기 시작(?)하는 그 장면말이죠.

매트릭스-영화-네오가-세상을-디지털코드로-보게되는-모습
보인다!! 보인다구!!

 

컴퓨터 세계를 이전보다 더 잘 보고 이해할 수 있다는 것은 그만큼 신나고 흥분되는 경험이었습니다. 보이지 않던 것이 보이게 되는 경험을 [COMP1000] 을 통해 이 리뷰를 읽으시는 분들도 느껴보셨으면 좋겠네요.

소프트웨어 공학을 위한 수학

말 그대로, 소프트웨어 공학을 위한 수학만을 액기스화하여 전달하기 때문에, 프로그래밍을 하는데 필요한 수학을 효과적으로 학습하실 수 있다고 생각합니다. 수포자였다고 고등학교 수학 전부를 다시 공부할 필요가 없다는 뜻이며, 1000페이지에 달하는 이산수학 전공 서적을 정독할 필요가 없다는 뜻입니다.

 

수학을 공용어로 하는 소프트웨어의 나라에 사는 현지 여행 가이드가 풍부한 이야깃거리와 함께 맛집과 랜드마크들을 소개시켜주는 느낌이랄까요. 실습과, 과제는 여행 중 즐길 수 있는 액티비티로서 그저 보기와 듣기로 끝내지 않고, 직접 해볼수까지 있는것이지요. 분명 자유여행의 느낌은 아니지만, 어디로 갈지몰라 헤매는 방랑자에게는 큰 도움이 되지 않을까 싶습니다.

 

본 내용은 아래 [COMP1000]이 커버하는 수학의 영역]에서 더 자세히 다룹니다.

 

삼각플라스크에-담긴-올리브유
액기스만 추출하여 구성한 희귀강의, 에일리언을 갈아 만들었다는 소문이 있다. 

합리적인 가격이기에

서문에서 처음 포큐아카데미의 과정들을 보고 깜짝 놀랐다는 표현을 썼었는데요. 많은 온라인 강의들이 저가정책으로 적게는 수만원에서 많아봐야 10만원 초반대의 가격을 형성하고 있고, 양질의 무료 컨텐츠들이 유튜브를 비롯한 많은 플랫폼에서 제공되고 있기 때문에 그렇게 느꼈던 것 같습니다.

 

그러한 컨텐츠들 중에서 가성비가 높은 강의들이 있기도 하죠. 하지만, 본인들이 생산한 컨텐츠에 책임을 지는 과정이 얼마나 될까라는 질문을 던져보면 어떨까요? (타사의 컴퓨터공학 강의를 구매한 적이 있는데요, 이건 이야기하면 눈물나니까 하지 않을래요.ㅠㅠ)

 

현재, [COMP1500]에 이어 [COMP1000] 과정을 수료하고 나서는, POCU 아카데미 가격정책이 너무 비싼건 아니야? 하는 생각이 사라졌다는 것입니다. 앞으로 남은 10개의 강의도 스트레이트로 들을 수 있을 만큼, 시간적인 여유가 없을 위기만 찾아오지만 않길 바랄 뿐입니다.

 

이전 리뷰에서 1M원에 달하는 참가비용을 합리적인 가격이라고 느끼는 내용을 썼었는데요, 이전 리뷰 링크에서 확인해보시길 바랍니다. 저도 아무래도 서민인지라 한번에 0.01억원에 해당하는 돈을 한꺼번에 내는것은 부담이 되기 때문에 한 달에 25만원씩 적금을 부을 포큐아카데미 수강용 통장을 만들어볼 예정입니다.

 

최근 가격정책에 조금의 변화가 있었다고 하는데요. 풀코스(정규코스) 비용을 80만원으로 인하하고, 강의 비용을 22만원으로 고정했습니다(가격 정책 변경 관련 포큐 아카데미 공식 포스팅). 지금 당장은 할인정책이 많이 없지만, 현재 POCU 운영진들도 다양한 방법으로 합리적인 가격 정책을 위해 노력하고 있다고 합니다. 좋은 할인정책 많이 많이 만들어주세요!! :D

 

포큐-가격정책-상하-비교-밈
부디 집중할 것에 집중할 수 있는 지혜를...🙏🏼

의지를 북돋워줄 무언가가 필요하다면(feat. 가격)

수학을 배워야겠다고요? 고등학교 문제집을 다시 사서 풀거나, 요즘에는 유튜브가 잘 되어 있으니 유튜브를 통해 공부를 하는 것도 좋은 방법이겠네요. 응원합니다.

 

하지만, 그렇게 마음먹고 실행하는 의지가 문제가 되는 경우를 자주 보았고, 스스로도 장담할 수 없는 부분이기도 하지요. 사실 의지는 문제가 아닙니다. 작심삼일이라는 말이 의미하듯, 의지는 순간을 책임져줄 뿐, 장기적인 목표를 이루는 데에는 의지만으로는 부족하죠. 곧, 내가 움직일 수 있는 환경을 조성하는 것이 굉장히 중요합니다.

 

학교에 우리가 금액을 지불하는 이유는, "학사관리(Learning Management System)"라는 것을 해주기 때문입니다. 강의를 제공해주는 대가로 등록금을 내는것도 맞지만, 학교에서 제공하는 학사관리 시스템의 혜택을 받고자 등록금을 제공하는 것이죠. 학생은 스스로 공부하도록 강제하기 위해 학교에 돈을 지불한다는 이야기입니다.

 

일반 강의들은 금액을 지불하고 여전히 본인의 의지를 활용하여 강의를 들어야만 합니다. 목표와 계획도 학생 스스로 세워야하죠. [COMP1000]을 비롯한 포큐아카데미에서는 어떨까요? 포큐 아카데미는 단순히 강의만 제공하는 것으로는 서비스 제공자의 의무를 다했다 생각하지 않은 것 같습니다. 강의만으로 온전한 학습이 되기가 어렵다는 사실을 간파한거죠.

 

과제의 방식도 과연 혁신적이라고 할 수 있습니다. (과제,실습방식 동영상링크?) 철저하게 설계된 시스템(빌드봇)에 의해 14주의 과정 중 3주에 하나씩 진행하는 4개의 과제와 주별로 1개씩 진행하는 11개의 실습을 제출하는 순간 피드백 및 채점을 받을 수 있으며, 사실상 제한 없이 과제를 제출할 수 있습니다. 이 시스템이 돌아가게 하기 위해서 1개 과제에도 적게는 20~30개에서 많게는 70~80여개의 예외상황을 가정해놓아, 과제를 제출하는 순간 그 예외를 잘 처리하고, 정답을 도출해냈는지 검증하는 시스템입니다. 즉, 학생 스스로, 정답을 도출해낼때까지 문제의 원인을 스스로 정의하고 해결할 수 있는 능력까지 길러주는 것이죠. 바로 포큐아카데미가 자랑하는 "업계처럼" 시스템입니다. 교육과 동시에 현업의 방식으로 실습과 과제를 진행해볼 수 있죠.

 

포큐-학습-프로세스
포큐아카데미의 "업계처럼" 과제 및 실습이 진행되는 방식

 

어쩌면, 코딩 및 프로그래밍 관련 강의가 넘쳐나지만, 프로그래밍을 위한 수학 과정을 찾아보기는 쉽지 않습니다. 포큐아카데미에서 수학 과정을 마련했다는 것은 포큐의 진짜 프로그래머를 양성하겠다는 강력한 의지로 해석해도 되지 않을까요?

진정한 실력

포큐아카데미에서 공식적으로 소개되고 있는 내용이기도 합니다만, 포큐아카데미는 인가된 교육기관이 아닙니다.

 

자격을 증명하기 위한 방법은 2가지가 있다고 생각하는데, 하나는 과정에 대한 증명이며, 나머지 하나는 결과에 대한 증명입니다. 예를 들어 정보처리기사같은 경우, 결과의 증명에 해당합니다. 한때, 기출문제를 풀어보는 것만으로도 합격에 가까워질 수 있었죠. 그런 식으로 어설프게 검증될 수 밖에 없는 자격이 갖는 의미는 더욱 희미해질것이라고 전망됩니다.

 

포큐아카데미를 수료한다는 것의 의미는, 정해진 달성 과제 및 시험을 꼼수 없이 통과했음을 의미합니다. 또한, 실제 실력을 갖춘 사람만이 통과할 수 있도록 설계되어 있다고 생각하는데요. 곧 포큐아카데미를 통과했다는 것은 과정에 대한 증명도 포함하는 것입니다.

 

대부분의 자격증이 실제 능력과 실력을 증명하지 못한다는 사실은 점점 더 힘을 얻어가는것만 같습니다. 진짜가 인정받는 시대가 점점 다가오고 있는 만큼, [COMP1000] 을 통해 얻은 수학적 지식은 다른 어떤 자격보다 의미있는 실력이 될 것이라고 생각합니다. 무엇보다, 스스로 진짜 실력을 갖춤으로써 스스로에 대한 자존감이 높아지는 경험을 할 수 있었습니다.

수학이라 쓰고 소통이라 읽는다

[COMP1000]은 프로그래밍 능력의 논리적 기초를 쌓는 의미도 가진 과목이지만, 이 과목이 지향하고 있는 또 다른 목적은 협업 과정에서의 소통을 위함이기도 합니다. 이 과목은 수학의 이름을 갖고 있지만, 강의 중 특별히 강조하는 것이 과학적 사고방법인데요. 이 방법으로, 주관성을 최대한 배제하고 객관의 언어를 활용하여 소통의 효과를 극대화할 수 있습니다.

 

물론, 그러한 능력이 강의를 본다고 해서 뚝딱 만들어지지는 않을거라고 생각합니다. 다만, 적어도 어떻게 해야 내가 가진 의견이나 사실을 원활하게 전달할 수 있을지에 대해 고민해보고, 조금씩 논리적이고 과학적으로 사고하고 소통하는 습관을 들인다면 통하는 개발자가 될 수 있지 않을까요?

왼쪽-위를-향하고-있는-물리학-교수가-사과를-들고
물리학자 막스 테그마크

얼토당토 않게 들리겠지만,
우리의 물질세계가 수학으로 기술될 뿐만 아니라 물질세계 그 자체가 수학이다.

~ 도서 [도서 맥스 테그마크의 유니버스] 의 "실체란 무엇인가" 중

 

COMP1000이 커버하는 수학의 영역

강의에서는 소프트웨어 공학자로서 알아야 할 수학의 액기스만을 선별하여 제공합니다. 동영상 강의로 이론을 학습했다면, 실습과 과제를 진행하며 배운 내용을 직접 적용하여 문제를 해결해볼 수 있습니다. 수학을 지식에서 그치지 않고, 수학을 도구삼아 적극적으로 활용할 수 있도록 과정들이 구성되어 있었습니다.

수학의 지도와의 비교

2017년 유튜브에는 수학의 지도(Map of Math)라는 이름의 영상이 있습니다. 수학이 다루는 다양한 서브 주제들을 하나의 지도처럼 표현하고 있는데요. 이 지도를 활용하여 포큐에서 다루고 있는 수학의 분야를 살펴볼까요?

 

수학의 지도 원본(원본 이미지 링크)

수학의-지도
The Map Of Mathematics, by 유튜브 채널 Domain of Science

위 지도에서 [COMP1000] 에서 다루는 수학의 영역을 하이라이트 해보면 다음과 같습니다.

포큐아카데미가-수학의-지도에서-차지하는-영역
COMP1000이 다루는 수학의 영역

대한민국 정규 수학 과정이 다루는 범위는 아래와 같습니다. 간혹 프로그래밍 커뮤니티에 수학을 공부하는 방법을 묻는 질문에, 일반적으로 고등수학정도를 공부하는 것이 좋다고들 하는 이야기를 듣곤 합니다. 하지만 보시다시피 [COMP1000] 에 비하면 상당히 많은 분량을 차지하고 있다는 것을 알 수 있죠. [COMP1000] 이 소프트웨어 공학을 위한 수학이라는 가정을 참이라고 한다면, 중-고등수학이 커버하는 범위는 당장 소프트웨어 공학에 활용되지 않는 범위이기도 합니다. 특히, 수학하면 떠오르는 미분과 적분은 [COMP1000] 에서는 언급정도만 되지만, 고등수학에서는 수학의 꽃이라고 불리우며 중요하게 다뤄지죠.

대한민국-정규-수학-과목이-수학에서-차지하는-영역
대한민국 중고등학생들이 배우게 되는 수학의 영역

타 대학과정과의 비교

이산수학을 다루는 도서와의 비교

일반적으로 컴퓨터공학과라고 알려진 대학교과정에서는 수학을 어떻게 다루는지 간략하게 살펴보겠습니다.

 

먼저 한국의 대학교에서는 "이산수학"이라는 이름으로 컴퓨터를 위한 수학의 기초를 학습하는걸로 알고 있습니다. 이산수학에서 다루는 수학의 영역과 [COMP1000] 의 수학이 많이 닮아있습니다. [COMP1000]은 보통의 이산수학에서 다루는 논리, 집합, 증명, 확률 그리고 선형대수의 내용을 포함합니다.

 

[COMP1000]에서는 특히 컴퓨터에서 수를 다루는 방식(비트패턴 다루기)과 논리와 확률에 힘을 실은 모양새입니다. 또한 보통 이산수학의 목차에 포함되는 그래프, 트리, 알고리즘 영역은 신설될 [COMP2300 알고리즘 - 2020 8월 현재 미개설] 과정에서 깊게 다뤄질거라고 예상됩니다.

 

[COMP1000]에서는 일반 대학의 이산수학의 내용 전부를 장황하게 다루지 않습니다. 중요한 부분에 집중하고, 덜 중요하거나 다른 과정에서 깊게 다룰 내용이라면 과감히 건너뛰는 구조입니다. 보통 대학교에서 전공서적 앞에서 느끼는 압도감때문에 이도저도 못하는 상황이 생기곤 하는데요. [COMP1000] 의 총 강의 시간은 약 30 시간으로, 1주에 약 2시간 30분정도의 수강시간과, 그 외 실습과 과제에 드는 시간을 넉넉잡아 6시간 정도를 포함하여 한 주에 10시간 남짓한 시간을 할애할 수 있다면 수강을 하는데 시간적인 어려움은 없을것이라 보입니다. 포큐아카데미의 COMP로 구분되는 한 과정은 보통 대학교에서의 6학점에 해당하는 분량의 강의라고 하니 참고하시길 바랍니다.

주요 컴퓨터공학과에서 다루는 수학

끝으로, 우리나라의 대표 대학인 S대와 미국의 대표 공대로 잘 알려진 M대에서는 수학을 언제 배우는지, 그리고 수학에서 무엇을 배우는지 간략히만 살펴보겠습니다.

 

먼저 미국 M대입니다. Computer Science and Engineering 학과의 로드맵을 살펴보면 Descrete Math(이산수학)가 있는 것을 확인할 수 있습니다. (현재는 Mathematics for Computer Science 로 강의명이 변경된 것 같습니다. - 링크).

MIT-대학교-컴퓨터사이언스-로드맵
MIT Computer Science and Engineering 로드맵

대중에게 공개된 강의 플랫폼인 MIT Open Learning Library 의 Mathematics for Computer Science를 기준으로 살펴보면 Proofs, Structures, Counting, Probability 의 단원들로 구성되어있는 것을 확인할 수 있습니다. (과정 살펴보기)


다음은 S대의 컴퓨터공학부에서 제공하는 선수교과목 구조입니다(링크). 이산수학이 전공필수이자 많은 교과목들의 선수교과임을 확인할 수 있습니다 .

서울대학교-컴퓨터공학과-선수교과목-구조
서울대학교 컴퓨터공학과 선수교과목 구조

이산수학을 소개하는 페이지에서는 다음과 같이 이산수학을 소개하고 있네요.

이 과목에서는 컴퓨터공학과 밀접하게 관련된 수학적 내용들에 대하여 배운다. 논리, 집합, 함수, 관계, 가산성, 조합론, 증명기법, 수학적 귀납법, 재귀함수, 재귀관계, 그래프론, 정수론 등에 대하여 다룬다. 또한, 이러한 수학적 개념들이 컴퓨터공학에서 어떻게 쓰이는지에 대해서 살펴본다.

 

COMP1000 정규학기 특징 +Tip

정규학기를 수강하시면, 강의 내용을 기반으로 실습과 과제 그리고 시험을 진행하게 됩니다. '풀코스'라고 지칭하기도 합니다.

실습 및 과제 소개

4개의 과제, 11개의 실습, 2번의 시험

 

(코스 통과 기준에 관해서는 이전 리뷰를 참고해주세요.)

 

학창시절 숙제, 시험이라고 하면 좋아할 사람은 별로 없을겁니다. 하지만, 자기계발을 하고자 마음먹은 저에게 포큐아카데미의 과제, 실습, 시험은 유용한 서포터였습니다. 강의를 듣고, 습득한 지식을 직접 활용해볼 수 있어서 수학적 지식이 머릿속에 자리잡도록 도와주는데요. 가령, 강의를 통해 10진수와 16진수 사이의 변환법을 배웠다면, 해당 변환법에 대해 익숙해질 수 있도록 충분한 연습문제와 함께 코딩으로 10진수와 16진수를 변환하는 과제를 제공받는 식입니다.

 

많은 강의들이 "공부는 알아서들 해, 강의는 해 드릴게" 라는 식으로 제작되어있는 반면, [COMP1000]에서는 해당 지식을 반드시 챙겨가도록 그물을 치는 것을 도와주는것이죠.

앉아-대사를-하는-캐릭터
현존하는 일반 인터넷강의들의 일반적인 스탠스

포큐아카데미에서는 기본적으로 과제와 실습을 코딩으로 진행합니다. 수학과목에는 특별히 코딩과제 외에도 특별한 2가지 형태의 과제가 존재합니다.

연습문제 형태의 실습

주어진 10개의 문제를 시간 제한(보통 30분) 내에 풀어내야 합니다. 제한 횟수는 무제한이며, 문제의 형식은 동일하나, 재도전 할 때마다 문제의 숫자가 달라집니다. 따라서, 다시 도전할 때마다 알고 있는 문제는 더욱 익숙해지고, 모르거나 틀렸던 문제는 더욱 신중한 태도로 임하게 됩니다. 이런 방식으로 100점을 맞을 때까지 반복하면서 드릴링(drilling)할 수 있습니다.

논리게이트 조합하기

포큐아카데미-논리게이트-조합하기-프로그램-스크린샷
POCU Logic Board, 가상환경에서 논리게이트를 다뤄볼 수 있다.

 

위 사진이 포큐아카데미에서 제공하는, 논리게이트 학습용 프로그램입니다. 이 논리게이트를 연결하여 특정 동작을 수행해야 합니다. 주어진 비트패턴이 홀수인지 짝수인지 판단하는 논리게이트, AND, OR, NOT, NAND, NOR 등의 게이트가 실제로 어떻게 동작하는지 체험해볼 수 있고, 해당 게이트를 조합하여 목표한 동작을 수행하는게 생각보다 🐶🍯잼입니다.

 

저는 언젠가 8bit CPU 를 논리게이트를 연결하여 직접 제작해보는 것이 버킷리스트 중에 하나인데요. 이 코스를 통해서 그 꿈을 작게나마 가까이 다가갈 수 있지 않았나 싶습니다.

과제와 실습 Tip!

과제와 실습은 열리자마자 시작하자

 

실습과 과제는 모두 대한민국 시간 기준으로 월요일 아침 9시에 열립니다. 실습은 1주일의 기한을 주고, 과제는 열린 후 3주동안 진행할 수 있는데요. 제가 추천드리는 방법은, 강의는 2주정도 분량을 미리 듣고, 과제와 실습은 열리는 날 즉, 월요일에 시작하는것이 좋습니다.

 

실습과 과제를 순간 집중해서 과제 파악부터 풀이까지 한번에 끝낼 수도 있겠지만, 실습과 과제를 풀이할 기간을 넉넉히 잡고 시작하면 실습과 과제를 통한 학습의 효과를 높일 수 있다고 생각합니다. [COMP1000]의 실습과 과제 중에는 하루만에 끝내기에는 벅찬 과제들도 있기 때문에, 미리 과제를 확인해두면, 이후 일상생활 중에도 문제 해결에 필요한 아이디어를 떠올려 볼 수 있죠. 갈릴레이가 사고실험으로 유명하듯, 평소 잠들기 전이나, 운전을 하면서도 사고공부를 할 수 있게됩니다. 화장실에서 아이디어가 잘 떠오른다는게 괜한 말이 아니라는것을 실감하실 수 있으실거에요. 참고영상 하나 띄워드립니다. 

[COMP1000]의 대문을 지키고 있는 보스급 과제를 조심하세요!(소곤소곤)

시험방식 소개

중간, 기말 공통 사항

  • A4 사이즈의 연습장 2장이 허용됩니다.
  • 객관식으로 보기가 주어지는 문제는 없고, 모든 답을 키보드로 직접 타이핑합니다.
  • 약 15%의 비중으로 특정 개념을 설명하거나, 풀이과정을 적어내는 서술형 문제가 있습니다. (서술형 문제들의 배점은 일반적인 문제들보다 높습니다.)

중간고사

중간고사는 컴퓨터에서 숫자 데이터를 처리하는 방법에 대한 내용이 주로 출제되었습니다.

 

보통 시험 전에 POCU에서는 시험 전 연습을 할 수 있도록 40분 내에 풀어야 하는 분량으로 연습문제를 주어줍니다. 저는 주어진 연습문제를 푸는데 40분을 훌쩍 넘겼었지만, 실제 시험에서는 문제를 모두 풀고도 약 30~40분 정도의 시간이 남아 기존 문제를 검토할 수 있었습니다.

기말고사

확률과 통계, 비트마스킹, 시간복잡도 등을 주제로 문제들이 출제되었습니다.

 

기말고사에는 손이 아닌 계산기를 활용하는 문제들이 다수 출제되었는데요. 그래서 실제로 시험화면에 계산기가 포함되어있습니다. 정규분포 문제를 풀 수 있도록 정규분포표(z-table)를 참조할 수 있습니다. 계산기와 정규분포표는 시험 도중 언제라도 소환할 수 있습니다.

 

제가 느낀 기말고사의 흐름은 중간고사와는 사뭇 달랐습니다. 주어진 시험시간을 꼬박 채워 문제를 풀었습니다. 평소에 연습을 철저히 해두셔야만 본 시험에서 검토시간까지 확보하실 수 있으리라 생각합니다.

시험 팁

1 시험과 코딩 그리고 디버깅

시험에 출제되는 문제 중에 코딩을 직접 하는 문제(인코딩은 하라던데요?)는 없었습니다. 다만, 주어진 코드를 보고 해석할 수 있는 역량을 판단하는 문제는 있었습니다.

 

[COMP1000]은 다른 강의에 비해 코딩량이 적은 과목이라고는 하지만, 실습과 과제를 진행하며 디버깅을 제대로 익혀놓을 필요가 있습니다.

 

코드가 어떻게 돌아갈지 상상하며 코딩을 하고, 막상 제대로 돌아가는 프로그램 완성 했다 하더라도, 또 다시 디버깅을 하면서 코드가 어떻게 도는지 확인해보면, 코딩을 할 때와는 다른 관점으로 코드가 도는 모습을 볼 수 있기 때문에, 놓친 부분을 캐치한다거나 하는 등의 또 다른 인사이트를 얻을 수 있습니다.

 

이렇게 평소 디버깅하는 습관을 만드신다면, 이후 코딩 역량 향상은 물론, 시험에서 출제되는 코드를 해석하는 능력도 향상시킬 수 있으리라 생각합니다. (시험에서 코드 해석 문제는 2~3문제 정도 되었던 것으로 기억합니다. 많지는 않지만, 디버깅의 중요성을 강조하고 싶었습니다.)

 

포큐아카데미에서는 IDE 사용법이나, 디버깅 방법등을 알려주지 않습니다. 디버깅 방법은 포프님께서 유튜브에 공개한

비주얼 C++를 이용한 디버깅 기초 영상의 앞 10분만 참고하시면 Visual Studio 상에서의 디버깅 방법의 기초를 배울 수 있습니다. 비주얼 C++이라고 되어있지만, Visual Studio 에서 C# 코딩을 할 때도 거의 동일한 방법으로 디버깅할 수 있습니다.

2 연습만이 살 길

Practice Makes Perferfect.

강의 중간 중간 포함되어있는 영상퀴즈 및 복습퀴즈가 가벼운 문제이지만 이 퀴즈가 시험 유형과 많이 닮아있었습니다. 따라서, 시험 전 해당 문제들을 다시 풀어보고 익숙해지는 것이 시험에 도움이 될 것입니다.

 

10문제의 퀴즈로 제공되는 실습 문제들을 따로 적어두고, 충분히 익숙해질 때까지 되풀이해서 공부해둔다면 시험에 많은 도움이 되실거라 생각합니다.

3 기말고사 계산기에 관하여

기말고사를 볼 때 시험 중 상요할 수 있는 화면상의 계산기는 직접 타이핑을 할 수 있게 설계되어있습니다. (다만... 엔터가 안눌려지니 주의하세요. 이건 저만의 문제일수도 있습니다.)

 

평소에 wolframAlpha 같은 사이트를 통해서 계산식을 직접 입력하는 훈련을 해보는것도 팁이 될 수 있겠다 싶습니다.

 

저는 마음이 급해서 그랬는지 마우스로 누르다가 타이핑하다가를 반복하며 시험을 봤었는데요. 식을 완성한 뒤, 무조건 계산기에 입력하는 것보다, 계산기로 계산할 내용이 최대한 축약되도록 미리 연습지에서 손으로 계산이 가능한 부분은 충분히 계산해둔 뒤, 계산기 활용을 최소화하는 방향으로 가는 것이 오히려 시간을 확보하는 방법일 수 있습니다.

 

또한 일반 계산기(feat. 윈도우 계산기)에 보통 존재하는 M+, M- 기능이 포큐 시험 계산기상에는 존재하지 않으니 주의하세요. (2020 5월학기 기준)

4 심호흡(?)

문제를 풀다가 생각이 꼬인다거나 해서 갑자기 머리가 정전되는듯한 멍한 느낌을 받으실 때가 있으실 수 있는데요. 멘탈이 흔들리신다면, 수능 고득점자들이 썼다고 전해지는 5초 심호흡법을 실시해보시죠. 5초만 크게 숨을 들이쉬고 내쉬면 됩니다. (정작 저는 시험때 이걸 생각도 못했네요...ㅎㅎ)

 

저는 기말고사에서 틀린 문제나 부분점수를 맞은 문제들은 사소한 실수때문인 경우가 많았는데요. 5초 심호흡으로 흔들리는 멘탈을 조금이나마 붙잡아보세요.

포큐아카데미-필자-성적-첨부
토닥 토닥

훈장 시스템

사실 공식적인 명칭은 "업적"입니다. (포큐아카데미 업적 소개글) 이번에는 Perfect In A Flash 라는 업적을 처음으로 받아보았네요.

포큐아카데미-업적시스템
POCU 아카데미 업적 시스템

아래 블러처리된 스크린샷은, 강의의 마지막 슬라이드에서 볼 수 있는 그림인데요. 저 자신에게는 나름 훈장의 의미로 다가와서 첨부해보았습니다. 완강의 순간의 기쁨을 간직하고싶어서요. ㅋㅋ 직접 완강하시면 볼 수 있습니다.ㅋㅋ

포큐아카데미-흐려진-마지막-치얼스
꽃미남_포프와의_치얼스_블러는_역시_가우시안(스포금지).jpg

슬랙채널

동기간 코드리뷰 문화

포큐는 풀코스(정규과정) 수강 중 발생하는 소통 환경을 슬랙 채널을 활용하여 구성해줍니다. 슬랙채널을 이용해서 다양한 소통을 할 수 있지만, 슬랙채널에서 가장 기대되는 순간은 바로 코드리뷰의 순간이었습니다.

슬랙채널-스크린샷-사람들이-대화한다
오고가는 코드 속에 피어나는 동기사랑

하드스킬 뿐만 아니라 소프트스킬도 제대로 챙길 수 있는 수강생들의 자발적인 문화입니다. 돌이켜보면, 이렇게 역량 개발에 열정적인 분들과 함께 수강할 수 있었다라는 것도 굉장히 큰 소득이었던 것 같습니다.

 

물론 동기분들만 코드리뷰를 해주는 것은 아닙니다. POCU 아카데미의 조교, 직원분을 비롯하여 포프님까지 합세하여 코드리뷰를 도와주시기도 합니다. 다만, 코드리뷰는 풀코스가 제공하는 정규 서비스가 아닌 점에 유의하세요.

질문과 답변

과제나 실습 중에 풀리지 않는 문제가 있다면, 공식적인 지원을 받을 수 있습니다. 동기끼리 도와줄 수 있는 부분이라면 서로 도우기도 하면서요. 

사람들의-슬랙채널-대화-질문을-주고받음
59개의 답변이 달리면서까지 필자의 문제를 해결하기 위해 도와주신분들의 흔적(오른쪽)

포큐아카데미의 답변 정책은 조금 특별합니다. 문제를 해결할 수 있는 직접적인 해결책을 제시해주지 않고, 수강생이 혼자 풀어나갈 수 있도록 힌트를 제공해주는 방식입니다. 수강생은 스스로 생각하며, 주어진 힌트를 기반으로 다시 문제 해결을 위해 고민해야합니다. 결국 문제를 해결한 수강생은 유레카적 기쁨을 맛봄과 동시에, 이전보다 나은 문제해결능력을 갖게 되는것이죠.

 

강의 리뷰

강사의 역량

역시 강사의 역량을 짚고 넘어가지 않을 수 없습니다. 강사의 프로필을 확인하고싶다면 다음 링크를 확인하세요. 

논리적 친절함이 가득한 강의

[COMP1000] 의 강의는 명실 공히 최고 수준의 강의 평가를 받고 있는 것을 확인하실 수 있습니다.

소프트웨어공학용수학-평점
평점 4.9의 포큐 아카데미 소프트웨어 공학용 수학

강사는 먼저 전달해야할 지식을 구성하는 논리 구조를 완벽히 파악하고 있을 뿐 아니라, 강의를 듣는 사람에게 어떤 부분을 전달해야 이해에 도움이 되는지 파악하고 있는것만 같습니다. 이게 좋은 강의필요조건이라고 생각합니다.

 

16진수라는 표현에서 "진"이라는 글자가 표현하는 의미가 무엇인지 알고 계신가요? 고등학교 수학과정에서 배우는 중복조합의 공식인 nHr = n+r-1Cr 에서 n+r-1에서 -1 의 의미가 무엇인지 알고 계신가요?

 

단순하게 정의되는 인과관계 사이에도 사실 숨겨진 논리적 연결고리가 여럿 존재합니다. [COMP1000]에서는 단순한 사실관계를 나열하는 것이 아니라 그 사실관계가 그럴 수 밖에 없는 논리적 연결고리를 항상 제시해줍니다. [COMP1000]의 '논리적 친절함'이란 바로 그런 부분을 말씀드리는것입니다.

 

이런 강의방식의 장점이 존재합니다. 외울게 적어진다는 것이지요. 강의를 집중해서 듣는 것만으로도 내가 기존에 가지고 있던 다양한 지식들과 연결될 수 있는 다양한 논리적 접점들이 강의 사이 사이에 제시되기 때문에 자연스럽게 지식이 습득되는 느낌을 받을 수 있었습니다.

정리하기에 좋은 구성과 편집

노션-프로그램으로-내용을-정리한-모습
Notion 을 활용하여 노트정리를 하였다.

본 과정이 소프트웨어 공학을 위한 수학이라는 이름 하에, 필요한 내용들만으로 구성되었다는 내용으로도 충분히 끝난 설명이지만, 실제 강의가 동영상이라는 형태로 제공되는 서비스라는 점에서, 그 부분에 대해 몇가지 언급하고자 합니다.

 

바로 위에서 언급했던 것처럼, 온라인의 다른 많은 강의가 질이 낮기도 하지만, 간혹 좋은 강의라고 하더라도(이미 이런 강의들은 보통 수만원~10만원대) 대부분 정제(편집)되어있지 않은 강의식 영상인 경우가 많죠. 내용은 정말 좋아서, 정리를 할려고 치면, 영상을 자꾸 되돌려 보거나, 되돌려 들어야 해서 정리하는데 영상 시간의 2~3배 가량이 들곤 했던 기억이 납니다.

양질의 내용과 우수한 구성

소프트웨어 공학용 수학을 수강하면서 강의를 이해가 안되서 동영상을 되돌리는 일은 많지 않았습니다. 강의 자체가 정리하기에 좋게 구성되어있기 때문에 정리하는데 시간이 타 강의에 비해 덜 걸립니다. 구슬이 서말이라도 꿰어야 보배라는 말이 아마 이럴 때 쓰라고 있는 말이 아닌가 싶습니다.

 

포큐는 기본적으로 정리된 노트를 제공하지 않습니다. 수강생이 직접 정리를 해봄으로써 더욱 해당 지식을 확고하게 습득할 수 있다는 것이 포큐의 철학인데요. 개인적으로 그 말에 굉장히 공감을 합니다. 어떤 지식을 이해하고 습득하는 데 있어서만큼은 정리를 하면서 공부가 되는것이지, 남이 해놓은 정리를 본다는 것만으로는 공부의 효율이 떨어진다는 말입니다. 샘플강의를 보시면 아시겠지만, 슬라이드 하나에도 매우 많은 정성이 들어가 있는 것을 확인할 수 있고, 그럼에도 불구하고 슬라이드를 출판물의 형태로 따로 제공하지 않는다는 것은 그만큼 포큐의 철학이 확고하다는 점을 시사하는 것이지요. 

모자이크로-주요-내용이-가려진-책-표지
진짜 공부를 위한다면 배려가 아닌 배려

 

질문 시스템

일대일 과외나 물리적 공간에서 진행되는 강의같은 면대면 상황이라면, 수강 중 이해가 안되는 부분을 질문이라는 도구를 활용할 수 있습니다만. [COMP1000]의 강의는 질문이 생길만한 부분을 이미 강의에 녹여놓은 느낌입니다. 질문이 생기더라도 강의 플랫폼(teachable)에서 제공하는 질문 기능을 활용할 수 있습니다.

질문에-답변을-다는-스크린샷
질문에-답변을-다는-스크린샷-두번째

수강중 명언

수강 중 감명깊었던 내용을 quote 처리 해두는데, 그 중 일부를 굳이 적어보았습니다. ㅎㅎ

수학과 과학에서 원하는 것은 "진리의 탐구" 이다. 누구나 이해할 수 있는 세계가 도는 방식에 대해 이해하고 공감대를 형성할 수 있게 하는 것이 목적이다.
과학적 사고방법으로 진리라고 믿었던 사실이, 과학적사고 방법에 의해 진리가 아니게 됐다. (그것이 진리를 향한 방향성, 곧 과학적 사고방법이다.)
확률적으로 가도 된다! 단, 내가 틀릴확률이 몇%인지 알고 있어야만 한다.

노트정리에 유용한 툴 소개

[COMP1000] 강의와 궁합이 잘 맞는 툴을 2가지 소개드리겠습니다.

스크린샷 툴 - ShareX

sharex-프로그램-로고-스크린샷-찍어주는-프로그램
ShareX

기본적인 기능은 PrintScreen 을 눌렀을 때, 스크린샷을 찍을 수 있는 상태가 됩니다. 원하는 영역만 드래그앤드랍으로 선택할 수 있기 때문에 강의 중 스크린샷을 찍어야 하는 경우 유용하게 사용할 수 있습니다. 스크린샷은 클립보드에 저장되며, 별도의 저장소에 차곡차곡 쌓이기 때문에, 이전에 찍었던 스크린샷을 찾아볼 수도 있습니다.

 

약간의 커스터마이징으로, 스크린샷을 찍은 뒤 자체 이미지 편집기가 열리게 할 수 있습니다. 이미지 편집기에서는 밑줄긋기, 문자열 입력하기 등의 기능을 활용하여 이미지에 메모를 남길 수도 있습니다.

 

ShareX 는 무료 프로그램입니다. 무료프로그램이지만, 유료프로그램 못지 않은 다양한 기능을 제공합니다. 꼭 쓰세요. 두 번 쓰세요.

강의중-파워포인트-스크린샷
ShareX를 사용하여 스샷을 찍고 Notion에 타이핑한 내용과 함께 스샷을 정리한 모습

노트정리 툴 - Notion

내용정리-프로그램-노션-로고
Notion

최근에 개인에게 무료로 사용할 수 있도록(이전에는 1000블록 제한이 있었음) 정책이 변경되었고, (2020년 8월) 한글판을 공식적으로 출시하였습니다. 개인적으로는 노트정리, 아이디어노트, 웹사이트 클리핑(웹 화면 저장), 업무에까지 활용하고 있습니다.

 

코딩 공부 정리에 최적화

코드블록 기능이 막강합니다. C#은 물론이고 존재하는 거의 모든 언어의 코드를 보기 좋게 하이라이트할 수 있습니다.

노션-프로그램의-코드-블록
Notion에다가 코드를 정리하고, ShareX로 찍고 편집하였다.

 

수식입력이 된다고? COMP1000에 딱이네

사실, 이 기능 하나로 [COMP1000] 강의에 딱 맞는 편집기라고 볼 수도 있을텐데요. 다음과 같이 LaTeX 문법을 활용하여 수식을 입력할 수 있습니다. 사실 수학 공식을 컴퓨터로 노트정리 한다고 했을 때 이만한 앱이 있나싶을정도네요.

노션-프로그램으로-수식-입력하기
Notion block equation 기능

 

최근에는 문장 중에도 수식 입력 할 수 있도록 업데이트되었습니다. 🙀

 

노션-프로그램에-본문-중에-입력된-수식
Notion의 inline equation 기능, 화살표는 ShareX 이미지 편집기의 기능중의 하나)

 

글자 포인트 조절이 안된다고?

사실 이 글은 논리적인 구조의 글을 작성하기에 오히려 장점인 기능입니다. 곧, 마크다운 편집기로서 마크다운의 장점을 최대한 살려, 글을 구성하기에 필요한 최소한의 기능만이 존재합니다. 괜히 폰트나 글자크기같은 디자인적인 요소를 생각하느라 본질을 놓치는 실수를 하지 않을 수 있습니다. 

 

앞으로의 계획

사실, [COMP1500] 에 이어 [COMP1000] 강의를 뛰어넘어볼까도 생각했었지만, 맞추지 못한 퍼즐조각을 찾아야겠다는 열망이 강했고, 실제로 [COMP1000]을 통해 몇 조각을 찾아 맞춘 느낌입니다. 앞으로 나머지 과목으로 퍼즐을 완성하고 (니스칠까지 해야지) 정진해야겠다 생각하고 있습니다.

 

C언어가 사실상 프로그래밍 언어계의 살아있는 화석격이라, [COMP2200] 수강를 앞둔 지금, 마치 고대 유적을 탐험하기 전 설렘 가득한 상태입니다. 진정한 프로그래밍을 앞두고 있다고 느껴지는 순간입니다.

 

현재 회사에서는 스프링부트를 활용하여 프로젝트를 진행하고 있기 때문에, 개체지향(COMP2500) 강의를 들을까도 싶기도 했는데요. 실제로 포프님도 [COMP2500 개체지향]과 [COMP2200 언매니지드 C]중 어떤 것을 먼저 들어도 큰 차이는 없다고 말씀하신 적이 있는걸로 알고 있는데요. 그래도 개인적으로 뭔가 프로그래머라면 C는 알아야지 하는 마음이 강하게 작용해서 먼저  [COMP2200] 수강을하기로 결정하게 되었습니다.

 

4개월 뒤 [COMP2200 C 언매니지드 프로그래밍]을 수강하고 다시 찾아뵙겠습니다.

 

마치며

시간이 참 빨리 흘러가는 것 같습니다(3배속의 나이에 접어들어서?되어서 그런것인지도...). 포큐아카데미 수강을 위해 세컨잡을 때려치우고, 포큐아카데미와 함께 일과 학업을 병행하며 지내다보니 어느덧 8개월이 되었네요. 이제는 여유가 생겨도 8개월간 쌓아온 관성이 사라져버릴까봐 그 좋아하는 게임도 멀리하게 되었습니다. 버킷리스트에 게임 목록만 잔뜩 쌓여만 가네요. 남자라면 LOL 다이아는 찍어야 하지 않겠냐는 내면의 목소리가 속삭인다.

 

그만큼, 포큐아카데미를 만나 지난 8개월동안 [COMP1500]과 [COMP1000]을 수강한 것이 개인적으로는 굉장한 도전이자 성과가 되었는데요. 지금의 관성을 그대로 이어 제 앞에 놓여진 강의들을 수강해나갈 계획입니다. 아직 2개의 과정을 들었을 뿐이지만, 한 과정 한 과정 패스해가며 스스로는 또 어떻게 성장해있을지 기대가 됩니다.

 

이 글을 읽고 계신 분들도 어떤 길을 걷든, 성장하는 삶을 살아가실 수 있기를 바라며 글을 마치겠습니다. 긴 글 읽어주셔서 감사드립니다. 

pocu-가-세겨진-후드티의-뒷면
모두 정상에서 다시 뵙기를. To Be Continued...

 

참조

수학 과목 관련 포프TV 영상

프로그래머가 수학을 못하면

논리력은 어떻게 판단하나? 

프로그래머를 위한 수학 (비하인드?)

포큐아카데미 공식 링크

[COMP1000] 소프트웨어 공학용 수학

[COMP1000] 샘플강의

포큐아카데미 블로그

반응형

Designed by JB FACTORY