Original article: freeCodeCamp University Degrees Update

세계의 프리코드캠프 커뮤니티 여러분, 우리 (프리코드캠프의) 생일을 축하합니다.

8년 전 우리는 배우고자 하는 사람들이 모여 이룬 작은 커뮤니티로 시작을 했습니다. 그 당시에 프리코드캠프는 이룰 수 없는 꿈 같은 이야기 였습니다.  하지만 다 함께 두팔을 걷어붙이고 그 꿈을 현실로 이루어 냈습니다.  

오늘 현재, 날마다 백만명이 넘는 사람들이 프리코드캠프를 사용합니다. 여기에서 수학, 컴퓨터 공학, 프로그래밍을 함께 배웁니다. 다양한 문화권들의, 그리고 각각 다양한 삶의 한 지점에 있는 사람들이 기술 지식을 넓히기 위해 서로를 도와줍니다.

freeCodeCamp-Anniversary
8주년 GIF를 제작해준 Estefania 고맙습니다.

매 해 겨울마다 그랬듯이, 곧 프리코드캠프의 성장에 관한 데이터를 공유하겠습니다. 이 글에서는 데이터 사이언스 과정들과  공인된 대학 학위들을 무료로 제공하기 위한 계획을 말해보고자 합니다.

데이터 사이언스 과정 업데이트

작년에 프리코드캠프는 데이터 사이언스 과정을 만들기 위한 모금 행사를 했습니다. 모두 함께 한 결과, 이 행사를 통해 연구 개발을 위한 300,000 달러($) 이상의 성금이 마련되었습니다.  

오늘, 그동안의 성과를 공유할 수 있게 되어서 너무나 설레입니다.

이 성금의 어느 정도는 경력이 있는 대학 전임 강사들에게 수업 내용 개발을 맡기기 위한 커미션으로 쓰였습니다.

4K 비디오 강의 제작과 프로그래밍 환경을 위한 고사양 컴퓨터들과 카메라들을 구입했습니다.

강의들을 녹화하고 연구실들을 만들기 시작했습니다.

빨리 나누고 싶은 다음 소식은 바로 이것에 관한 것입니다.

이 데이터 사이언스 과정들을 4년제 컴퓨터 공학 학사 과정에 포함 시키기로 했습니다.

공인 대학 학위 과정을 무료로 개시하고자 하는 장기적인 목표에 대해 작년에 언급 했었습니다.  

구체적으로 말하자면, 프리코드캠프가 현재 개발하고 있는 것들은 아래와 같습니다.

  1. 다음(2 번) 학위 취득의 절반을 차지하는 수학 전문학사 학위
  2. 컴퓨터 공학 학사 학위

이 학위 들의 첫 수업 목록이 준비가 되었음을 기쁜 마음으로 전합니다.

이 학위 들은 지속적이고 하나로 이어진 배움의 길과 같습니다. 풀타임으로 공부한다고 했을때 다 마치기까지 4년 정도의 시간이 걸릴 것으로 예상됩니다. (하지만 이 과정들은 완전히 자기 진도에 맞춰 학습할 수 있기 때문에 더 오랜 시간에 걸쳐 마치더라도 괜찮습니다.)

이 학위 과정들을 이수하기 위한 전제 조건은 고등학교 수준 영어 능력 이외에는 없습니다*. 학생들은 수학, 컴퓨터 공학, 그리고 실생활에 쓰이는 다양한 기술들을 기초부터 배우게 될 것입니다.

* 영어 실력 요구 사항은 일시적임을 알려 드립니다. 이 과정들은 프리코드캠프의 핵심 교육 과정과 마찬가지로 세계의 다양한 언어들로 번역할 계획 입니다.

이 40개의 과정들은 120 학점 시간*을 나타냅니다. 미국 상위 20개 컴퓨터 공학 학위를 심도 있게 교차 분석한 것을 바탕으로 이 과정들을 계획하고 배열했습니다.

(*역주: 미국 대학에서 1 학점 시간(credit-hour)은 15-16 시간의 강의를 뜻합니다.)

Ed_teaching_foundational_math
프리코드캠프의 개발자이자 20년 경력의 대학교 강사인 Ed Pratowski가 기초 수학을 화이트보드에 4K로 강의하는 모습.

연필과 종이를 사용하여 수학을 배우는 전통적인 방법 뿐만 아니라 파이썬의 수학 에코시스템을 어떻게 활용하는지도 배우게 될 것 입니다.

Foundational_Math_Curriculum_Screenshot
A screenshot of what the Foundational Math course will look like, and a small handful of the many concepts it will cover. 기초 수학 과정의 스크린샷, 

각 코스들은 다음으로 구성됩니다.

  • 90 시간의 자기주도적 영상 강의들과 이해도 측정 퀴즈들, 그리고 직접 해보는 실습들 (주로 Jupyter Notebooks안에서 하게 됩니다)
  • 시간을 재는 기말 시험
math_curriculum-1
These courses will make heavy use of Python and Jupyter Notebook tools for solving equations. And ultimately for analyzing datasets. 이 코스들은 문제를 풀어야 할 때, 그리고 궁극적으로 데이터 세트를 분석하는데에 Python과 Jupyter Notebook을 많이 사용할 예정입니다. 

현재 프리코드캠프에서 기획하고 있는 각 학위들에 필요한 코스들의 리스트는 다음과 같습니다.

수학 준학사

  1. 철학 (Philosophy of Knowledge)
  2. 계산의 역사 (History of Computation)
  3. 대학 대수학 (College Algebra)
  4. 비판적 사고의 기초 (Foundations of Critical Thinking)
  5. 기초 미적분학 (Precalculus)
  6. 윤리적 추론 (Ethical Reasoning)
  7. 미적분학 I (Calculus I)
  8. 영어 수사법과 글쓰기 (English Rhetoric and Composition)
  9. 확률과 통계 I (Probability and Statistics I)
  10. 건강 관리 (Health and Wellness)
  11. 미적분학 II (Calculus II)
  12. 확률과 통계 II (Probability and Statistics II)
  13. 기술 작문 (Professional and Technical Writing)
  14. 미적분학 III (Calculus III)
  15. 이산 수학 (Discrete Mathematics)
  16. 기술 경제와 노동 시장 (Economics of Technology and the Labor Market)
  17. 선형 대수학 (Linear Algebra)
  18. 계산 이론 (Theory of Computation)
  19. 조직 행동 (Organizational Behavior)
  20. 응용 양적 추론 (Applied Quantitative Reasoning)

컴퓨터 공학 학사

  1. 전산학 개론 (Introduction to Computer Science)
  2. 데이터 구조와 알고리즘 (Data Structures and Algorithms)
  3. 전자공학과 임베디드 시스템 (Electronics and Embedded Systems)
  4. 소프트웨어 설계 및 엔지니어링 (Software Design and Engineering)
  5. 컴퓨터 시스템과 구조 (Computer Systems and Architecture)
  6. 관계형 데이터베이스와 NoSQL 시스템 (Relational Databases and NoSQL Systems)
  7. 컴퓨터 네트워크 기초 (Fundamentals of Computer Networking)
  8. 알고리즘 설계와 분석 (Algorithmic Design and Analysis)
  9. 응용 컴퓨터 그래픽 (Applied Computer Graphics)
  10. 풀스텍 웹 개발 (Full-Stack Web Development)
  11. 정보 보안 개론 (Principles of Information Security)
  12. 인간-컴퓨터 상호작용 (Human-Computer Interaction)
  13. 데이터 분석 기초 (Foundations of Data Analysis)
  14. 응용 데이터 시각화 (Applied Data Visualization)
  15. 데이터 엔지니어링 기초 (Foundations of Data Engineering)
  16. 지도 및 비지도 기계 학습 (Supervised and Unsupervised Machine Learning)
  17. 딥 러닝 방법론 (Deep Learning Methodologies)
  18. 응용 자연 언어 처리 (Applied Natural Language Processing)
  19. 응용 컴퓨터 비전 (Applied Computer Vision)
  20. 소프트웨어 분야 인터뷰 준비 (Software Industry Interview Preparation)

이 학위 코스 프로그램이 최고 명문대학교 프로그램들의 엄격한 수준과 같게 되기를 희망합니다. 또한 배우고자 하는 사람들에게 전통적인 1000년 이상 동안 대학 교육의 기초가 되어온 교양과목들을 배울 수 있는 기회를 주고자 합니다.  

수학, 논리, 수사법과 같은 근본적인 기술 지식들은 굉장히 중요하다고 생각합니다. 일단 학생들이 이런 핵심적인 지식을 쌓게 되면, 요즘 시대의 강력한 도구들을 이용해 원하는 방향으로 변화를 만들 수 있도록 도와줄 수 있습니다.

수학, 프로그래밍, 머신 러닝과 같은 기술 뿐만 아니라 테크 분야가 어떻게 흘러가는 지에 대해서도 배우게 될 것 입니다. 테크 분야에서 어떻게 지속 가능한 커리어를 구축할 수 있는지 배우게 될 것입니다. 이 분야에서 마주치게 될 쉽지 않은 윤리적인 문제들에 어떻게 대처할지 배우게 될 것입니다.

갈 길이 아직 많이 남아있습니다.

아직 이 강의들을 제작하고, 이 연구실들(labs)을 개발하고, 이 프로그램들이 공식적으로 인정받을 수 있도록 하기 위한 많은 일들이 남아있습니다.

혹시 이 글을 읽고 있는 분들 중에 현재 학교에 다니는 분들이 계시다면, 학교에 계속 다니시라고 말씀드리고 싶습니다. 저희에게 남은 일들은 완성하기 위해서는 10년도 더 넘은 시간이 걸릴 수도 있으니까요.

프리코드캠프는 이 코스들과 연구실들이 완성되는 데로 발표 할 것이고 모두 온라인에서 무료로 제공될 것입니다.

또한 학생들이 시험을 치르는 데 쓰인 보안이 철저한 환경을 제공해 주는 개발 도구를 비롯해서 이 코스들을 개발하는데 사용한 오픈소스 개발 도구들을 공유할 예정입니다.

이미 컴퓨터 공학 학위가 있는 학생들을 위해서는 이 코스들을 새롭고 독립된 데이터 사이언스 코스에 추가함으로써 링크드인이나 이력서에 자격증을 넣을 수 있도록 할 것 입니다. 이 자격증들은 대학 학위 과정을 전부 마치지 않더라도 취득할 수 있습니다.

도와주실 수 있는 방법

40개의 대학교 코스들이 각 90시간에 달하는 수업 활동을 요구합니다. 게다가 3,600 시간에 달하는 부가 교육 자료를 개발 중에 있습니다.

이 모든 것은 몇 천 시간이 넘는 교육 지도 디자인 일로 이어지게 되는데, 이는 아래의 일들을 포함합니다.

  • 스크립트 작업, 강의 녹화와 편집
  • 상호적/인터렉티브 문제 풀이들과 연구실
  • 평가 지시문들의 디자인
  • 정해진 것이 아닌 학생의 문제 풀이 답변에 따라 생성 되는 시험 문제들의 개발
  • 프리코드캠프의 교육 플랫폼을 확장하여 학생의 학습 진행 상황을 추적하고 인증하는 일
  • 끝으로 모든 강의 비디오들을 세계 각국의 언어들로 번역 후에 각 나라의 언어를 하는 강사들로 하여금 녹화 하도록 하는 일

간단히 말하자면 이 학위 프로그램을 완성하기 위해서는 우리 비영리 단체의 높은 기부금 효율성에도 불구하고 수십억의 자금이 필요합니다.

우리는 민첩하게 나아가려고 합니다. 각 코스들이 완성되는데로 발표할 것입니다. 여러개의 코스들이 2023년에 공개 될 것입니다.

그리고 비록 프리코드캠프가 이 학위 프로그램을 공인 받도록 하기 위해 10년 혹은 그 이상의 시간이 걸릴지라도, 프로그램 자체는 그보다 더 짧은 시간내에 다 마치실 수 있습니다.

가장 직접적으로 도움을 주실 수 있는 방법은 세금 감면을 받을 수 있는 우리 자선 단체로 기부를 해주시는 것입니다(역주: 프리코드캠프는501(c)(3) tax-exempt public charity 입니다. 이는 미국에서 교육 단체로 인증받은 비영리 기관 입니다). 많은 분들이 매 달 $5 씩 기부를 해주고 계십니다. 혹은 한번의 큰 기부도 환영입니다. 기부를 해주신다면 세금 감면을 받으실 수 있도록 제가 직접 영수증을 준비해 드리겠습니다.

이 곳에서 우리 자선 단체로 기부금을 보내주세요.

도움을 주실 수 있는 또 다른 방법은 이 새로운 코스의 베타(beta) 평가자가 되는 것입니다. 관심이 있으신 분은 아래의 양식을 작성해주세요. 첫 코스들이 완성되는 데로 저희가 연락을 드리겠습니다. 이 코스를 누구보다도 먼저 이용해보게 되실 것 입니다.

이 곳에서 베타 테스트를 위해 등록해주세요.

마지막으로 이 리스트에 올라와 있는 몇몇 과목들에 대해 대학 수준의 강의를 해보신 분이라면, 의견을 들어보고 싶습니다. 저는 실무 경력이 있을 뿐 학자가 아닙니다. 그렇기 때문에 저는 대학교의 관리자 분들과 교수님들에게 최대한 많이 배우고 있습니다.

앞으로 나오게 될 코스들에 대해 피드백을 주신 너무나 많은 개발자 분들, 교수님들, 교육 개발자 분들 그리고 프리코드캠프 커뮤니티의 베타 테스터분들에게 다시 한번 고맙다는 말을 전하고 싶습니다.

8주년에 되는 이때에, 우리 커뮤니티는 이제 막 전세계의 꿈 많은 학생들을 위해 무료 교육 자료들을 개발하기 위한 탐색을 시작했습니다.

할 일이 많이 있습니다. 그리고 우리는 모두 너무나 기쁘고 신나는 마음으로 그 일을 하려고 합니다.

– Quincy