장바구니 담기 close

장바구니에 상품을 담았습니다.

파이썬으로 여는 수학의 문

파이썬으로 여는 수학의 문

  • 강순자
  • |
  • 지오북스
  • |
  • 2024-02-20 출간
  • |
  • 290페이지
  • |
  • 188 X 257mm
  • |
  • ISBN 9791191346862
판매가

24,000원

즉시할인가

23,760

배송비

2,500원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
23,760

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

수학과 프로그래밍 교육의 통합

우리는 현대와 같은 지능, 정보, 기술의 융합과학시대를 소위 4차 산업 혁명의 시대라 말합니다. 이 시대는 인공로봇, 챗GPT, 사물인터넷, 무인 자동차 등에서와 같이 소프트웨어의 역할이 더욱 커진 소프트웨어 중심사회입니다. 소프트웨어는 생활에서의 번거로운 일들을 편리하게 자동으로 처리할 수 있게 해 줌으로써 우리의 생활에 큰 변화를 가져왔습니다. 스마트폰 앱만 보아도 너무도 편리한 많은 앱들이 그동안 우리가 상상했던 일들을 실현시켜 주면서 우리의 생활에 편의를 제공하고 있습니다. 앞으로는 소프트웨어로 무장된 인공지능 로봇과 함께 일해야 하는 시대가 됩니다. 혁명이라 부를 정도의 급격한 시대의 변화는 사람들이 지식에 접근하고 서로 소통하는 방식과 함께 정치, 경제, 교육 등 사회 전반에 걸쳐 변화를 요구하고 있습니다.

교육 내용 및 방법에서도 변화가 요구되고 있습니다.
특히 세계 교육의 흐름에서 주목할 만한 것은 교육에 지대한 영향을 미쳤던 컴퓨터의 사용에 대한 패러다임이 CAI(Computer Assisted Instruction)에서 프로그래밍 교육으로 변하고 있다는 것입니다. 영국을 비롯한 세계 여러 나라에서 이미 초중등교육과정에 프로그래밍 교육을 도입하여 어떤 문제가 발생하였을 때 문제를 해결하기 위해 자료를 수집하고 이를 정보로 만드는 과정 그리고 자료를 단순화하여 문제 해결의 실마리를 찾고 컴퓨터 프로그래밍을 통하여 문제를 해결할 수 있는 능력의 배양에 초점을 두고 교육하고 있습니다.

프로그래밍 교육의 도입 목적은 문제 해결력과 컴퓨팅 사고력의 개발에 있습니다.
교육에서의 세계적 흐름에 발맞추어 우리나라에서는 ‘2015년 문ㆍ이과 통합형 교육과정 총론’에 소프트웨어 교육의 강화에 대한 내용을 포함시켰습니다. 이에 따라 2018년부터 중등 정보교과에서 프로그래밍 교육을 실시하고 있고, 2019년에는 초등교육과정에서 실과 교과에 프로그래밍 교육이 도입되었습니다. 여기서 주목할 것은 컴퓨터 프로그래밍 도입의 목적을 프로그래밍 기능의 숙달보다는 문제해결에 초점을 둔 컴퓨팅 사고(Computational Thinking, CT)의 개발이라고 정하고 있다는 것입니다.

특히 컴퓨팅 사고력은 읽기, 쓰기, 셈하기와 같은 기본적인 소양에 추가되어야 능력입니다.
미래사회의 인재가 갖추어야 할 기본적 소양에 컴퓨팅 사고력을 추가해야 한다고 말합니다. 컴퓨팅 사고란 문제해결, 시스템 디자인 그리고 인간행위에 대한 이해 등을 포함한 기능으로서 모든 사람들이 배우고 사용할 수 있는 읽기, 쓰기, 셈하기와 같은 기본적인 소양에 추가되어야 할 분석적 능력입니다(Wing, 2006). 간단히 말해서, 복잡한 문제를 알고리즘적으로 해결하는 데 사용되는 사고로서 컴퓨터 환경에서는 컴퓨터가 실행할 수 있는 방식으로 문제와 해를 표현하는 일련의 문제해결 방식이라고 볼 수 있습니다.

컴퓨팅 사고의 개발은 수학과 프로그래밍의 통합 속에서 이루어질 때 더욱 효과적입니다.
컴퓨팅 사고의 요소들은 수학적 사고, 모델링과 같은 수학적 문제해결의 요소와 맥을 같이하고 있습니다. 따라서 최근에는 수학교육과 프로그래밍의 통합을 통해 문제 해결력 뿐 아니라 컴퓨팅 사고를 개발하려는 많은 시도가 이루어지고 있습니다.
이러한 시도의 일환으로 이 책에서는 수학에서의 흥미로운 주제를 선정하고 주제 탐구과정에서 수학학습과 코딩의 통합이 이루어지도록 하였습니다. 즉, 이 책을 통해 수학 문제 해결과정에서 자연스럽게 프로그래밍 언어를 익히고, 프로그래밍 과정에서 수학적 능력과 컴퓨팅 사고력의 향상을 기대합니다.


이 책 내용의 구성
ㆍ 이 책에서는 개발환경으로 쓰이는 Anaconda와 Jupyter Notebook을 사용하였습니다.
ㆍ 이 책에서는 파이썬 프로그래밍 언어를 사용하여 프로그래밍과 수학을 통합하려는 시도를 하였습니다. 프로그래밍을 이용하여 수학 문제를 해결하는 과정에서 프로그래밍 언어의 습득을 기대합니다.
ㆍ 프로그래밍을 통해 수학문제를 해결하는 과정에서 컴퓨팅 사고의 개발을 도모하였습니다.
ㆍ 주제 선정은 파이썬의 내장함수와 turtle, math, random, matplotlib, numpy, pandas 정도의 모듈만을 써서 해결할 수 있도록 선정하였습니다.
ㆍ 알고리즘적 사고와 간단한 프로그램 언어만을 익히기보다는 수학적 분석을 필요로 하는 주제를 선택하였습니다. 단순히 그래프를 그려보거나 미분이나 적분을 계산해 보는 등의 파이썬의 단순기능 습득만을 위한 주제는 배제하였습니다.
ㆍ 컴퓨팅 사고력 개발에 기여할 수 있도록 컴퓨팅 사고의 핵심 요소(추상화, 알고리즘, 자동화)를 반영하여 문제해결 과정에 수학적 분석과 프로그래밍 단계를 제시하였습니다.
ㆍ 주어진 문제를 해결해 봄으로써 수학 개념의 유용성과 가치를 느낄 수 있는 주제를 선택하였습니다.
ㆍ 수학 지식수준과 코딩의 난이도를 고려하여 체계적으로 나열하였습니다.
ㆍ 단원은 수와 연산, 확률과 통계, 기하의 세 영역을 선정하였고 각 단원별로 6~7 개의 흥미로운 주제를 다루었습니다.
ㆍ 각 프로젝트는 4개의 코너로 구성하여 전개해 가고 있습니다.
◎ 수학 개념 코너에서는 프로그래밍을 위한 관련 수학개념을 설명하였습니다.
◎ 프로그래밍 코너에서는 문제해결에 이르는 알고리즘을 생각하고 프로그램을 작성하도록 하였습니다.
◎ 더 나아가기 코너에서는 제시된 문제의 심화문제를 다루었습니다.
◎ 도전 문제 코너에서는 독자의 탐구욕을 자극하는 문제를 제시하여 스스로 해결해 보도록 하였습니다
ㆍ 코딩의 방법은 다양합니다. 이 책에서 제시한 방법은 하나의 예에 불과합니다. 독자 나름대로의 코드 작성을 시도해 보길 권합니다.

목차

목차
1부 파이썬

I. Python에 대한 간단한 소개 2
II. Python의 설치 3
III. Python의 기초 11
IV. turtle 그래픽 모듈을 사용하여 도형 그리기 27

2부 탐구 프로젝트

1. 완전수(Perfect number) 33
프로그램 1-1 「36은 완전수인가?」
프로그램 1-2 「n은 완전수인가? 판별함수」
프로그램 1-3 「완전수 리스트 함수」
프로그램 1-4 「완전수 부족수 과잉수 판별함수」
프로그램 1-5 「완전수 부족수 과잉수 개수 구하기 함수」
프로그램 1-6 「소수 판별함수」
프로그램 1-7 「유클리드 원리에 따라 완전수 찾기 함수」

2. 유클리드 호제법(Euclidean Algorithm) 47
프로그램 2-1 「최대공약수1」
프로그램 2-2 「유클리드 호제법 1」
프로그램 2-3 「유클리드 호제법1 함수」
프로그램 2-4 「유클리드 호제법2 함수」
프로그램 2-5 「n개 수의 최대공약수」

3. 피보나치 수열(Fibonacci sequence) 57
프로그램 3-1 「등차수열 항 말하기 함수」
프로그램 3-2 「등비수열 항 말하기 함수」
프로그램 3-3 「재귀함수에 의한 피보나치 수열항 나열」
프로그램 3-4 「피보나치 수열의 짝수항들의 합」
프로그램 3-5 「피보나치 수열과 황금비의 관계」
프로그램 3-6 「피보나치 수열의 인접한 두 항의 비 그래프」

4. 에라토스테네스의 체(Eratosthenes Sieve) 69
프로그램 4-1 「소수 판별 함수」
프로그램 4-2 「주어진 수 보다 작은 모든 소수 나열하기」
프로그램 4-3 「에라토스테네스의 체1」
프로그램 4-4 「에라토스테네스의 체2」
프로그램 4-5 「에라토스테네스의 체3」
프로그램 4-6 「소인수분해」
프로그램 4-7 「코드 속도 비교」

5. 원리합계(Amount of principal and interest) 81
프로그램 5-1 「정기예금(연복리)원리합계」
프로그램 5-2 「적금(복리)원리합계」
프로그램 5-3 「복리 적금 원리합계 함수」
프로그램 5-4 「목표액 달성기간(정기예금) 함수」
프로그램 5-5 「목표액 달성기간(적금) 함수」
프로그램 5-6 「목표액 달성기간(적금) 구하기」

6. 전기요금(Electric charges) 93
프로그램 6-1 「그래프 그리기」
프로그램 6-2 「사용량에 따른 전기요금」
프로그램 6-3 「사용량에 따른 전기요금 그래프1」
프로그램 6-4 「사용량에 따른 전기요금 그래프2」
프로그램 6-5 「전기요금 표 만들기」

7. 콜라츠 추측(Collatz conjecture) 105
프로그램 7-1 「우박수열_500」
프로그램 7-2 「우박수열_m」
프로그램 7-3 「각 수에 대응하는 우박수열 길이의 그래프」
프로그램 7-4 「콜라츠 추측 path들」

8. 마방진(Magic square) 115
프로그램 8-1 「홀수차 마방진 만들기」
프로그램 8-2 「3차의 모든 마방진 생성」
프로그램 8-3 「각 행의 합」
프로그램 8-4 「각 열의 합」
프로그램 8-5 「각 대각선의 합」
프로그램 8-6 「마방진 판별」

9. 하노이 탑 퍼즐(Tower of Hanoi puzzle) 127
프로그램 9-1 「이동횟수 구하기 함수」
프로그램 9-2 「이동경로함수」

10. 님 게임(Nim game) 135
프로그램 10-1 「컴퓨터 필승1」
프로그램 10-2 「컴퓨터 필승2」

11. 황금 나선(Golden spiral) 147
프로그램 11-1 「피보나치수열의 첫째항부터 n번째 항까지 나열」
프로그램 11-2 「피보나치수열의 첫째항부터 n번째 항의 list」
프로그램 11-3 「피보나치 나선 그리기」
프로그램 11-4 「피보나치 나선 그리기 함수」
프로그램 11-5 「황금 나선 그리기 함수」
프로그램 11-6 「정사각형안의 사분원 그리기 함수」

12. 장미꽃 디자인(Roseflower design) 161
프로그램 12-1 「정다각형 그리기」
프로그램 12-2 「정오각형 장미(작은 정오각형부터 그리기 시작하기)」
프로그램 12-3 「정각형 장미(작은 정각형부터 그리기 시작하기)」
프로그램 12-4 「정오각형 장미(큰 정오각형부터 그리기 시작하기)」
프로그램 12-5 「색칠한 정오각형 장미」
프로그램 12-6 「정각형 장미에 임의의 색칠」

13. 별 다각형(Star polygon) 175
프로그램 13-1 「(8,3)타입의 별 다각형1」
프로그램 13-2 「서로소인 q,p에 대한 별 다각형그리기 함수」
프로그램 13-3 「(8,3) 타입 별 다각형 2」
프로그램 13-4 「서로소인 q,p에 대한 (q,p) 타입 별 다각형 함수 2」
프로그램 13-5 「임의의 q,p에 대한 (q,p)타입 별 다각형 함수」

14. 코흐 눈송이(Koch snowflake) 189
프로그램 14-1 「코흐 곡선 그리기 재귀함수」
프로그램 14-2 「코흐 눈송이 함수」
프로그램 14-3 「코흐 눈송이 변형 함수」

15. 프랙탈 나무(Fractal tree) 199
프로그램 15-1 「이진트리 그리기 함수1」
프로그램 15-2 「이진트리 그리기 함수2」
프로그램 15-3 「피타고라스 나무 그리기 함수1」
프로그램 15-4 「피타고라스 나무 그리기 함수2」

16. 의 근삿값(Approximation to Pi) 213
프로그램 16-1 「다트보드 그리기 함수」
프로그램 16-2 「다트를 던지고 원 안의 점의 수세기」
프로그램 16-3 「다트보드 그리기, 던지기」
프로그램 16-4 「 구하기」

17. 베르트랑의 역설(Bertrand’s paradox) 221
프로그램 17-1 「원 그리기」
프로그램 17-2 「막대던지기 모의실험 함수」
프로그램 17-3 「베르트랑 확률계산」

18. 벤포드 법칙(Benford’s law) 231
프로그램 18-1 「n개의 수 중 첫째자리 수가 k인 수의 개수 함수와 그래프」
프로그램 18-2 「, 의 가수의 분포를 보여주는 함수」

19. 몬티 홀 문제(Monty Hall problem) 239
프로그램 19-1 「선택에 따른 성공확률」
프로그램 19-2 「확률의 변화 그래프」 프로그램 19-3 「몬티 홀 문제의 일반화 함수」

20. 행렬과 최소제곱문제(least squares problem) 251
프로그램 20-1 「벡터의 내적과 곱, 행렬의 합과 곱」
프로그램 20-2 「함수 그래프 그리기」
프로그램 20-3 「산점도 그리기」
프로그램 20-4 「산점도와 추세선 함께 그리기」
프로그램 20-5 「손실함수 구하기」
프로그램 20-6 「추세선 구하기」
프로그램 20-7 「추세곡선 구하기」

3부 예제 프로그램 다운로드 및 설치방법
1. 프로그램 예제 다운로드 268
2. ColabTurtlePlus 설치방법 269
3. 프로그램 차례 270

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.