파이썬과 함께 하는 수학 어드벤처 (파이썬과 프로세싱으로 수학 개념 이해하기)

파이썬과 함께 하는 수학 어드벤처 (파이썬과 프로세싱으로 수학 개념 이해하기)

$31.23
Description
파이썬과 프로세싱을 활용해 파이썬의 기본 문법뿐만 아니라 수학, 과학, 예술 사이의 연관성을 발견해 나가며 도전적이고 재미있게 파이썬을 배울 수 있다.
3개의 Part로 나눠지며, Part 1에서는 파이썬의 기본 문법을 다루고, Part 2에서는 파이썬과 프로세싱으로 수학의 개념을 이해하며, Part 3에서는 파이썬 클래스를 과학 및 예술 영역으로 확장해 적용한다.
저자

피터파렐

케냐에서평화봉사단의자원봉사자로시작해8년간수학교사로재직했으며,그후3년동안컴퓨터공학교사로재직했다.시모어페퍼트(SeymourPapert)의『Mindstorms』을읽고한학생에게파이썬에대해들은후,수학수업에프로그래밍을도입할영감을얻었다.컴퓨터를활용해수학학습을좀더의미있고,흥미로우면서도도전적으로만드는것에큰관심이있다.

목차

Part1.파이썬매력에빠지기

1단원.turtle모듈로다각형그리기

__파이썬의turtle모듈
____turtle모듈불러오기
____거북이움직이기
____방향변경하기
__루프를이용해코드반복하기
____for루프사용하기
____for루프를사용해정사각형그리기
__함수사용하기
__변수를사용해도형그리기
____함수에서변수사용하기
____변수오류
__정삼각형
____triangle()함수정의하기
____변수값변경하기
__요약


2단원.리스트와루프로산술연산하기

__기본연산자
____변수에연산자사용하기
____연산자를사용해average()함수만들기
____연산순서에유의하자!
____연산자와함께괄호사용하기
__파이썬의자료형
____정수와실수
____문자열
____부울
____자료형확인하기
__리스트를사용해값저장하기
____리스트의항목추가하기
____리스트에연산자사용하기
____리스트의항목제거하기
__루프에서리스트사용하기
____인덱스를사용해리스트의개별항목에접근하기
____enumerate()를사용해인덱스및값에접근하기
____인덱스는0에서시작한다
____범위로리스트항목접근하기
____항목의인덱스찾기
____문자열에인덱스사용하기
__합계
____running_sum변수생성하기
____mysum()함수생성하기
__숫자형리스트의평균구하기
__요약


3단원.조건문으로추측하고확인하기

__비교연산자
__if-else문을사용해의사결정하기
__조건문을사용해인수찾기
____factors.py프로그램작성하기
____움직이는거북이
__숫자추측게임만들기
____랜덤숫자생성기만들기
____사용자입력받기
____사용자입력값을정수로변환하기
____조건문을사용해올바른추측인지확인하기
____루프를사용해추측계속하기
____숫자추측게임팁
__제곱근찾기
____숫자추측게임논리적용하기
____squareRoot()함수만들기
__요약


Part2.수학의영역으로들어가기

4단원.대수학을사용해숫자를변환하고저장하기

__일차방정식해결하기
____일차방정식의일반식찾기
____equation()함수만들기
____return대신print()사용하기
__고차방정식해결하기
____quad()를사용해이차방정식해결하기
____plug()를사용해삼차방정식해결하기
__그래프로방정식해결하기
____프로세싱시작하기
____그래프작성도구만들기
____방정식그래프작성하기
____추측을통해방정식의해찾기
____guess()함수만들기
__요약


5단원.기하학을사용해도형변형하기

__원그리기
__좌표를사용해위치지정하기
__도형변형함수
____translate()을사용해도형이동하기
____rotate()를사용해도형회전하기
____원으로원그리기
____사각형으로원그리기
__움직이는객체
____변수t만들기
____개별사각형회전하기
____pushmatrix()및popmatrix()를사용해방향저장하기
____원점을중심으로회전하기
__반응형무지개그리드만들기
____도형을이용해그리드그리기
____도형에무지개색추가하기
__삼각형을이용해복잡한패턴그리기
____30-60-90삼각형
____정삼각형그리기
____여러개의회전하는삼각형그리기
____위상이동
____디자인마무리하기
__요약


6단원.삼각법으로진동생성하기

__삼각법을이용해회전및진동하기
__다각형그리는함수만들기
____루프를이용해육각형그리기
____정삼각형그리기
__사인곡선만들기
____흔적남기기
____파이썬내장함수인enumerate()함수사용하기
__스피로그래프프로그램만들기
____작은원그리기
____작은원회전시키기
__하모노그래프만들기
____하모노그래프프로그램만들기
____한번에리스트채우기
____2개의진자가1개보다좋다
__요약


7단원.복소수

__복소좌표계
__복소수더하기
__복소수에i곱하기
__두개의복소수곱하기
__magnitude()함수만들기
__망델브로집합만들기
____mandelbrot()함수만들기
____망델브로집합에색추가하기
__줄리아집합만들기
____julia()함수만들기
__요약


8단원.컴퓨터그래픽및연립방정식에행렬사용하기

__행렬이란무엇인가?
__행렬덧셈
__행렬곱셈
__행렬곱셈에서순서의중요성
__2차원도형그리기
__행렬변형하기
__전치행렬
__실시간으로행렬회전시키기
__3차원도형만들기
__회전행렬만들기
__행렬을이용해연립방정식풀기
____가우스소거법
____gauss()함수만들기
__요약


Part3.새로운길개척하기

9단원.클래스로객체생성하기

__공튕기기프로그램
____공움직이기
____벽에공튕기기
____클래스없이여러개의공만들기
____클래스를사용해객체생성하기
__양방목프로그램
____Sheep클래스만들기
____돌아다니는양만들기
____에너지속성만들기
____클래스를사용해잔디만들기
____양이잔디를먹으면갈색으로변하도록만들기
____양의색지정하기
____양이번식하도록프로그래밍하기
____잔디재생시키기
____진화론적이점부여하기
__요약


10단원.재귀법을이용해프랙탈만들기

__해안선의길이
____재귀법이란무엇인가?
____factorial()함수만들기
____프랙탈나무(fractaltree)만들기
__코흐곡선
____segment()함수만들기
__시에르핀스키삼각형
__사각프랙탈
__드래곤곡선
__요약


11단원.셀룰러오토마타

__셀룰러오토마톤생성하기
____Cell클래스만들기
____각셀의크기조정하기
____CA가성장하게만들기
____행렬에셀넣기
____CellList만들기
__파이썬의리스트는이상하다
____리스트의인덱스표기법
____자동으로CA성장시키기
__라이프게임하기
__초급셀룰러오토마톤
__요약


12단원.유전자알고리즘을사용해문제해결하기

__유전자알고리즘사용해비밀구문추측하기
____makelist()함수만들기
____makeList()함수테스트하기
____score()함수만들기
____mutate()함수만들기
____난수생성하기
__여행하는영업사원문제해결하기(TSP)
____유전자알고리즘사용하기
____calclength()메소드만들기
____calclength()메소드테스트하기
____랜덤경로
____구문추측프로그램의변형아이디어적용하기
____리스트에서두개의숫자교환하기
____교차를통해경로개선하기
__요약

출판사 서평

★이책에서다루는내용★

■행렬을사용해2D및3D그래픽을그리고변환하는방법
■복소수를사용해망델브로집합및줄리아집합과같은화려한디자인을만드는방법
■재귀법으로코흐곡선및시에르핀스키삼각형과같은프랙탈을만드는방법
■잔디밭에서자율적으로풀을뜯고번식하는가상의양을만드는방법
■유전자알고리즘을사용해비밀구문을해독하는방법


★이책의대상독자★

수학을배우거나삼각법,대수와같은수학주제에가장현대적으로접근할수있는도구를사용하고자하는사람을위한책이다.
파이썬을배우는중이라면이책을읽고셀룰러오토마타(cellularautomata)나유전자알고리즘,컴퓨터예술과같이복잡한프로젝트에프로그래밍기술을적용해볼수있다.
교사는이책의프로젝트를사용해학생들에게심화과제를내주거나수학을좀더친근하게느끼고적절하게사용할수있도록가르칠수있다.행렬에여러점을저장하고이를사용해3D그림을그리는것보다행렬을더잘가르칠수있는방법이있을까?파이썬을배운다면더많은것을할수있다.


★이책의구성★

1단원,‘turtle모듈로다각형그리기’에서는파이썬에내장된turtle모듈을사용해반복문(loop),변수(variable),함수(function)와같은기본프로그래밍개념을배운다.
2단원,‘리스트와루프로산술연산하기’에서는리스트(list)및부울(Boolean)과같은프로그래밍개념을자세히설명한다.
3단원,‘조건문으로추측하고확인하기’에서는지금까지배운파이썬기술을인수분해및숫자추측게임과같은문제에적용한다.
4단원,‘대수학을사용해숫자를변환하고저장하기’에서는수치와그래프를이용해간단한방정식부터3차방정식을푼다.
5단원,‘기하학을사용해도형변형하기’에서는도형을생성하고,복제하고,회전하고,화면에퍼뜨리는방법을배운다.
6단원,‘삼각법으로진동생성하기’에서는직각삼각형및삼각함수를이용해진동하는도형과파동을만든다.
7단원,‘복소수’에서는복소수를사용해화면에서점을이동하면서망델브로집합과같은그래프를그려본다.
8단원,‘컴퓨터그래픽및연립방정식에행렬사용하기’에서는3차원을다룬다.3차원도형을이동,회전시키며하나의프로그램으로연립방정식을풀어본다.
9단원,‘클래스로객체생성하기’에서는하나의객체또는컴퓨터가처리할수있는최대개수의객체를생성하는방법을배우며,이를통해움직이는양과잔디의생존경쟁생태계를만든다.
10단원,‘재귀법을이용해프랙탈만들기’에서는재귀법을이용해거리를측정하고놀라운형태의그래프를만들어내는새로운방법을다룬다.
11단원,‘셀룰러오토마타’에서는셀룰러오토마타를정의된규칙에따라생성하고프로그래밍하는방법을설명한다.
12단원,‘유전자알고리즘을사용해문제해결하기’에서는자연선택(naturalselection)이론을활용해수백만년동안풀지못했던문제를해결하는방법을보여준다.