알라딘

헤더배너
상품평점 help

분류

이름:앨런 B. 다우니 (Allen B. Downey)

최근작
2024년 4월 <통계의 함정>

씽크 파이썬 Think Python 개정2판

이 책의 이상한 역사 1999년 1월, 저는 자바로 가르치는 프로그래밍 입문 수업을 준비하고 있었습니다. 프로그래밍 입문 수업을 세 번이나 가르쳤지만, 그 결과에 좌절하고 있었습니다. 수업을 따라오지 못하는 비율이 너무 높았고, 수업을 잘 따라온 학생들도 전반적인 성취도가 지나치게 낮았기 때문입니다. 제가 알게 된 한 가지 문제점은 교재였습니다. 이들 교재는 너무 두꺼웠고, 자바에 대해 반드시 알 필요가 없는 내용을 너무 자세하게 담느라 프로그램을 어떻게 작성해야 하는지에 대한 안내는 턱없이 부족했습니다. 게다가 이 교재들은 트랩도어 효과(trapdoor effect)마저 안고 있었습니다. 즉, 처음엔 쉽게 시작하지만, 점점 어려워지다가 5장쯤 도착하면 결국 함정에 빠지게 되는 겁니다. 학생들이 이해해야 할 새로운 내용이 지나치게 많은 데다가 진도도 너무 빨라서 이를 수습하는 데 학기의 나머지를 써야 했습니다. 첫 수업을 시작하기 2주 전에 책을 직접 쓰기로 결정했습니다. 제가 세운 목표는 이렇습니다. ● 짧아야 한다. 학생들이 50쪽을 읽는 것보단 10쪽을 읽는 것이 낫다. ● 단어 사용에 주의한다. 전문 용어는 최소화하고 용어를 처음 사용할 때는 용어의 정의부터 설명한다. ● 점진적으로 나아간다. 트랩도어 효과를 피하기 위해 가장 어려운 주제를 정하고 작은 단계로 나눠서 제시한다. ● 프로그래밍 언어가 아니라 프로그래밍에 집중한다. 자바에서 유용한 부분만 최소한으로 남기고 나머지는 생략한다. 제목을 지어야 했으니까 즉흥적으로 "컴퓨터 과학자처럼 생각하는 법"이라고 했습니다. 첫 번째 버전은 기본 뼈대만 갖췄지만, 효과가 분명했습니다. 학생들은 첫 번째 버전을 읽었고, 수업 시간에 어려운 주제나 흥미로운 주제를 설명해도 이해할 수 있게 되었고, 무엇보다도 학생들이 실습할 수 있게 되었습니다. 저는 이 책을 GNU 자유 문서 라이선스(Free Documentation License, FDL)로 내놓았으므로 사람들은 이 책을 복사, 수정, 배포할 수 있었습니다. 이후에 일어난 일이 정말 멋진 부분입니다. 버지니아에 있는 고등학교 선생님인 제프 엘크너(Jeff Elkner)는 제 책을 선택해서 파이썬으로 옮겼습니다. 제프는 자신이 만든 파이썬 버전 한 부를 보내줬는데 저는 자신이 쓴 책을 읽으면서 파이썬을 배우는 이상한 경험을 했습니다. 저는 첫 번째 파이썬 버전을 2001년에 그린 티 출판사(Green Tea Press)라는 이름으로 출간했습니다. 2003년에는 올린공과대학교에서 강의를 시작했고, 처음으로 파이썬을 가르치게 되었습니다. 자바와 매우 달랐습니다. 학생들은 고생을 덜 하면서 더 많이 배우고, 더 흥미 있는 프로젝트를 하게 되었고, 대다수는 훨씬 더 재미있어했습니다. 그 이후로도 책을 꾸준히 개발해오면서 오류를 수정하고, 예제들을 더 개선하고, 수업 자료를 추가해왔으며, 특히 연습 문제가 보강되었습니다. 그 결과가 이 책이며 이제는 조금은 겸손해진 <씽크 파이썬(Think Python)>이라는 제목을 갖게 되었습니다. 변경된 점도 있는데, 이는 다음과 같습니다. ● 각 장의 끝에 디버깅 절을 추가했다. 디버깅 절에서는 버그를 발견하고 피하는 일반적인 기법을 제시하고, 파이썬의 함정에 대한 주의 사항을 담았다. ● 더 많은 연습 문제를 추가했다. 이해했는지 묻는 짧은 테스트부터 몇 가지 큰 프로젝트까지 아우르는 연습 문제를 추가했다. 연습 문제 대부분은 내 해법에 대한 링크를 담고 있다. ● 사례 연구를 추가했다. 더 길어진 예제에는 연습 문제, 해법, 토론을 함께 제공한다. ● 프로그램 개발 계획이나 기본 디자인 패턴에 대한 논의를 담았다. ● 디버깅과 알고리즘 분석에 대한 부록을 추가했다. 개정 2판에 추가된 새 특징은 다음과 같습니다. ● 이 책과 예제 코드는 모두 파이썬 3에 맞춰 개정되었다. ● 초심자가 브라우저에서 파이썬을 실행해볼 수 있는 절을 추가했으며 웹에 더 자세한 내용을 올려두었다. 따라서 원하지 않는다면 파이썬을 설치하지 않아도 된다. ● "turtle 모듈"(70쪽)은 내가 만든 거북이 그래픽 패키지 Swampy 대신 파이썬 표준 모듈인 turtle로 바꿨다. turtle 모듈은 설치가 더 쉽고, 더 강력하다.

통계의 함정

우리는 질문에 답하고 논쟁을 해소하는 데 데이터를 이용할 수 있다. 더 나은 결정을 내리는 데도 데이터를 이용할 수 있지만 늘 쉽지만은 않은 일이다. 그중 한 문제는 확률에 대한 우리의 직관이 때로 위험할 정도로 사실을 호도한다는 점이다. 예를 들면, 2021년 10월, 한 유명 팟캐스트의 출연자는 "영국에서 COVID-19로 인한 사망자의 70% 이상이 백신 접종을 받은 사람들"이라고 우려 섞인 목소리로 주장했다. 그의 주장은 정확했다. 그 숫자는 영국 공중보건국(Public Health England)이 신뢰할 만한 전국 통계를 바탕으로 발표한 보고서에서 나온 것이었다. 하지만 백신이 소용없거나 실제로는 해롭다는 그의 암시는 잘못된 것이다. 9장에서 볼 수 있듯이, 우리는 동일한 보고서의 데이터를 바탕으로 백신의 효율성을 계산해 몇 명의 목숨을 구했는지 추산할 수 있다. 그에 따르면 백신은 사망을 예방하는 데 80% 넘게 효과적이었고, 4주의 기간 동안 4800만 명의 인구 가운데 7000명 이상의 목숨을 구했다. 만약 한 달에 7000명의 목숨을 구할 기회가 우리에게 주어진다면, 그 기회를 잡아야 할 것이다. 이 팟캐스트의 출연자가 저지른 실수는 '기저율 오류(base rate fallacy)'라고 불리는데 누구나 쉽게 저지를 수 있는 실수다. 이 책에서 우리는 확률에 근거한 의사 결정이 건강이나 자유, 혹은 생명을 좌우할 수 있는 의료, 사법 체계, 그리고 다른 관련 분야의 사례들을 보게 될 것이다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자