CS50: 세계 최고의 엘리트 컴퓨팅 코스 내부

Mark Zuckerberg와 Steve Ballmer를 강사로 꼽을 수 있는 대학 과정은 많지 않습니다. 100,000명 이상의 사람들이 강의에 참석한 대학 과정은 많지 않습니다(주로 온라인이지만). 자신만의 브랜드, 상품, 학과명을 트레이드마크로 등록하는 대학 과정은 많지 않다. 하지만 CS50과 같은 대학 과정은 많지 않습니다.

CS50은 의심할 여지 없이 세계 최고의 엘리트 컴퓨팅 과정입니다. 하버드뿐만 아니라 지금은 같은 아이비 리그 기관인 예일에서도 가르치고 있으며, 첫 해에 즉시 대학에서 가장 인기 있는 과정이 되었습니다. 당신이 대학 중 한 곳의 과정에 들어가지 못한 많은 사람들 중 한 명이라면 edX 또는 iTunes U와 같은 디지털 기관을 통해 온라인으로 CS50을 치를 수 있습니다. 과정의 웹 사이트, 모든 강의, 자습서, 자료, 과제 및 솔루션이 무료로 게시됩니다. 강의는 곧 시청할 수 있습니다. VR 마치 실제로 Harvard의 홀에 앉아 있는 것처럼 헤드셋을 사용할 수 있습니다.

그렇다면 이 과정이 특별한 이유는 무엇일까요? 미국의 가장 명석한 수천 명과 전 세계 수십만 명의 사람들이 강의를 스트리밍하는 이유는 무엇입니까? 저는 코스 리더 및 학생들과 이야기를 나누었고, 알아내기 위해 직접 몇 개의 강의를 들었습니다.

모두를 위한 컴퓨터 과학

CS50(Computer Science 50)은 잠옷을 입고 Perl을 작성하는 사람들의 전유물이 아닙니다. Harvard 과정에 등록한 학생의 거의 4분의 3은 이전에 컴퓨터 과학 과정을 수강한 적이 없습니다. David Malan 교수는 2015년 과정 입문 강의에서 학생들에게 다음과 같이 말했습니다. 희망적으로 현재 익숙한 세계를 넘어 이 세계에서 자신의 세계에 적용할 수 있는 기술과 지식 및 요령을 가져올 수 있는 기회를 제공합니다. 그것이 인문학이든, 사회과학이든, 자연과학이든, 그 이상이든 말입니다.” 그 과정에서 프로그래밍을 배운다는 사실은 웹사이트에 따르면 "아마도 가장 힘이 되는 것은 반품".

변수에서 절차를 이미 알고 있는 사람들로부터 얻을 수 있는 것이 아무것도 없다는 말은 아닙니다. 학생들이 해결해야 하는 각 "문제 세트"에는 두 가지 난이도가 있습니다. 수업의 90% 이상이 할 것으로 예상되며, Hacker Edition은 기술적인 부분이 있는 사람들을 위한 것입니다. 그들 자신. 실제로 Harvard와 Yale의 전체 과정은 세 가지 트랙으로 구성되어 있습니다. 편안한", 프로그래밍 언어로 "불편한"사람들과 "어딘가에"있는 사람들을위한 밴드 사이".

Harvard 과정에 등록한 학생의 거의 4분의 3은 이전에 컴퓨터 과학 과정을 수강한 적이 없습니다.

수백 명의 학생에게 실시간으로 제공되고 고도로 세련된 비디오 스트림을 통해 주문형으로 제공되는 과정과 많은 강의는 매력적인 연사인 Malan 교수가 진행합니다. 전 Windows 책임자인 Steven Sinofsky가 생각나는데, 당신은 분명히 너무 맹렬한 지성을 가지고 있어서 그의 입에서 말을 따라잡을 수 있을 만큼 빨리 말할 수 없는 사람을 상대하고 있습니다. 그의 뇌. 그는 기관총 속도로 말할 수 있지만 복잡한 개념을 소화 가능한 덩어리로 추출하는 데에도 탁월합니다.

예를 들어 2015년 입문 강의에서 그는 학생들에게 이진수로 숫자를 쓰는 방법을 가르치기 위해 전구 세트를 사용하여 각 전구(1일 때 켜지고 0일 때 꺼짐)가 비트를 나타내는 방법을 설명합니다. 내가 본 것 중 가장 명확한 설명입니다. CS50 웹사이트의 보충 비디오 덕분에 이제 이진법에서도 더하고 빼고 곱할 수 있습니다.

그는 또한 전화번호부를 찢어서 "분할 정복" 알고리즘의 개발을 탐구하기 시작합니다(그의 정통적인 괴짜 체격을 고려할 때 다소 어색함). 이것은 전화번호부에 400억 개의 이름이 알파벳순으로 나열되어 있어도 36단계만 거치면 그 사람을 찾을 수 있음을 그래픽으로 보여줍니다. 책을 중간에 펼쳐서 사람 이름이 없는 반쪽을 뜯어내면 (로그의 개념을 설명하기 위해) N).

cs50_coding_yellow_pages_rip

그런 다음 컴퓨터용으로 작성된 명령이 인간에게 명령할 때 익숙하지 않은 정도의 정밀도를 요구하는 방법에 대한 시연이 있습니다. 그는 Yale 강의실에 있는 학생들에게 땅콩 버터와 잼 샌드위치를 ​​만드는 방법에 대한 명령을 외치라고 요청하고 무대 위의 스투지 중 한 명이 편지에 대한 명령을 수행합니다. 따라서 "빵 봉지 열기"는 봉지가 찢어지고 빵이 사방에 쏟아지는 결과를 낳습니다. 샌드위치 메이커가 땅콩 버터에 대해 잘 끝나지 않는 무한 루프에 빠지는 "프로그램" 항아리.

코드 연결

잠재적으로 무미건조하고 위협적인 프로그래밍 주제를 제시하는 이 매력적인 방법은 확실히 학생들, 특히 이전에 컴퓨팅을 공부한 적이 없는 학생들에게 인기가 있는 것 같습니다. 영국 음악 스타트업 Jukedeck의 설립자인 Ed Rex는 최근 CS50 강의에 참석한 후 코딩을 시작하게 된 계기를 말했습니다. Rex는 "완전히 볼링을 쳤습니다."라고 말했습니다. “[Malan의] 강의실에서 한 시간 후에 나는 먼저 생각하기 시작했습니다. 왜 전에는 아무도 나에게 이것을 말하지 않았습니까? 둘째, 프로그래밍은 놀랍습니다. 셋째, 영국 사람들이 생각하는 것보다 훨씬 더 실행 가능한 것 같습니다.”

관련 보기 

무료로 코딩 배우기: 전국 코딩 주간 최고의 영국 코딩 및 앱 개발 과정
코딩 노마드로서의 1년

23세의 Kyle Schmigel은 현재 CS50 섭취량의 일부입니다. 그는 “일반적으로 프로그래밍을 배우면 일상 생활에서 일반적으로 하는 것과는 훨씬 다른 방식으로 마음을 집중할 수 있습니다. 자신에게 도전하고 문제를 해결하는 재미있는 방법입니다.

Schmigel은 "지금까지 제가 배운 가장 중요한 것은 사물을 여러 관점에서 보는 것입니다."라고 덧붙였습니다. “제가 문제를 올바른 방식으로 바라보고 있지 않거나 일을 더 간단한 방식으로 처리하고 있을 수 있습니다. CS50은 어려운 과목인데 도전하는 것만큼 재밌는 건 처음이에요.”

Malan은 CS50의 성공의 주된 이유 중 하나로 다른 요인을 지적하기에는 너무 겸손합니다. "우리는 특히 현재 매우 인기 있는 기술과 함께 국제적으로 컴퓨터 과학에 대한 관심이 높아지고 있는 추세로부터 확실히 혜택을 받았습니다."라고 그는 말했습니다. "그러나 우리는 CS50의 접근성이 엄격함 및 문화와 결합되어 특히 학생들, 특히 사전 경험이 없는 학생들에게도 공감할 수 있기를 바랍니다."