프로그래머를위한 수학에 대한 표준 책이 있습니까? [닫은]


52

나는 독학 프로그래머입니다. 나는 정직하게 수학을 잘하지 못한다. 동료 프로그래머들에 대해 불안하지 않도록 수학 기술을 향상시키기 위해 어떤 조언을 할 수 있습니까? 수학 기술을 향상시키기 위해 권장 할 수있는 단계 또는 지침은 무엇입니까?

모범 사례, 설계 방법론 및 프로그래머를위한 수학에 대한 기타 유용한 정보를 설명하기위한 사실상의 표준이있는 책이 있습니까? 그 책은 어떻습니까?


8
당신은 기하학을 알고 있습니까? 대수학? 삼각법? 직계 대수? 계산법? 당신은 얼마나 멀리 있습니까?
Marcelo

3
@ adietan63 : 현재 수학 지식에 대해 더 구체적이지 않은 경우에만 제안이 추측됩니다.
David Thornley

1
PyGame과 함께 Python을 사용합니다. 너무 많은 어려움없이 3D에 들어가고 싶다면 Disney Studios와 Carnegie Mellon의 Panda3D 는 배우기가 매우 쉽습니다.
Thorsten Müller 2016 년

1
@FrustratedWithFormsDesigner | Java는 그래픽 처리 및 게임 또는 C ++에 적합합니까?
adietan63

5
동료 프로그래머가 수학을 사용하는 방법에 대해 좀 더 말씀해 주시겠습니까? 금융 회사와 프로그래밍 샵에서 일하는 경우 상당히 다른 조언을 제공합니다. (사무실에서 "Hilbert space"및 "heteroskedasticity"와 같은 단어를 던지기가 더 안전하다고 생각되면, 선형 대수 및 고급 통계를 배우십시오. 호이 폴로이 개발자에게 깊은 인상을주지 마십시오.
rajah9

답변:


24

흠, 당신이 말하는 것에서 당신은 매우 기초적으로 시작하고 싶어하는 것 같습니다. 그것에 대해 나쁜 것은 없습니다. 제 수학은 대부분 고등학교 수준이었고 많은 것을 잊었습니다.

Khan Academy로 시작 하여 연습 섹션으로 이동하여 얼마나 멀리 갈 수 있는지 확인하십시오. 이것은 당신이 무엇을 할 수 있고 어디에서 학습을 시작할 수 있는지에 대한 좋은 아이디어를 줄 것입니다.

비디오를보고 귀찮게하지 마십시오. 적어도 나를 위해 비디오는 배우는 느린 방법이며 칸은 지루합니다. 기본 수학을 배울 수있는 다른 자료가 많이 있습니다. 일부 WikiBooks 또는 ck-12 처럼

이 문제는 Math.StackExchange에서 자주 논의되며 '무료 리소스'또는 '무료 도서'를 검색하면 많은 정보와 자료를 얻을 수 있습니다. '시작'또는 '초보자'와 같은 검색어도 마찬가지입니다. 또는 거기에 자신의 질문을하십시오. 그것은 reddit 의 / r / math 하위 섹션 에서도 잘 작동합니다 . 예를 들어 수학 학습과 같은 하위 구성 요소가 더 많이 있습니다.

많이 연습하십시오. 개념을 이해 한 후 다음 개념으로 넘어가는 것만으로는 충분하지 않습니다. 편안하게 적용 할 수 있어야합니다. 나누기와 곱셈에 익숙하지 않은 경우 백분율을 이해하지 못합니다 (예를 들어). 더 높은 개념에 대해서도 마찬가지입니다. 그래서 Khan의 연습 섹션이 비디오보다 훨씬 가치가있는 이유입니다.

프로그래밍과 마찬가지로 커뮤니티와 연락을 유지하면 동기 부여가 유지됩니다. 포럼에 가끔 로그인하면 사람들의 의견을 읽을 수 있습니다.


고마워요! 당신의 권리. 저는 수학의 넓은 영역을 이해하기 위해 기초부터 시작해야한다고 생각합니다.
adietan63

+100 KhanAcademy는 수학 기초 강화에 좋습니다. 기본부터 시작하는 데 아무런 문제가 없습니다. 자율 학습은 간단한 수학 기초를 모르는 '굴욕 요소'를 제거합니다. 평가 시스템은 약점을 식별하고 약점을 넘어 빠르게 이동하는 데 효과적입니다.
Evan Plaice

16

구체적 수학 : 컴퓨터 과학 기초 (제 2 판) 는 유용한 수학 책과 함께 유머가있는 다양한 수학 영역을 다루는 훌륭한 수학 책을 선택하는 것입니다.


나도 그것을 읽었다. 좋은 책.
Ando

2
책이 너무 좋아서 +1입니다. 자신을 "수학에 좋지 않다"고 정의하는 사람에게는 무언가가 확실하지 않습니다.
vartec

단순히 '명백한'단어를 사용하는 것보다 Knuth가 일부 부분을 더 분명하게 만들면 좋을 것입니다. 그러나 열심히 공부하면 학교에서 수학 배경이 확실하다면 모든 것을 이해할 수 있습니다.
gruszczy 2016 년

8
이 책은 초보자를위한 것이 아닙니다.
MAK

2
비결은 실제로 그것을 읽는 것입니다. 나는 매뉴얼이나 웹 사이트처럼 그것을 훑어보고 싶어한다는 것을 계속 발견했다. 작동하지 않습니다. 설명 할 수없는 단어 나 개념? 충분히 멀리 가면 찾을 수 있습니다. 나를 위해 천천히 가십시오 (미적분학을 끝내지 않았지만 수학에서 나쁘지 않은 것보다 많음). 그러나 좋은 추천 IMO. 그들은 잘 설명합니다. 인내심을 가지고 시간을 가지십시오.
Erik Reppen

10

Lamar University의 Paul 온라인 노트 는 PDF 형식으로 제공됩니다. 빠른 참조에 매우 적합하며 모든 페이지에 예제가 있습니다. 주제에 대해 새로 고치거나 무언가를 파악하고 싶다면이 사이트로 돌아 오는 경향이 있습니다.

세트는 다음과 같습니다.

대수 (Math 1314) : 전체 노트
내용 목록

  • 예비-지수 속성, 합리적인 지수, 음의 지수, 근호, 다항식, 인수 분해, 합리적인 표현, 복소수
  • 방정식 및 부등식 해결-선형 방정식, 2 차 방정식, 정사각형, 2 차 방정식의 완성, 선형 및 2 차 방정식의 응용, 2 차 형태로 환원 가능, 급진적 방정식, 선형 부등식, 다항 및 합리적 부등식, 절대 값 방정식 및 부등식.
  • 그래프 및 함수-그래프 선, 원 및 조각 별 함수, 함수 정의, 함수 표기법, 함수 구성, 역함수.
  • 공통 그래프-포물선, 타원, 쌍곡선, 절대 값, 제곱근, 상수 함수, 유리수 함수, 시프트, 반사, 대칭.
  • 다항 함수-다항식 나누기, 다항식의 제로 / 루트, 다항식의 제로 찾기, 다항식의 그래프 화, 부분 분수.
  • 지수 및 로그 함수-지수 함수, 로그 함수, 지수 함수 해결, 로그 함수 해결, 응용 프로그램.
  • 방정식 시스템-대체 방법, 제거 방법, 증강 매트릭스, 비선형 시스템.

미적분 I (2413 수학) 로 분리

  1. 목차
  2. 노트
  3. 연습 문제
  4. 문제를 해결하기위한 솔루션
  5. 과제 문제

    • 대수 / 곡선 검토-삼각 함수 및 방정식, 지수 함수 및 방정식, 로그 함수 및 방정식.
    • 제한-개념, 정의, 컴퓨팅, 단면 제한, 연속성, 무한대 관련 제한, L' Hospitals 규칙
    • 미분-정의, 해석, 미분 공식, 거듭 제곱 규칙, 곱셈 규칙, 지수 규칙, 연쇄 규칙, 고차 미분, 암시 적 미분, 로그 미분, 삼각 함수의 미분, 지수 함수, 로그 함수, 역 삼각 함수 및 쌍곡 삼각 함수 .
    • 미분의 응용-관련 비율, 임계점, 최소값 및 최대 값, 증가 / 감소 함수, 변곡점, 오목, 최적화
    • 적분-정의, 무기한 적분, 유한 적분, 대체 규칙, 유한 적분 평가, 미적분학 기본 정리
    • 적분의 응용-평균 함수 값, 곡선 영역, 회전 솔리드, 작업.

미적분학 II (Math 2414) Full Notes

미적분학 III (Math 2415) Full Notes

선형 대수 (Math 2318) 전체 노트

미분 방정식 (Math 3301)

나머지 주제 목록은 사이트를 확인할 수 있습니다.


1
이 투표가 더 이상 없다고 믿을 수 없습니다. 바울은 신이다.
n0pe

8

나는 이것이 책이 아니라는 것을 알고 있지만 수학에 대한 당신의 생각을 넓히는 좋은 방법이라고 생각합니다. 프로젝트 오일러 문제를 해결해보십시오 .

예를 들어 첫 번째는 다음과 같습니다.

3 또는 5의 배수 인 10 미만의 모든 자연수를 나열하면 3, 5, 6 및 9가됩니다.이 배수의 합은 23입니다.

1000 이하의 3 또는 5의 모든 배수의 합을 찾으십시오.


프로젝트 오일러의 질문은 수학을 기반으로 한 것이지만 내가 가진 문제는 너무 빨리 진행되어 문제를 해결할 수있는 유일한 방법은 무차별 강제 알고리즘을 사용하는 것입니다. 그들은 모든 질문에 대해 60 초 이내에 실행되는 우아한 솔루션을 찾을 수 있어야한다고 말합니다.
Mike

4
@Mike, 나는 비슷한 문제를 연구하고 문제를 공격하기에 충분한 기본 개념을 이해하려고 노력한다고 생각하지 않습니다. 당신은 이런 식으로 "속임수"를해서 더 많은 것을 배우고 있습니다.
Doug T.

1
나는 많은 것들을했고 그것은 나의 프로그래밍 기술을 향상시켰다. 수학 자체에 관해서는 대부분 깔끔한 트릭을 배우지 만 미적분학이나 대수학과 같은 기본 지식에는 많은 것을 추가하지 않습니다. 그러나 그것은 수학을하는 동기를 부여합니다.
Thorsten Müller 2016 년

1
@thorsten : 제 아내 (가족의 수학자)는 수학이 단지 깔끔한 트릭이라고 생각합니다. :-)
Peter K.

1
내가 일반적으로 오일러 문제를 겪는 방식은 먼저 보통 무차별 대입을 시도하여 최적화하는 것입니다. 그것만으로도 내가 몰랐던 많은 수학적 사실을 가르쳤다. 나중에 솔루션 포럼을 읽으면 대개 더 많은 수학적 통찰력을 얻을 수 있습니다.
시스템 다운

8

나는 항상 케네스 로젠의 이산 수학과 그 응용을 추천 합니다. 이 책은 이론과 응용의 균형이 잘 잡힌 많은 다른 주제 (좋은 이산 수학 책처럼)를 다룹니다. 또한 수학자와 컴퓨터 과학자들에 대한 개념이 나온 흥미로운 사이드 바도 많이 있습니다.


감사! 그러나 이산 수학 등을 공부하기 전에 전제 조건은 무엇입니까?
adietan63

1
@ adietan63 : 대수는 내가 요구 하는 모든 것 입니다. 우리 대학에서는 미적분학이나 통계보다 먼저 이산 수학을 듣게했지만, 먼저 그렇게하는 것은 상처받지 않을 것입니다.
Bill the Lizard

@ adietan63 : 새로 고침이 필요한 경우 헤드 퍼스트 수학 서적을 확인하거나 무료 온라인 비디오 강의를 볼 수도 있습니다.
Bill the Lizard

@Bill 감사합니다! 짧은 시간에 프로그래밍에서 많은 것을 배우고 싶기 때문에이 물건을 배우는 것에 압박감을 느낍니다. 한 번에 하나씩 가져갈 수도 있습니다. 이것이 학습 과정의 일부라고 생각합니다. 다시 감사합니다!
adietan63

7
천만에요. 또한 "단시간에 프로그래밍에서 많은 것을 배우고 싶다"는 느낌은 사라지지 않습니다. :)
Bill the Lizard

4

읽는 동안 1,000 이산 수학 책 것은 좋은 해결책은 시간 제약의 경우, 그것은 최적의 경로되지 않을 수도 있습니다. 깊이 들어 가지 않고 수학의 양을 맛보고 싶다면 (cormen) 알고리즘 서적부록 A를 참조하십시오 : http://www.acmsolver.org/books/ 소개 % 20 ~ % 20 알고리즘, % 202nd % 20Ed % 20 ~ % 20Thomas % 20H. % 20Cormen.pdf

나는 부록을 읽었으며 더 많은 수학 주제를 더 잘 이해하게되었습니다. 무엇을 기대해야하는지 살펴보면 다음을 살펴보십시오.

http://www.amazon.com/Journey-into-Mathematics-Introduction-Proofs/dp/0486453065/ref=sr_1_15?ie=UTF8&qid=1308591694&sr=8-15 여기에 이미지 설명을 입력하십시오

내 의견으로는, (특히 유도에 의해) 증명하는 방법을 배우는 것이 분석 알고리즘을 이해하는 초석입니다 . 불행히도 대부분의 알고리즘과 심지어 CS 수학 과정은 증명에 너무 집중하지 않습니다. 그들은 이미 당신이 그것에 유능하다고 가정하므로 몇 페이지를 넘지 않습니다. 수학 책으로의 여행은 매우 작고 읽기 쉽습니다. CS 문제와 수학적 측면도 사용합니다. 배울 수있는 다른 좋은 주제는 행렬 산술 , 확률 , 계산그래프 이론 입니다.

다른 두 가지 인기있는 큰 교과서 : Discrete Math와 EPP (내가 가장 좋아하는) 및 Rosen의 다른 응용 프로그램

http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0534359450/ref=sr_1_4?ie=UTF8&qid=1308591784&sr=8-4

http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073229725/ref=sr_1_1?ie=UTF8&qid=1308591784&sr=8-1

나는 " Concrete Mathematics " 라는 제목의 교과서를 읽는 즐거움을 얻지 못했지만 항상 그것에 대해 좋은 소식을 들었습니다.


1

솔직히, 당신은 근본적으로 수학에 대한 매우 강한 지식 없이도 많은 분야에서 완벽하게 적합한 프로그래머가 될 수 있습니다. 게임 엔진이나 네트워크 라우팅 최적화와 관련하여 그다지 능숙하지는 않지만 많은 비즈니스 응용 프로그램은 상당히 간단합니다. 그러나 나는 희망을 계속 유지하면서 수학을 포기하지 않는 것이 좋습니다.

더 낮은 수준에서 수행하는 수학과 더 높은 수준에서 수행하는 수학에는 차이가 있습니다. 당신이 미적분학에서 나쁘다는 것을 말하는 것은 매우 다른 것입니다. 수학을 통해 발전함에 따라 솔직히 상당히 지루하고 반복적이며 그래프 계산기로 수행 할 수있는 간단한 문제 해결에 중점을 둡니다. 대신 논리적 인 사고 기술에 중점을 둡니다. 증거 작성은 솔직히 소프트웨어 작성과 매우 비슷합니다.

내가 가진 최고의 수학 수업은 내가 처음으로 "실제"수학 수업으로 생각한 것입니다. 기본적으로 그래프 이론에서 숫자 이론에 이르기까지 다양한 영역을 다루는 증명 수업에 대한 소개입니다. 우리가 사용한 텍스트는 훌륭했습니다 ( 수학적 사고 : D' Angelo and West의 문제 해결 및 증거 ).이 책을 통해 공격 증거에 대한 아이디어를 얻는 것이 유용 할 수 있습니다.

전반적으로 대학에서 취한 수학이 정말로 필요 했습니까? 아마 아닐 것입니다. 그러나 공식적인 배경 지식을 갖추면 비판적 사고 기술과 상상력이 향상됩니다 (일반적으로 문제를 해결하는 방법에는 여러 가지가 있지만 때로는 좋지만 때로는 나쁘지만 고유 한 아이디어가 도움이 될 수 있음).


| 고마워요! 수학이 항상 당신을 도울 수 없다고 생각합니다. 어쩌면 그 존재가 비판적 사고에 도움이되고 분석 기술을 향상시키는 데 도움이됩니까?
adietan63

솔직히, 나는 당신이 "정직한"이라는 단어를 좋아한다고 생각합니다.
bukzor

1

봐봐, 난 수학을 잘 하긴하지만 프로그래밍에 전혀 사용하지 않고 프로그램을 많이한다. 나의 충고는 단순히 충분히 알지 못하고 누군가가 당신을 위해 수학을하게하는 데 익숙해지는 것입니다.

알아야 할 것이 너무 많아서 모든 것을 잘할 것으로 기대할 수는 없지만 특히 수학은 그리 유용하지 않습니다.

물론 프로그램은 과학적인 것이기 때문에 필요할 수 있습니다. 그렇지 않으면 그 시간을 사용하여 더 유용한 것을 배우십시오.


2
동의하지 않으면 좋은 프로그래밍 기술은 좋은 수학 기술과 관련이 있습니다.
Marcelo

1
글쎄, 나는 당신이 동의하지 않을 수 있다고 생각합니다. 나는 의견 불일치가 옳다고 생각하지만, 그렇게함으로써 내 기부금을 공제 할 권한이 있다고 느끼면 정말 위험합니다.
Ando

권한-투표-125 명성이 필요합니다. 당신은 이미이 특권을 얻었습니다.
Marcelo

1
많은 분야에서 훌륭한 프로그래머가되기 위해 수학이 필요 하지 않다는 데 동의 합니다. 나는 수학이 그리 유용하지 않다는 것에 크게 동의하지 않지만. 일상 업무에서 수학이 필요하지 않더라도 수학의 특정 측면을 배우고 큰 O 표기법을 이해하는 것만으로도 많은 이점을 얻을 수 있습니다.
thorsten müller 2016 년

1

ESSLLI의 "Logic & Computation"섹션 (예를 들어, 다가오는 2011 년 프로그램 또는 2010 년 프로그램 , 자세한 내용 검색 )의 일부 (초보자) 과정에 대한 과정 노트를 보면 흥미로울 수 있습니다. 프로그래밍 관련 분야의 현재 이론 개발에 대한 인상을 줄 것입니다. 그런 다음 해당 과정에서 다루어 진 특정 하위 필드에서 기초를 더 깊이 연구하기로 결정할 수 있습니다.

(그렇지 않으면 귀하의 질문에 대답하기가 어렵습니다. 너무 많은 "수학"이 있습니다. 실제로는 필요하지 않거나 관심이 없을 수도 있습니다. ESSLLI 과정이 우리에게 흥미로울 수있는 한 가지 이유는 연구를 통해 특정 퍼즐을 해결하는 것과 관련이 있으며 특정 퍼즐을 해결하는 것은 이론을 실제로 이해하고 그 뒤에 흥미로운 것이 무엇인지 이해하는 과정에서 중요한 구성 요소입니다.)


1

CS 수학을 제대로 공부하고 있다면 수학 논리와 이론을 찾는 것입니다. 이것들은 그것들을 지원하는 상당히 복잡한 수학입니다. 따라서 기본 수학 수준이 약간 까다 롭다면 CS 관련 영역으로 넘어 가기 전에 기본부터 시작하는 것이 가장 좋습니다.

그러므로 저는 여러분이 KA Stroud의 공학 수학으로 시작할 것을 제안합니다 . 잘 작성되고 따르기 쉽고 기본 사항과 고급 기능을 다룹니다.


1

기초부터 시작하여 전문의로 이동하십시오 : 수학자의 기쁨그것을 해결하는 방법 은 시작하기에 좋은 두 권의 책입니다. 수학자의 기쁨은 인간 친화적이고 재미있는 기본 수학 주제 (예 : 기하학, 대수, 미적분학 등)에 접근합니다. 아직 해결 방법을 읽지 못했지만 추론을 통해 수학 문제를 공격하는 방법에 중점을 둡니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.