책소개
이 책은 코딩을 처음 시작하는 중학생은 물론 성인들에게도 아주 자연스럽게 코딩을 배울 수 있도록 유도합니다. 우리가 배웠던 ‘수학에 이러한 로직이 있었구나’를 되새기면서 이를 코딩으로 직접 구현해 볼 수 있습니다. 이러한 과정 중에 파이썬의 중요한 패키지인 numpy, matplotlib, pandas에 대해 배우게 됩니다. 이 책은 이 패키지를 반복적으로 사용하게끔 유도하면서 책을 끝까지 다 공부하게 되면 위 패키지 사용에 어느 정도 자신감을 갖게 될 것입니다.
“PC방에서 게임하는 자녀로 키울 것인가?
코딩을 하는 자녀로 키울 것인가?“
기존 컴퓨터 교육이 ITQ, 오피스 위주로 진행되었다면,
이제는 코딩과 수학을 함께 익혀야 합니다.
일반적인 전문 코딩 관련 서적은 읽으면 이해는 되지만, 코딩 책은 실습을 동반해야 배웠다고 할 수 있습니다. 시중에 코딩 책은 초보자를 위한 책, 전문가를 위한 책, 어린이들을 위한 아두이노/스크래치/엔트리 책 등으로 구분됩니다. 스크래치나 엔트리도 프로그래밍에 대한 흥미를 유발하기에 좋은 학습 툴이지만 실제 텍스트 기반 프로그래밍 언어와는 차이가 큽니다.
그래서 이 책에서는 코딩을 수학으로 엮어 보려 합니다. 중학교 수학 과정은 논리적 사고력이 필요하게 되는 첫 과정이며, 이 논리에 대한 구술이 바로 코딩과 맞닿아 있습니다. 따라서 이 책을 공부하게 되는 수험생에게는 수학적 사고력과 파이썬 코딩 능력을 동시에 갖출 수 있습니다.
[이런 분들께 추천합니다!]
- 쉽게 수학과 코딩을 함께 접근해 보고 싶은 사람
- 중학교 수준의 수학을 통해 딥러닝에 접근해 보고 싶은 사람
- 수학과 프로그래밍 언어(파이썬)를 한 번에 익히고 싶은 사람
저자소개
지은이 박경원
미국 캘리포니아 주립대학에서 전자공학 박사과정을 취득하였고, 양자(Quantum) 특이현상에 관한 다수의 논문을 발표하였다. 그 후 국내 대기업에 입사하여 반도체 나노입자에 관한 연구 및 다수의 특허를 출원하였다. 특히, 반도체 물질의 양자적 현상을 계산하는 프로그램을 개발하였으며, 현재는 퇴사 후 코딩 교육 관련 콘텐츠 개발에 힘쓰고 있다.
목차
개발 환경 준비하기
01. 왜 파이썬(Python)인가?
02. 주피터 노트북 설치하기
03. 주피터 노트북 개발 환경 사용하기
04. 파이썬 IDLE 개발 환경 사용하기
05. 명령 프롬프트 개발 환경 사용하기
Part 01. 집합
[코딩] Chapter 01. 정수형, 문자형 자료형
01. 문자형 자료형 인덱싱 사용하기
02. 문자형 자료형 슬라이스(:) 사용하기
03. 문자형 자료형의 문자 길이 세기 - len(문자형 자료형)
04. 원하는 문자가 몇 개 있는지 세기 - 변수.count(‘원하는 문자‘)
[코딩] Chapter 02. print
[코딩] Chapter 03. 리스트(List)
01. 리스트 원소 개수 구하기 - len(리스트)
02. 특정 원소 개수 구하기 - 리스트.count(특정 원소)
03. 리스트의 인덱스 익히기
04. 리스트에서 slice 사용하기
05. 리스트 연산하기
06. 리스트 요소 수정하기
07. 리스트 정렬하기
08. 리스트 원소의 인덱스 구하기
09. 리스트 안의 원소 유무 판별하기
[코딩] Chapter 04. for 반복문
[코딩] Chapter 05. 조건문 if
01. 조건이 맞지 않을 경우 다른 명령 수행하기 - if else
02. 여러 조건에 대한 명령 수행하기 - if elif else
[수학] Chapter 06. 집합
01. 중복된 원소 제거하기
02. 합집합 구현하기
03. 교집합 구현하기
04. 차집합 구현하기
05. 여집합 구현하기
[수학] Chapter 07. 코딩 함수
01. 합집합을 코딩 함수로 만들기
02. 교집합을 코딩 함수로 만들기
03. 차집합, 여집합을 코딩 함수로 만들기
04. 차집합과 교집합으로부터 합집합 구하기
05. 함수에서 * 사용하기
[수학] Chapter 08. 클래스
01. 임의의 집합 문제 생성기 만들기
02. built-in 집합 클래스 사용하기 - sets
Part 02. 자연수, 정수, 유리수, 무리수
[코딩] Chapter 01. bool 자료형과 같다(==)/다르다(!=) 표현 익히기
01. if 문의 같다(==)/다르다(!=) 익히기
[코딩] Chapter 02. 숫자형 자료형과 연산
01. 정수(int)와 소수(float) 사칙 연산하기
02. 거듭제곱 익히기
03. 거듭제곱근 익히기
04. 반올림하기
[코딩] Chapter 03. range와 enumerate를 for 문에서 활용하기
01. range 사용하기
02. enumerate 사용하기
[코딩] Chapter 04. while 반복문
[코딩] Chapter 05. numpy의 array와 난수 발생(random)
01. numpy 알아보기
02. numpy에서 제공하는 array 자료형 사용하기
03. np.multiply로 두 array 원소끼리 곱하기
04. np.max, np.min로 array의 최대값과 최소값 구하기
05. np.argmax, np.argmin로 array의 최대값과 최소값의 index 구하기
06. random으로 numpy 난수 만들기
[수학] Chapter 06. 자연수
01. 소수 알아보기
02. 소인수 찾기
03. 약수 구하기
04. 최대공약수, 최소공배수 구하기
05. 십진수 나타내기
06. 이진법 나타내기
07. 진법 변형하여 나타내기
08. 클래스로 임의의 자연수 문제 만들기
[수학] Chapter 07. 정수
01. 절대값 구하기
02. 덧셈 뺄셈 교환 법칙 및 결합 법칙 알아보기
03. 계산하기
[수학] Chapter 08. 유리수와 무리수
01. 임의의 유리수 문제 만들기
02. 분수를 유한 소수로 나타내기
03. 무리수 익히기
Part 03. 일차방정식, 연립방정식, 부등식
[코딩] Chapter 01. lambda, filter
01. lambda로 간단한 코딩 함수 만들기
02. filter로 참 값 걸러 내기
[코딩] Chapter 02. for와 if로 리스트 만들기
01. for 문을 이용한 리스트 만들기
02. for if 둘 다 사용한 리스트 만들기
[수학] Chapter 03. if의 and와 or
[수학] Chapter 04. numpy
01. 다차원 배열 만들기
shape로 numpy의 ndarray 크기 구하기
2차원 배열의 index 사용하기
reshape으로 array 크기 변경하기
02. zeros, ones 사용하기
2차원의 np.zeros와 np.ones 사용하기
03. 유용한 numpy 기타 함수 사용하기 - where, min, max, sum
array에서 where를 사용하여 구하려는 원소의 index 찾기
np.max, np.min로 numpy array의 최대값 최소값 찾기
sum과 numpy의 sum으로 원소의 합 구하고 비교하기
04. arange로 연속된 숫자 만들기
numpy의 arange 사용하기
[수학] Chapter 05. 문자의 사용과 식의 계산
01. 변수 표현 유의할 점 알아보기
[수학] Chapter 06. 일차방정식
01. 임의의 일차방정식 문제 생성기 만들기
[수학] Chapter 07. 연립방정식
01. 임의의 연립방정식 문제 만들기
[수학] Chapter 08. 부등식
01. 임의의 일차부등식 문제 생성기 만들기
02. 연립부등식 구하기
03. 임의의 연립부등식 문제 생성기 만들기
04. 두 미지수가 포함된 연립부등식 구하기
Part 04. 일차함수
[코딩] Chapter 01. tuple 자료형
01. tuple의 index 알아보기
02. tuple의 slicing 알아보기
03. tuple의 더하기, 곱하기
04. tuple의 특징
[코딩] Chapter 02. zip
[코딩] Chapter 03. 코딩 함수
[코딩] Chapter 04. matplotlib 그래프
01. matplotlib.pyplot 배우기
plt.scatter로 점 찍기
plt.plot으로 선 그래프 그리기
[수학] Chapter 05. 일차함수
일차함수 기울기 익히기
일차함수 상수항(b) 익히기
일차함수의 x축, y축으로의 이동 익히기
01. 두 직선의 교차점 구하기
02. 임의의 함수 문제 생성기 만들기
Part 05. 확률과 통계
[코딩] Chapter 01. Dictionary 자료형
01. dictionary에 자료 추가하기
02. dictionary에 자료 삭제하기
03. dictionary에 어떤 자료가 있는지 확인하기
04. get으로 불러내기
05. key 값이 존재하는지 찾기
[코딩] Chapter 02. 도수분포표
01. 판다스 Series 사용하기
Series의 index 거꾸로 찾기
Series 연산하기
dictionary로부터 Series 만들기
Series의 indexing으로 값 불러오기
02. pandas의 DataFrame 사용하기
DataFrame의 자료 불러오기
loc, iloc 사용하기
DataFrame의 index와 columns 찾기
[수학] Chapter 03. numpy의 histogram으로 도수분포도
01. numpy의 히스토그램 그리기 - 도수분포도
상대도수 구하기
누적도수 구하기
02. 히스토그램 그리기
계급 값 구하기
구간별 평균 구하기
[수학] Chapter 04. 경우의 수
01. 경우의 수 찾기
순서는 중요하고, 중복은 허용 안 될 때
순서는 중요하고, 중복은 허용될 때
순서는 중요하지 않고, 중복은 허용 안 될 때
순서는 중요하지 않고, 중복은 허용될 때
02. 확률 구하기
03. 기대 값 구하기
[수학] Chapter 05. 통계
01. numpy의 average로 평균 구하기
02. numpy의 median으로 중앙 값 찾기
03. numpy의 bincount와 argmax로 최빈값 찾기
04. numpy의 var와 std로 분산과 표준편차 구하기
[분석] Chapter 06. 데이터 분석 - 2018 월드컵
01. 2018 월드컵 데이터 분석하기
02. CSV 파일 불러오기
03. 국가별 정리하기
Part 06. 이차방정식 및 이차함수
[코딩] Chapter 01. 고차방정식 해 - numpy의 roots
[코딩] Chapter 02. 클래스
[수학] Chapter 03. 이차방정식
01. 하나씩 대입해서 풀기
이차방정식 문제 생성기 만들기
02. 인수분해해서 풀기
03. 완전제곱식을 이용한 이차방정식 풀기
[수학] Chapter 04. 이차함수
Part 07. 딥러닝
Chapter 01. 인공신경망 원리
Chapter 02. 인공신경망의 수학적 표현
Chapter 03. 활성화 함수를 이용한 인공신경망 코딩
Chapter 04. ReLU 함수를 이용한 코딩 함수