이미 소장하고 있다면 판매해 보세요.
|
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 |
강순자 의 다른 상품
박진환의 다른 상품
|
우리가 살고 있는 사회를 이끌어 갈 인재는 창의적 사고, 융합적인 사고, 문제해결력 등을 갖추어야 한다고 말하고 있습니다. 이미 커다란 변화가 진행되고 있는 소프트웨어 중심의 미래사회에서는 컴퓨팅 능력 또한 인재가 갖추어야 할 능력이라고 말합니다. 컴퓨팅 사고력이란 컴퓨터 환경에서 프로그래밍을 통해 창의적으로 문제를 해결하는 능력으로서 읽기, 쓰기, 셈하기와 같은 기본적인 소양에 추가되어야 할 분석적 능력입니다.
여러분은 이 책의 여러 가지 흥미로운 수학 문제들을 해결해 가는 과정 속에서 수학적 문제해결력은 물론 컴퓨팅 사고력 더 나아가 프로그래밍 능력이 향상됨을 느낄 것입니다. 이 책은 정규 교육과정에 도입된 교육용 프로그래밍 언어 ‘파이썬’을 기반으로 하고 있습니다. 여러 가지 프로그래밍 언어 가운데 파이썬은 인간의 사고와 유사한 문법을 지니고 있어 빠르게 파이썬 문법을 학습할 수 있다는 것이 무엇보다도 큰 장점입니다. 이 쉽고 간결한 문법 덕분에 파이썬은 높은 생산성을 자랑합니다. 즉, 파이썬을 활용할 경우 더 간단한 코드로 더 많은 작업을 수행할 수 있으며, 어떤 프로그래밍 언어보다 빠른 개발이 가능합니다. 다른 언어나 라이브러리에 쉽게 접근해 연동할 수 있으며 높은 성능의 애플리케이션 개발이 필요한 경우 C/C++과 같은 언어를 파이썬과 결합해 사용할 수도 있습니다. 파이썬은 수많은 표준 라이브러리를 제공하고 있어 프로그래머는 모든 코드를 일일이 작성할 필요가 없이 기존에 작성된 파이썬 표준 라이브러리를 활용하면 됩니다. 각 분야에서 파이썬의 활용도는 매우 높습니다. 웹사이트를 통해 프로그래머들이 스스로 작성한 파이썬 패키지를 공유하고, 다른 개발자가 배포한 패키지를 이용할 수도 있습니다. 이와 같은 장점들은 우리가 프로그래밍에 친숙해지는 계기를 제공하고 교육과정에 도입된 이유이기도 합니다. 이 책에서 파이썬과 함께하는 다양한 수학 탐구활동은 호기심을 자극하고 탐구에 흥미를 더해 줄 것입니다. 이 책에서는 수학적 문제 해결력과 컴퓨팅 사고의 개발이라는 두 가지 목적을 달성하고자 하였습니다. 많은 연구에서 수학교과와 코딩의 통합이 수학적 사고, 문제 해결력, 컴퓨팅 사고의 개발에 긍정적 영향을 미치고 있다는 사실을 증명하고 있습니다. 이에 수학 문제 해결 과정에서 자연스럽게 프로그래밍 언어를 익힘으로써 수학적 문제 해결력과 컴퓨팅 사고의 개발이라는 두 가지 목적을 달성하고자 하였으며 따라서 주제의 선택, 문제해결의 알고리즘화, 창의적 활동에 역점을 두고 이 책을 구성하였습니다. 이 책은 파이썬이라는 프로그래밍 언어에 관심을 가진 교사와 학생을 포함한 모든 분들에게 유용한 도서입니다. 미래사회에 대처하는 수학교사의 전문성 강화를 위한 연수, AI 관련 정규 교과목을 위한 교재로 유용한 책입니다. 중등학교의 자유학기제의 프로젝트 활동, 창의체험활동, 동아리의 주제탐구 활동, 수학영재교육 등 다양한 탐구활동에 활용될 수 있습니다. 수학과 프로그래밍 교육의 통합 우리는 현대와 같은 지능, 정보, 기술의 융합과학시대를 소위 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개의 코너로 구성하여 전개해 가고 있습니다. ◎ 수학 개념 코너에서는 프로그래밍을 위한 관련 수학개념을 설명하였습니다. ◎ 프로그래밍 코너에서는 문제해결에 이르는 알고리즘을 생각하고 프로그램을 작성하도록 하였습니다. ◎ 더 나아가기 코너에서는 제시된 문제의 심화문제를 다루었습니다. ◎ 도전 문제 코너에서는 독자의 탐구욕을 자극하는 문제를 제시하여 스스로 해결해 보도록 하였습니다 · 코딩의 방법은 다양합니다. 이 책에서 제시한 방법은 하나의 예에 불과합니다. 독자 나름대로의 코드 작성을 시도해 보길 권합니다. |