이산 수학으로 생각하는 프로그래밍 이 책의 가장 큰 목적은 프로그램 개발자들이 수학적으로 생각하는 것을 돕는 것입니다. 실제로 컴퓨터 과학의 언어는 수학입니다. 특히 "이산 수학(discrete mathematics)"은 프로그래밍과 가장 가까운 형태의 수학으로 기호와 문자열, 진릿값을 비롯하여 속성의 모임인 "객체(object)" 등으로 구성된 이산 요소를 다루는 수학입니다.
경험이 많은 프로그래머는 프로그램의 입력과 출력, 내부 데이터 객체 등을 설계하는 단계에서 집합, 시퀀스, 매핑, 관계와 같은 이산 수학을 이용합니다. 이산 수학을 이용하면 프로그래머가 더 쉽게 생각을 정리하는 데 도움이 되며, 해결하고자 하는 문제와 접근 방법이 훨씬 쉽게 드러나기도 합니다. 그뿐만 아니라 프로그램을 누구나 쉽게 이해할 수 있는 언어로 표현할 수도 있습니다.
이 책에서는 수학적 개념을 이용해서 프로그래밍 문제를 단순하고 깔끔하게 해결하는 방법을 설명합니다. 이를 통해 이산 수학의 개념과 구조가 프로그래밍에 유용하다는 것을 이해하고 프로그래머들이 수학적으로 사고하기를 바랍니다.
이 책의 특징 ■ 프로그래밍 언어로 파이썬(Python)을 이용해서 설명합니다. 파이썬은 간단명료한 현대 언어며 다른 대다수 언어와는 달리 언어의 핵심에 수학적 구조들이 기본으로 포함되어 있습니다. 따라서 복잡한 내용을 최소화하여 프로그래밍하는 데 유용합니다.
■ 이산 수학을 배우지 않았다고 전제하고 기본적인 개념들을 소개합니다. 이 책에서는 공식을 분석하고 이론을 공부하는 등 수학을 심도 있게 다루지는 않습니다. 대신 프로그램과 데이터를 수학적 객체로 바라봅니다. 이 책에서 소개하는 내용 중 일부는 아주 단순하고 유용한 개념이지만 프로그래머 대부분이 한 번도 접해본 적 없는 개념일 수도 있습니다.
대상 독자 컴퓨터 과학을 공부하면서도 수학적 프로그래밍은 깊게 공부한 적 없는 프로그래머나 학생