파이썬으로 다시 배우는 핵심 고등 수학

수포자 프로그래머를 위한 손에 잡히는 기초 수학

수학과 파이썬을 동시에 배울 수 있는 일석이조의 기회!

수학을 알면 프로그램을 만드는 데에 도움이 된다는 사실은 알고 있지만, 고등학교 때 일찌감치 수포자의 길을 걷기 시작했기 때문에 수학 지식 없이 프로그램을 만들어 보려는 사람이 많습니다.

데이터 과학이나 기계학습, 블록체인 등등 이 시대에는 수학 이론을 배경으로 한 시스템들이 전성기를 이루고 있습니다. 이제까지는 수학에 담을 쌓은 채로 프로그램을 만들며 지낼 수 있었지만, 이제는 프로그래밍에 수학이 필수가 돼 가고 있습니다. 하지만 프로그래머가 읽을 만한 수학책은 고등학교 수준을 넘어 난이도가 높은 책뿐입니다.

이 책은 수학에 자신이 없는 사람을 대상으로 고등학교 수학부터 제대로 기초를 다질 수 있게 도와줍니다. 단순히 수학 이론을 설명할 뿐만 아니라 계산하고 증명하고 이론을 검증하는 데에 파이썬을 사용합니다. 이론을 배우고 파이썬으로 검증하는 방식으로 진행합니다. 그냥 눈으로 읽기만 하는 것이 아니라 손을 움직이면서 수치계산을 코딩하는 힘을 기를 수 있습니다.

이 책은 수학과 파이썬의 기초를 확실히 다질 수 있는 일석이조의 기회를 제공합니다. 수학에 약한 문과생 프로그래머가 제대로 배울 수 있음은 물론이며 수학을 잊은 공과생 프로그래머가 자신감을 되찾을 기회가 될 것입니다.

 

도서 상세 이미지

타니지리 카오리

메딕 엔지니어링 (Medic Engineering)

김범준

일본 호세이대학 경영학부를 졸업했다. 대학 시절 취미로 프로그래밍을 시작한 것을 계기로 이 업계에 발을 들여놓게 됐으며, 한국과 일본에서 임베디드 시스템과 게임 관련 회사에서 개발 프로젝트를 진행했다. 번역서로는 《엔지니어를 위한 선형대수》 《기초 수학으로 이해하는 머신러닝 알고리즘》 《프랙티컬 C#》 《정석으로 배우는 딥러닝》 《러닝스쿨! 파이썬 교과서》 《유니티 UI 디자인 교과서》 《머신러닝 이론 입문》 《모던 C 언어 프로그래밍》 《따라 하면서 배우는 유니티 3D 입문》이 있으며, 저서로는 《만들면서 배우는 OS커널의 구조와 원리》 《뇌를 자극하는 하드웨어 입문》이 있다.

  • ▣ 01장: 컴퓨터와 수
    • 1.1 기수법
      • 1.1.1 10진법
      • 1.1.2 XX의 0승
      • 1.1.3 2진법
      • 1.1.4 16진법
    • 1.2 기수 변환
      • 1.2.1 10진수에서 2진수로 기수 변환
      • 1.2.2 10진수에서 16진수로 기수 변환
      • 1.2.3 2진수나 16진수를 10진수로 기수 변환
    • 1.3 컴퓨터가 숫자를 취급하는 방법
      • 1.3.1 데이터를 취급하는 방법
      • 1.3.2 취급할 수 있는 값에는 한계가 있다
    • 1.4 음수값을 취급하는 방법
      • 1.4.1 x+1=0 계산하기
      • 1.4.2 2의 ‘보수’란 뭘까?
      • 1.4.3 부호 비트로 양과 음을 구별하는 컴퓨터
      • 1.4.4 취급할 수 있는 값의 범위
      • 1.4.5 2의 보수와 기수 변환
    • 1.5 실수를 표현하는 방법
      • 1.5.1 자리에는 무게가 있다
      • 1.5.2 실수를 기수 변환
      • 1.5.3 부동소수점을 사용하는 컴퓨터
      • 1.5.4 피할 수 없는 실수 오차
    • 1.6 문자와 색을 다루는 방법
      • 1.6.1 컴퓨터가 문자를 다루는 방법
      • 1.6.2 컴퓨터가 색을 다루는 방법
    •  
  • ▣ 02장: 컴퓨터의 연산
    • 2.1 산술 연산은 컴퓨터의 사칙연산
      • 2.1.1 계산식 쓰는 법
      • 2.1.2 계산의 우선순위
      • 2.1.3 실수 오차를 줄이는 노력
    • 2.2 시프트 연산으로 곱셈, 나눗셈을 할 수 있다
      • 2.2.1 자리를 좌우로 옮기기
      • 2.2.2 오른쪽 시프트는 ‘산술’과 ‘논리’ 두 종류가 있다
    • 2.3 컴퓨터 특유의 비트 연산
      • 2.3.1 비트 연산이란
      • 2.3.2 AND 연산
      • 2.3.3 OR 연산
      • 2.3.4 XOR 연산
      • 2.3.5 NOT 연산
      • 2.3.6 2의 보수 구하기
      • 2.3.7 마스크를 씌워서 일부분 오려내기
      • 2.3.8 비트를 플래그로 이용하기
    • 2.4 논리 연산으로 판단하는 컴퓨터
      • 2.4.1 비교 연산
      • 2.4.2 True와 False를 사용하는 논리 연산과 진리표
      • 2.4.3 논리곱(AND 연산)
      • 2.4.4 논리합(OR 연산)
    •  
  • ▣ 03장: 방정식으로 도형 그리기
    • 3.1 matplotlib로 그래프 그리기
    • 3.2 방정식을 그래프로 그리기
      • 3.2.1 방정식
      • 3.2.2 함수
      • 3.2.3 함수와 그래프
    • 3.3 직선의 방정식
      • 3.3.1 두 점을 잇는 직선
      • 3.3.2 직교하는 두 직선
      • 3.3.3 두 직선의 교점
    • 3.4 비례식과 삼각비
      • 3.4.1 비례식의 성질
      • 3.4.2 선분을 m:n으로 내분하는 점
      • 3.4.3 삼각비와 원
      • 3.4.4 삼각비와 각도
    • 3.5 피타고라스의 정리
      • 3.5.1 원의 방정식
      • 3.5.2 두 점 사이의 거리
    • 3.6 편리한 공식
      • 3.6.1 점에서 직선까지의 거리
      • 3.6.2 직선으로 둘러싸인 영역의 면적
    •  
  • ▣ 04장: 벡터
    • 4.1 벡터의 연산
      • 4.1.1 벡터와 화살표
      • 4.1.2 벡터의 성분
      • 4.1.3 벡터의 방향
      • 4.1.4 벡터의 크기
      • 4.1.5 벡터의 연산
      • 4.1.6 벡터 분해
    • 4.2 벡터 방정식
      • 4.2.1 직선을 나타내는 법
      • 4.2.2 두 직선의 교점
      • 4.2.3 벡터를 사용하는 이유
    • 4.3 벡터의 내적
      • 4.3.1 기여도 계산하기
      • 4.3.2 일의 양 계산하기
      • 4.3.3 벡터의 내적
      • 4.3.4 두 직선이 이루는 각도
      • 4.3.5 내적의 성질
    • 4.4 벡터의 외적
      • 4.4.1 법선벡터
      • 4.4.2 면적 구하기
    •  
  • ▣ 05장: 행렬
    • 5.1 행렬이란
      • 5.1.1 행렬을 표기하는 방법
      • 5.1.2 행렬이 가지는 의미
    • 5.2 행렬의 연산
      • 5.2.1 덧셈과 뺄셈
      • 5.2.2 행렬의 실수배
      • 5.2.3 곱셈
      • 5.2.4 곱셈 규칙
      • 5.2.5 단위행렬
      • 5.2.6 역행렬
      • 5.2.7 역행렬과 연립방정식
    • 5.3 도형의 일차변환
      • 5.3.1 벡터와 행렬의 관계
      • 5.3.2 도형의 대칭이동
      • 5.3.3 도형을 확대하고 축소하기
      • 5.3.4 도형 회전시키기
      • 5.3.5 도형을 평행이동하기
      • 5.3.6 2×2 행렬이 아닌 3×3 행렬 사용하기
      • 5.3.7 일차변환의 조합
    •  
  • ▣ 06장: 집합과 확률
    • 6.1 집합
    • 6.1.1 집합의 특징
      • 6.1.2 여러 가지 집합
      • 6.1.3 집합과 데이터베이스
    • 6.2 순열과 조합
      • 6.2.1 경우의 수
      • 6.2.2 경우의 수를 구하는 법
      • 6.2.3 순열
      • 6.2.4 팩토리얼
      • 6.2.5 중복순열
      • 6.2.6 조합
    • 6.3 확률
      • 6.3.1 확률 구하는 법
      • 6.3.2 수학적 확률과 통계적 확률
      • 6.3.3 곱의 법칙과 합의 법칙
      • 6.3.4 몬테카를로법
    •  
  • ▣ 07장: 통계와 난수
    • 7.1 통계란?
      • 7.1.1 모집단과 표본
      • 7.1.2 데이터가 흩어진 정도 살펴보기
      • 7.1.3 평균값, 중앙값, 최빈값
      • 7.1.4 도수분포도
    • 7.2 데이터가 흩어진 정도 조사하기
      • 7.2.1 분산과 표준편차
      • 7.2.2 표준 점수
    • 7.3 관계 조사하기
      • 7.3.1 산포도
      • 7.3.2 공분산과 상관관계
    • 7.4 데이터를 보고 추측하기
      • 7.4.1 이동 평균
      • 7.4.2 회귀직선
    • 7.5 무작위로 값 선택하기
      • 7.5.1 난수
      • 7.5.2 난수를 사용할 때 주의할 점
    •  
  • ▣ 08장: 미분과 적분
    • 8.1 곡선과 그래프
      • 8.1.1 변화를 알 수 있는 단서
      • 8.1.2 변화 읽기
    • 8.2 미분이란
      • 8.2.1 변화율
      • 8.2.2 미분계수
      • 8.2.3 미분하기
      • 8.2.4 미분 공식
      • 8.2.5 도함수가 알려주는 것
    • 8.3 적분이란
      • 8.3.1 변화 쌓기
      • 8.3.2 적분하기
      • 8.3.3 정적분, 부정적분
      • 8.3.4 원시 함수
      • 8.3.5 적분의 공식
      • 8.3.6 적분상수 C란?
    • 8.4 도구로 사용되는 미적분
      • 8.4.1 곡선의 접선
      • 8.4.2 윤곽 추출하기
      • 8.4.3 원주와 원의 면적 사이의 관계
      • 8.4.4 원추의 부피
      • 8.4.5 구의 부피와 표면적의 관계
    •  
  • ▣ 부록: 소프트웨어 설치
    • A.1 파이썬 버전
    • A.2 아나콘다 배포판 설치
    • A.3 파이썬 버전 확인
    • A.4 파이썬 인터프리터에서 실습 따라하기
    • A.5 주피터 노트북에서 실습 따라하기
      • A.5.1 프로그램 작성하기
      • A.5.2 프로그램을 다른 이름으로 저장하기
      • A.5.3 주피터 노트북 끝내기

 

아래 링크로 들어간 다음 왼쪽 위에 있는 [Open In Playground] 버튼을 누르면 브라우저에서 바로 실습해 볼 수 있습니다.