코딩은 부작용일 뿐 — AI가 다 짜주는 시대에도 컴퓨터 과학을 배우는 이유
데이빗 말란
하버드 CS50 첫 강의, 데이빗 말란 교수가 'AI가 다 짜주는데 왜 배우냐'는 방 안의 코끼리부터 정면으로 다루는 더빙. 이제 누구나 AI에게 버그 수정과 기능 추가를 부탁할 수 있고 수십 년간 인간이 병목이었지만, 그렇기에 기본기가 더 중요하다는 참교육 — 이 수업은 단 한 번도 코딩 기술을 가르친 적이 없고 코딩은 부작용일 뿐이며, 진짜 목표는 생각하는 법이다. 핸들은 네가 잡아야 하고 너는 승객이 아니라 설계자여야 한다. 계산기가 나와도 산수가 살아남았듯이. 열 줄 코드로 챗봇을 만드는 시연에서 출발해 0과 1, ASCII, RGB 픽셀이라는 이진법의 댄스 파티로 내려가고, 전화번호부에서 40억 명 중 한 명을 32번 만에 찾는 이진 탐색으로, 빠른 슈퍼컴퓨터에 멍청한 알고리즘보다 낡은 노트북에 똑똑한 알고리즘이 이긴다는 컴퓨터 과학의 위대함에서 닫는다.
코딩은 부작용일 뿐
생각 덩어리
방 안의 코끼리 — AI가 프로그래밍의 판을 뒤집는다
하지만 먼저 방 안의 코끼리부터 다뤄봅시다. 그 존재는 바로 AI입니다. 지난 몇 년간 어디에나 있는 것처럼 보였고 사람들은 AI가 프로그래밍의 판 자체를 완전히 뒤집을 거라고 말해 왔죠.
쫄지 마십시오. 이제 여러분은 어떤 형태로든 AI를 사용해서 컴퓨터에게 문제 해결을 도와달라고 부탁할 수 있습니다.
인간이 병목이었다 — 하루도 팀원도 뻔했다
문제는 바로 여러분과 저 즉 우리 인간이 오랫동안 병목이었다는 사실입니다. 하루 동안 일할 수 있는 시간은 뻔하고 팀원 숫자도 빤했으니까요. 하물며 해결하고 싶은 버그와 구현하고 싶은 기능은 너무나도 많습니다.
CS는 코딩 수업이 아니다 — 코딩은 부작용일 뿐
사실 이 수업은 단 한 번도 코딩 기술을 가르치는 수업이었던 적이 없습니다. 코딩을 할 줄 안다는 것은 그냥 이 수업을 듣다 보면 생기는 일종의 부작용 같은 겁니다.
이 수업의 가장 큰 목표는 생각하는 방법을 가르치는 겁니다. 입력을 받아서 올바른 출력을 만들어내는 법.
핸들은 네가 잡아야 한다 — 승객이 아니라 설계자
하지만 명심하세요. 핸들은 여러분이 잡아야 합니다. 여러분은 기계 끌려다니는 승객이 아니라 이 시스템을 완전히 장악한 설계자여야 하기 때문입니다.
계산기가 나와도 산수는 남았다 — 기본기의 값
우리는 예전에도 이런 일을 겪었습니다. 계산기가 처음 나왔을 때 말이죠. 하지만 수십년이 지난 지금도 덧셈, 뺄셈을 하는 기술은 여전히 가치가 있습니다.
열 줄짜리 텍스트의 힘 — 이게 프로그래밍이다
이게 바로 프로그래밍의 힘입니다. 여러분은 아직 다 이해하지 못할 수도 있는 열 줄짜리 텍스트로 꽤 강력한 기능 혹은 방금처럼 엉뚱한 기능을 만들어 낼 수 있습니다.
컴퓨팅 사고 — 프로그래밍은 도구일 뿐
그게 컴퓨터 과학의 본질입니다. 프로그래밍은 그 과정에서 배우는 도구일 뿐입니다.
세상은 결국 0과 1 — 약속된 숫자
답은 아주 단순합니다. 우리 인간들이 약속을 했기 때문입니다.
지금 읽고 계신 이메일, 논문, 소설책 이 모든 것은 결국 수많은 영과 일들이 만들어낸 거대한 숫자 덩어리일 뿐입니다. 단지 우리 눈에만 글자로 보이도록 약속되어 있을 뿐이죠.
이진법의 댄스 파티 — 픽셀도 RGB도 숫자
화면 속 제 얼굴, 뒤에 있는 배경 그리고 자막까지 이 모든 것은 그저 수백만 천만 개의 픽셀들이 모인 것이고 그 픽셀들은 다시 RGB라는 숫자들로 이루어져 있으며 그 숫자들은 결국 가장 밑바닥에서 수많은 전구들이 켜지고 꺼지는 이진법의 댄스 파티일 뿐입니다.
멍청한 방법과 똑똑한 방법 — 40억 번 대 32번
40억 번 대 32번. 이건 속도의 차이가 아닙니다. 자원이 다른 겁니다. 여러분이 아무리 빠른 슈퍼 컴퓨터를 가져와도 멍청한 알고리즘을 쓴다면 현명한 알고리즘을 쓰는 낡은 노트북을 절대 이길 수 없습니다.
코딩보다 먼저 알고리즘 — 컴퓨터 사이언스의 위대함
이것이 바로 우리가 코딩을 하기 전에 알고리즘을 배워야 하는 이유이자 컴퓨터 사이언스의 위대함입니다.