코딩 뇌를 깨우는 파이썬 - 문제 해결 능력을 키우는 컴퓨팅 사고부터 알고리즘, 데이터 분석, 머신러닝까지
존 V. 구태그 지음, 박해선 옮김 / 한빛미디어 / 2023년 8월
평점 :
장바구니담기



챗GTP가 날린 강력한 핵펀치로 인해, 다들 인공지능 시대가 다가왔음을 느끼고 있을 것이다. 금융, 제조, 의료, 교통, 군사 등 많은 영역에 AI 기술이 더욱더 폭넓게 쓰일 것이다. 따라서 이쪽 분야에 관심을 가지고 있다면, 인공지능을 다루기 위해, 프로그래밍 공부를 해둘 필요가 있다. 더욱이 지금 나와 있는 인공지능 책 대부분이 파이썬이라는 프로그래밍 언어를 사용해서 설명하고 있다 보니, 파이썬은 필수로 익혀야 한다.


그런 면에 있어서 MIT 교수 존 V. 구태그의 '코딩 뇌를 깨우는 파이썬'은 인공지능과 파이썬이란 두 마리 토끼를 한꺼번에 잡기에 좋은 책이다. 게다가 이 책은 단순히 프로그램 문법이나 인공지능 지식만 익히는 것이 아니라, 프로그래밍하는 데 있어 가장 중요한 문제 해결 능력을 키워주는데도 안성맞춤이다.



요즘은 초등학교 때부터 코딩 교육을 많이 하는데, 사실 프로그램 문법이나 코딩 자체는 중요한 부분이 아니다. 그것보다는 주어진 문제를 논리적 사고와 함께 효율적, 창조적으로 해결하는 능력을 키우는 것이 핵심이다. 이런 문제 해결 능력을 키우기 위해 '코딩 뇌를 깨우는 파이썬'에서는 문제 해결에 계산적으로 접근하는 방법을 선택하고 있다. 헤론의 제곱근 계산을 시작으로 근삿값 찾기, 이분 검색, 뉴턴-랍슨 방법, 피보나치 수열과 같이 수학적 사고를 필요로 한 예제들을 주로 이용한다. 이걸 비교도 해보고, 차이점 또는 개선점도 알아보며 응용력, 해결 능력을 키우는 것이다.


인공지능을 이해하기 위해선 많은 수학 지식이 필요하다. 앞에서 말한 근삿값 처리 방법도 알 필요가 있고, 각종 알고리즘, 확률과 통계, 그래프 처리에 대한 지식도 많이 알고 있어야 한다. '코딩 뇌를 깨우는 파이썬'에서는 기초 수준에서 이런 것들을 대부분 다루고 있다.



3부까지는 주로 파이썬 문법적인 것을 주로 다루는데, 4부부터는 문법보다는 실제 프로그래밍 또는 인공지능, 머신러닝에 도움이 되는 내용들을 본격적으로 다룬다. 4부의 알고리즘은 파이썬뿐만 아니라, 모든 프로그래밍에서 속도와 효율, 최적화 관련해서 매우 중요한 부분이므로 철저히 이해하는 것이 좋다. 한번 잘 이해해두면, 다른 책을 볼 때 많은 시간을 절약할 수 있다.


그래프 이론, 동적계획법을 통해 최적화하는 방법도 배우고, 랜덤워크로는 시뮬레이션 모델링을 익힌다.



프로그래밍에 있어 데이터 처리는 필수다. 빅데이터나 인공지능 기술에서는 더욱더 그렇다. 그래서 '코딩 뇌를 깨우는 파이썬'에서는 이것을 비중 있게 다룬다. 확률, 분산, 분포, 표준편차, 추론, 오차, 정규분포, 베이즈 같은 다양한 통계 수학이 나온다. 그래프 처리에 관한 것도 여기서 많이 다룬다. 재미있는 건, 통계의 오류, 통계의 거짓말 같은 것도 다루고 있다는 것이다. 객관적이고 중심을 잃지 않는 시각을 가지고 프로그래밍하라는 조언을 담고 있다.



머신러닝 파트에서는 판다스에 대한 설명이 먼저 나온다. 여기서는 파이썬 입문서인 만큼 기본적인 기능 정도만 살펴보고 있다. 머신러닝 역시도 개념을 잡는 정도로만 다룬다. 그러나 '코딩 뇌를 깨우는 파이썬'에서 배운 데이터 처리나 각종 수학 지식들은 꼭 필요한 기본 지식이므로 보다 깊이 있는 인공지능 서적을 보는데 큰 도움이 될 것이다.


이 책은 서두에 저자가 밝혔듯이 MIT 학부 과정 강의노트에서 시작된 교재 성격이 강하다. 그렇지만 도표가 많고, 함축된 표현의 XX개론 그런 것과는 다르게 설명 위주의 흐름으로 되어 있다. 작동 개념이나 컴퓨터 관련 역사 그런 것들이 교재 느낌이 들게는 하지만, 그렇다고 그것이 불필요한 것은 아니다. 입문자 입장에서는 오히려 이해를 돕기 위해 필요한 부분이라 생각한다.



본문 아래에 나오는 주석도 컴퓨터 관련 다양한 지식을 쌓는데 매우 유용하다. 게다가 옮긴이가 추가로 보강 설명하고 있는 부분이 많아서, 내용을 더 쉽게 이해할 수 있어 좋았다.



곳곳에서 등장하는 '뇌풀기 문제'는 보통 각 장이 끝나면, 나오는 연습문제가 본문에 흩어져 나온 거라 생각하면 된다. 책 진도 속도 신경 쓰지 않고, 하나씩 풀어 보는 것이 좋다. 본문을 제대로 이해하고, 오래 기억하는데 큰 보탬이 된다.



'코딩 뇌를 깨우는 파이썬'에 나오는 각종 예제 코드들은 주제 자체가 실무적인 측면이 강하다. 모기지 계산, 전염병 확산 시뮬레이션처럼 국제적 이슈 같은 것들도 있고, 탄성 계산, 발사체 운동, 온도 데이터 같은 과학적인 것, 월드시리즈, 보스턴 마라톤, 화석 연료 소비량 같은 사회, 문화 등 주제가 다채롭다. 이런 예제를 연습함으로써, 비슷한 주제를 프로그래밍 할 수 있는 응용력을 기른다 생각한다. 뇌풀기 문제에도 이런 것들이 많이 등장한다.


단지 문법 설명을 위한 전혀 의미 없는 예제보다는 이렇게 응용력을 기를 수 있는 예제들이 프로그램 입문자에게는 제대로 된 기초 체력 트레이닝이 될 것이다.



그리고 이 책은 온라인 공개강좌 MOOC로도 제공되고 있고, 유튜브에 박해선 번역자의 강의도 올려져 있다. 이해 안 되는 부분을 강의를 통해 보강할 수 있다.  이 역시 파이썬을 입문하는 사람들에게는 도움 되는 좋은 요소다.



본 서평에 수학적인 부분을 많이 강조했는데, 이는 오랜 시간 개발자로 일하며 느낀 내 생각이 많이 포함된 것이다. 수학적 이해도가 낮고, 수학적 접근을 못하면, 개발에 많은 어려움이 발생한다. 성능 면에서 좋은 프로그램을 짜기도 힘들다. 주어진 것 밖에 못하는 하급 코더 취급받기 십상이다. 인공지능도 단순 활용은 할 수 있을지 모르지만, 그 이상은 기대하기 힘들다.


따라서 처음부터 수학적 문제 해결 습관을 배우는 것이 참 중요하다 생각한다. '코딩 뇌를 깨우는 파이썬'은 파이썬과 함께 머신러닝도 다루고 있으며, 프로그래머로서 필요한 사고방식과 수학적 응용력을 키우는데 포커스가 잘 맞춰진 책이다. 프로그래밍 언어 종류를 떠나 코딩 첫걸음을 제대로 떼는데 좋은 교재가 되어 줄 것이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo