4차 산업혁명 시대에서는 인공지능, 빅데이터, 사물인터넷, 지능형 로봇 등과 같은 핵심 산업 분야가 소프트웨어를 기반으로 구현됩니다. 이를 위해서 코딩이 필수 요건이 되었고, 우리나라에서는 2018년부터 초·중생들을 대상으로 코딩 교육을 의무화했습니다. 이스라엘, 영국, 미국, 중국, 인도, 핀란드 등 세계 각국에서는 이미 코딩 교육을 정규 교과목으로 시행하고 있습니다. 코딩 교육은 컴퓨팅 사고력을 통해 문제를 해결하는 능력과 창의력을 키워줍니다. 이러한 능력은 미래 사회에서 중요한 요소 중 하나이기 때문입니다.코딩(coding)은 컴퓨터 작업을 위해 프로그래밍 언어 명령문을 사용하여 프로그램을 작성하는 일을 말합니다. 프로그램은 코딩으로 만들어진 결과물입니다. 코딩을 하기 위해서는 프로그래밍 언어를 배워야 합니다. 대표적인 프로그래밍 언어로는 베이직, C, 파이썬, 자바 등이 있습니다. 명령문은 프로그래밍 언어의 문법에 따라 작성된 코드입니다. 이렇게 작성된 소프트웨어는 컴퓨터 하드웨어를 작동시키는 데 사용됩니다. 즉, 코딩은 컴퓨터와 소통하는 수단이 되는 것입니다.2022년 12월 22일 교육부가 발표한 2022 개정 교육과정에 정보 교육을 기존의 2배로 확정 고시하였습니다. 2022 개정 교육과정의 주요 내용은 언어·수리·디지털 소양 등을 기초 소양으로 강조하고 교과에 반영하여 특히 초·중등학교 전 과정에서 수리·디지털 소양에 대한 지식·기능을 적용·활용하도록 개선하는 데 중점을 두었습니다. 우리나라는 2018년부터 초·중등학교에 코딩 교육이 의무화되었지만, 세계 여러 나라는 이미 우리나라보다 앞서서 코딩 교육을 시작했습니다. 예를 들어 이스라엘은 1994년부터 소프트웨어 교육을 정규 교과로 실시하여 수많은 소프트웨어 인재를 배출했습니다. 중국은 2001년에이미 초등학교 3학년부터 연간 70시간 이상의 소프트웨어 교육을 시행하였습니다. 인도는 2010년부터 소프트웨어 교육을 초·중·고등학교의 필수과목으로 지정했습니다. 영국은 2014년 초등학교 1학년부터 코딩을 가르치고 있고, 미국 워싱턴주는 K-12 컴퓨터 과학 커리큘럼을 채택하여 유치원부터 고등학교까지 컴퓨터 교육을 하고 있습니다. 또한 핀란드, 스웨덴, 프랑스, 일본 등도 코딩 교육을 우리나라보다 먼저 실시하였습니다.국·영·수·코라는 말을 들어보셨나요? 국어, 영어, 수학, 코딩 각 과목의 첫 글자를 표현한 것입니다. 대학 입시에 중요한 역할을 하는 과목을 의미합니다. 이 말은 우리나라 학생들에게 코딩 교육의 중요성을 가장 잘 표현한 말입니다. 2018년 대학에 ‘소프트웨어(SW) 특기자 전형’이 처음 도입됐습니다. SW 특기자 전형은 대학수학능력평가시험 결과와 상관없이 컴퓨팅 사고력만을 평가해 신입생을 선발하는 제도입니다. 대학 입시에서 코딩의 중요성을 인정한 것입니다. 하지만. 코딩을 통해 배워야 할 중요한 능력은 컴퓨팅 사고력과 창의성입니다. 코딩 교육은 학생들에게 컴퓨팅 사고력을 길러줍니다. 컴퓨팅 사고력이란 ‘문제를 추상화하고 해결할 수 있는 논리적 절차인 알고리즘을 만들어 해결하는 능력’입니다. 알고리즘의 구조를 이해하면 다양한 다른 분야와 연결하고 융합할 수 있습니다. 코딩은 정치, 경제, 인문, 사회, 교육, 예술, 스포츠 등 다양한 분야에 활용되어 창의성을 발휘할 수 있는 도구입니다. 미래 사회는 인공지능의 발전으로 기계가 인간의 일을 대신할 것입니다. 인간은 지능을 가진 로봇과 협업하며 살아가야 합니다. 인간이 가진 로봇보다 우수한 능력은 창의성입니다. 코딩은 컴퓨팅 사고력을 키워주고 창의력을 향상시켜 주는 도구입니다. 수학을 기본으로 하여 코딩을 배운 창의·융합형 인재는 누구도 상상할 수 없는 멋진 미래를 만들 것입니다. 이 책을 통해 많은 학생이 코딩에 대한 두려움을 없애고 코딩에 한 걸음 다가설 수 있기를 기대해 봅니다.[이 책을 먼저 읽어본 학생과 선생님들의 후기]인공지능 분야의 성장과 함께 데이터과학, 머신러닝, 딥러닝 등 용어가 일상화되었습니다. 그러나 수학적 지식 없이 인공지능을 배우는 것은 깊게 이해하기 어렵습니다. 이 책은 교육적 경험이 풍부한 저자들이 누구나 쉽게 이해할 수 있도록 Python을 활용해 인공지능 학습에 필요한 수학적 지식을 다지는 방법을 담아냈습니다. 인공지능 학습에 관심있는 독자들에게 적극 추천합니다. - 건국대학교 오경선우리 인류의 문명이 발전할 수 있었던 이유는 언어와 문자 덕분이었습니다. 그럼 면에서 코딩은 새로운 언어로서 우리의 삶에 큰 변화를 일으키고 있는 주인공이라고 볼 수 있죠. 인공지능의 발달도 모두 여기서부터 시작되었으니까요. 이 책은 ‘코딩’이라는 금자탑을 쌓기 위한 코어에 해당하는 수학 학습부터 프로그래밍 언어 학습을 강조하고 있습니다. 무엇보다 풍부한 시각 자료를 이용하여 학습자가 쉽게 이해할 수 있게 안내하는 점이 매우 인상적입니다. 또한 책에 적힌 내용대로 따라 하면 누구나 쉽게 그대로 해볼 수 있도록 구성되어 있습니다. 개인적으로 이 책은 일석이조(一石二鳥) 그 이상의 가치를 지녔다고 생각합니다. 첫째, 코딩에 필요한 수학 코어를 기를 수 있습니다. 둘째, 가장 많이 활용되는 프로그래밍 언어인 파이썬을 익힐 수 있습니다. 셋째, 코딩 학습 관련 정보를 다양하게 얻을 수 있습니다. 인공지능과 수학이라는 분야를 섬세하게 다룬 이 책을 적극적으로 추천합니다. 인공지능 시대에 발맞춰 여러분도 이 책을 통해 한층 더 성장하실 수 있으리라 믿고, 진심으로 응원하겠습니다. - 안양외고 교사 신영환“선생님 저는 수포자인데 컴퓨터는 잘 할 수 있어요?” 프로그래밍 수업을 받던 학생이 말간 눈으로 날 쳐다본다. 수학이 컴퓨터와 무관하지 않으니 수학을 포기하지는 말라고 하면서 컴퓨터 프로그래밍과 수학과의 관련성을 말해주고 싶었는데, 어떻게 설명해야 하나 막연했다. 이제는 그 학생의 질문에 대한 답으로 이 도서를 흔쾌히 권하고 싶다. 초등학교에서 배우는 평균내는 법부터 중학교 과정의 확률과 통계까지 수학의 핵심적인 내용들을 계열성 있게 프로그램으로 구현해 놓으니 수학의 과정이 한눈에 들어온다. 그래서 한 번에 끝까지 공부하기보다는 수학 교과서 옆에 놓고 관련 페이지를 프로그래밍하면서 조금씩 알아가는 것이 적합하다. 수학에서 배운 원리를 학습해 가며 알고리즘으로 절차를 구체화하다보면 모호했던 개념을 확실하게 다지게 된다. 수학과 컴퓨터 프로그래밍이라는 두 마리의 토끼를 잡을 수 있는 도서이다. 프로그래밍 구현에 사용한 파이썬은 빅데이터 분석에 많이 활용되는 라이브러리 맷플롯립과 넘파이등을 자연스럽게 익히게 해주는 유익한 도서이다. - 정보·컴퓨터 교사 임미경이 책은 수학과 프로그래밍을 함께 공부하고자 하는 학생들에게 좋은 책입니다. 학생들이 쉽게 배울 수 있는 파이썬을 이용하여 수학적 개념을 다루는 방법을 가르치며, 수학에 대한 지식이 많지 않은 학생들도 쉽게 따라갈 수 있도록 구성하려고 노력한 흔적이 많이 보입니다. 또한, 수학을 좋아하는 학생들이 파이썬 프로그래밍을 배우는 새로운 방법으로 활용하기에도 도움이 되리라 생각됩니다. 물론 파이썬으로 수학과 프로그래밍을 함께 공부하고자 하는 분들에게도 이 책을 추천합니다. 코딩과 인공지능이 필수가 되어가고 있는 세상에서 수학적 이론과 코딩, 알고리즘에 대한 개념을 배우는 것은 매일 밥을 먹는 것처럼 자연스럽고 당연한 것이 되어가고 있습니다. 그 자연스러운 과정이 어렵지 않고 재미있게 이루어진다면 더 바랄 것이 없을 것입니다. 이 책이 여러분의 수학과 자연스럽게 함께 할 수 있다면 좋겠습니다. - 정보·컴퓨터 교사 김일임이 책은 4차산업혁명 시대를 살아가는 우리들이 꼭 알아야 할 내용인 수학과 코딩의 융합이 어떤 것인지 찾아갈 수 있는 이정표를 독자에게 제시합니다. 교과과정에서 배웠던 수학개념이 다양한 문제 해결에 쓰임으로써 살아있는 지식이 되고, 이를 통해 수학이란 결국 프로그래밍의 핵심인 알고리즘과 맞닿아있다는 사실을 발견하게 됩니다. 또한 책의 내용대로 따라가 기만하면 누구나 쉽게 가장 인기 있고 다양한 분야에서 활용되고 있는 파이썬 언어에 대해 자연스럽게 익힐 수 있습니다. 더불어 수학 학습에 흥미를 느낄 수 있다는 점이 매력적이라고 할 수 있습니다. - ㈜프로키언 대표 이재윤 코딩의 ‘ㅋ’ 자도 모르지만 이 책을 통해 코딩이라는 걸 처음 접했습니다. 처음에는 거부감이 조금 들었던 것이, 기계치인 데다가 수학도 좋아하지 않는데 수학으로 배우는 코딩이라니…. 그러나 막상 읽기 시작하니 흥미가 생기기 시작했습니다. 컴퓨터와 대화하기 위해 사용되는 것이 코딩이라니. 차차 읽어나가며 이미 알고 있는 수학 원리들을 사용해 코딩 원리들을 이해하며 단계를 차례차례 받아들이게 되었습니다. 그 원리들도 신기했습니다. 이 책은 코딩 입문서로 매우 좋은 것 같습니다. 만약에 중학교 수학이 기억나지 않는다 하더라도 다시 기억하면서 할 수 있고, 기억할 수 있다면 더욱 쉽게 원리들을 받아들이고 적용해볼 수 있을 테니까 일거 양득이라고 볼 수 있습니다. 수학 복습에 코딩 공부까지! 그래도 우리가 4차 산업 혁명 시대를 살고 있다는데 코딩의 ‘코’자 정도까지는 알 필요가 있지는 않을까요? 이 책을 읽고 이제 조금 코딩의 세계의 발을 들여놓았으니 우리 모두 다 같이 코딩을 조금이라도 알기 위해 노력해봅시다! - 정세아이 책이 특별한 이유는 시중에 나와 있는 많은 코딩 책 중에서도 수년간 많은 학생들을 가르치면서 쌓아온 노하우와 경력이 담겨있기 때문입니다. 책을 쓰신 선생님들에 오래된 제자인 저는 사실 코딩에 관심이 크게 있지 않아 항상 어려움을 느꼈습니다. 그러나 이 책은 코딩을 처음 배우는 사람과 관심이 없는 사람도 부담 없이 읽기 좋은 책입니다. 파이썬을 기반으로 수학적 접근을 통해 누구든 쉽게 코딩에 입문하기 좋습니다. 다양한 예제와 풀이를 통해 기초를 다지기 충분하며 코딩과 친해질 수 있는 책입니다. 코딩이 대세인 시대, 이 책을 통해 많은 학생들이 문제 해결 능력과 창의력을 키우는 기회를 제공합니다. - 김승우이 책을 통하여 코딩을 처음 접하거나 알고리즘을 구상하는 것에 관심이 있는 사람들에게 이 책을 추천합니다. 이 책은 프로그래밍을 시작할 때 보편적으로 입문 난이도가 낮은 컴퓨터 언어인 python을 기반으로 알고리즘을 구상하는 내용이 담겨져 있습니다. 프로그래밍을 처음 접하는 독자들을 위해 프로그래밍과 이를 응용하는 수학의 관계를 설명하는 내용으로 시작합니다. 순서도와 예시들을 통하여 알고리즘의 구상을 이해하고 응용을 배울 수 있습니다, 이후 자기 주도적 학습의 도움이 되는 예제를 풀 수 있는 사이트와 프로그래밍 진로를 계획할 수 있는 계기를 제공합니다. - 문공명이 책은 수학과 프로그래밍의 연관성을 설명하고 수학을 알고리즘으로 만들 수 있게 되는 것을 목표로 한 책입니다. 책에서는 프로그래밍 언어 중 쉽고 범용성이 높은 언어인 Python과 기본적인 수학을 기초적으로 다루고, 거기에 더해 간결하고 정확한 설명과 예시 자료로 실습하기 좋게 구성되어 있습니다. 자주 사용하는 개념을 위주로 알려주기 때문에 프로그래밍을 처음 접하시거나 기초를 다지고 싶으신 분들에게는 강하게 추천합니다. 코딩과 수학의 결합에 관심 있으신 분들도 다양한 모듈과 라이브러리를 배울 수 있기에 이 책을 추천합니다. - 이재환
*목차
<b>[chapter 1] 함께 배우는 수학과 코딩<br/></b><br/>UNIT 01 코딩 교육과 수학<br/> 01 파이썬을 공부해야 하는 이유<br/> 02 인공지능에서 수학을 강조하는 이유<br/>UNIT 02 파이썬 설치<br/> 01 주피터 노트북을 설치하기 전에 꼭 확인해야 할 사항<br/> 02 아나콘다 설치<br/>UNIT 03 파이썬 실행<br/><br/><b>[chapter 2] 수학과 코딩의 기본<br/></b><br/>UNIT 01 10진수와 2진수<br/> 01 10진수<br/> 02 2진수<br/> 03 10진수를 2진수로 변환<br/> 04 2진수를 10진수로 변환<br/>UNIT 02 연산하기 <br/> 01 산술 연산 <br/> 02 논리 연산 <br/> 03 비교 연산 <br/> 04 시프트 연산 <br/>UNIT 03 알고리즘 <br/><br/><b>[chapter 3] 파이썬의 기초<br/></b><br/>UNIT 01 기본 문법 <br/> 01 변수 <br/> 02 입력과 출력 <br/> 03 주석 <br/> 04 자료형 <br/> 05 리스트 <br/> 06 튜플 <br/> 07 딕셔너리 <br/> 08 집합 <br/> 09 불 <br/>UNIT 02 제어문 <br/> 01 조건문 <br/> 02 반복문 <br/>UNIT 03 파이썬 함수 <br/> 01 내장함수 <br/> 02 사용자 정의 함수 <br/>UNIT 04 라이브러리 <br/> 01 넘파이(numpy) 라이브러리 <br/> 02 매쓰(math) 라이브러리 <br/> 03 맷플롯립(matplotlib) 라이브러리 <br/> 04 판다스(pandas) 라이브러리 <br/>UNIT 05 도형 모듈 <br/> 01 터틀(turtle) 라이브러리 <br/> 02 여러 가지 도형 그려보기 <br/> 03 정다각형 그리기 <br/> 04 별 그리기 <br/> 05 원 그리기 <br/><br/><b>[chapter 4] 수와 연산 코딩<br/></b><br/>UNIT 01 총점과 평균 <br/> 01 숫자형 변수 <br/> 02 리스트형 변수 <br/> 03 input( )함수를 이용한 데이터 입력 <br/>UNIT 02 최대공약수 <br/> 01 약수 <br/> 02 공약수 <br/> 03 최대공약수 <br/>UNIT 03 최소공배수 <br/> 01 배수 <br/> 02 공배수 <br/> 03 최소공배수 <br/>UNIT 04 소수 <br/>UNIT 05 소인수분해 <br/>UNIT 06 절댓값 <br/>UNIT 07 거듭제곱 <br/>UNIT 08 제곱근 <br/><br/><b>[chapter 5] 부등식과 방정식 코딩<br/></b><br/>UNIT 01 일차부등식 <br/>UNIT 02 일차방정식<br/>UNIT 03 연립일차방정식 <br/>UNIT 04 이차방정식 <br/><br/><b>[chapter 6] 함수와 그래프<br/></b><br/>UNIT 01 일차함수와 그래프 <br/> 01 기울기 a가 양수일 경우<br/> 02 기울기 a 가 음수일 경우<br/> 03 y절편에 따른 그래프 <br/>UNIT 02 이차함수와 그래프 <br/> 01 이차항 계수 a가 양수인 경우 <br/> 02 이차항 계수 a가 음수인 경우 <br/> 03 y절편에 따른 그래프<br/><br/><b>[chapter 7] 확률과 통계<br/></b><br/>UNIT 01 도수분포표<br/>UNIT 02 히스토그램 <br/>UNIT 03 경우의 수와 확률 <br/> 01 확률의 덧셈 <br/> 02 확률의 곱셈 <br/>UNIT 04 평균값, 중앙값, 최빈값 <br/> 01 몸무게의 평균값 <br/> 02 몸무게의 중앙값 <br/> 03 몸무게의 최빈값 <br/> 04 넘파이(numpy)를 활용한 대푯값 <br/>UNIT 05 분산과 표준편차 <br/><br/>[부록] 코딩 학습 사이트