Programcılar için matematik üzerine kanonik bir kitap var mı? [kapalı]


52

Ben kendi kendine öğretilmiş bir programcıyım. Gerçekten matematikte iyi değilim. Matematiksel becerilerimi geliştirmek için ne tavsiye edersiniz ki, programcı arkadaşlarımın etrafında güvensiz olmam. Matematiksel becerilerimi geliştirmek için önerebileceğiniz adımlar veya yönergeler nelerdir?

Programcılar için en iyi uygulamaları, tasarım metodolojilerini ve matematiğe ilişkin diğer yararlı bilgileri tanımlamak için fiili standart olan bir kitap var mı? Peki ya bu kitap onu özel kılıyor?


8
Geometri biliyor musunuz? cebir? trigonometri? çizgisel cebir? hesabı? Ne kadar uzaktasın?
Marcelo

3
@ adietan63: Öneriler sadece şu anki matematik bilginiz hakkında daha spesifik olmadıkça spekülasyon olacak.
David Thornley

1
Python'u PyGame ile birlikte kullanırdım. Çok fazla sorun yaşamadan 3D'ye geçmek istiyorsanız, o zaman Disney Studios ile Carnegie Mellon'dan Panda3D'yi öğrenmek çok kolaydır.
thorsten müller

1
@FrustratedWithFormsDesigner | Java, grafik işleme ve oyun için veya c ++ için uygun mu?
adietan63

5
Bize programcı arkadaşlarınızın matematiği nasıl kullandıkları hakkında biraz daha bilgi verir misiniz? Bir finans bürosu veya programlama mağazasında çalışıyorsanız, size oldukça farklı tavsiyeler veririm. (Ofiste "Hilbert uzayı" ve "heteroskedasticity" gibi sözcükleri atmak daha güvenli hissettiriyorsa, elbette bazı lineer cebir ve gelişmiş istatistikleri öğrenirler. Sadece hoi polloi geliştiricilerini etkilemeyi beklemeyin.)
rajah9

Yanıtlar:


24

Hmm, söylediklerinden çok temel bir başlangıç ​​yapmak istiyorsun. Kötü bir şey değil, ben de aynısını yaptım. Matematiğim çoğunlukla lise düzeyinde yapıldı ve bir çoğu da unutuldu.

Khan Academy ile başlayın , uygulama bölümüne gidin ve ne kadar alabileceğinizi görün. Bu size neler yapabileceğiniz ve nerede öğrenmeye başlayacağınız konusunda iyi bir fikir verecektir.

Videoları izlemeye zahmet etme. En azından benim için videolar öğrenmenin yavaş bir yolu ve Khan'ın ekstra sıkıcı. Temel matematik öğrenmek için birçok kaynak vardır. WikiBooks'tan bazıları veya ck-12 gibi

Bu soru Math.StackExchange'te yeterince sık tartışılıyor ve 'ücretsiz kaynaklar' veya 'ücretsiz kitaplar' aranıyor size birçok bilgi ve materyal getiriyor. Aynı şey 'başlangıç' veya 'başlangıç' gibi arama terimleri için de geçerlidir. Veya orada kendi sorunuzu sorun. Reddit'teki / r / matem alt bölümünde de çalışır . Burada, örneğin matematik öğrenmek için daha fazla alt dizin bulacaksınız.

Çok pratik yap. Sadece bir kavramı anlamak ve sonra bir sonrakine geçmek yeterli değil. Uygulamak için rahat olmalısın. Bölünme ve çarpma işleminden memnun değilseniz (örnek olarak) yüzdeleri anlamazsınız. Bu daha yüksek kavramlar için de geçerlidir. Bu yüzden benim için Khan'daki pratik bölüm videolardan çok daha değerli.

Programlamada olduğu gibi, toplulukla iletişimde kalmak sizi motive edecektir. Arada bir bazı forumlara giriş yapın ve insanların neden bahsettiğini okuyun.


Teşekkürler dostum! Haklısın. Matematiğin geniş alanını anlamak için temelden başlamam gerektiğini düşünüyorum.
adietan63

+100 KhanAcademy matematik temellerini güçlendirmek için harika. Temelden başlamanın yanlış bir tarafı yok. Kendi kendine öğrenme, bazı basit matematik temellerini bilmeme konusundaki “aşağılanma faktörünü” ortadan kaldırır. Değerlendirme sistemi, zayıf yönleri belirlemek ve zayıf yönlerin ötesine hızla geçmek için iyi bir iş çıkarır.
Evan Plaice,

16

Somut Matematik: Bilgisayar Bilimi Vakfı (2. Baskı) , Matematiğin çeşitli alanlarını kapsayan iyi bir Matematik kitabı ve aynı zamanda yararlı olabilecek kitaplara biraz mizah getirmem için bir tercih olacaktır.


Ben de oku. İyi bir kitap.
Ando

2
+1 çünkü bu çok iyi bir kitap. Kendisini "matematikte iyi değil" olarak tanımlayan biri için bir şey olup olmadığından emin değil.
vartec

Eğer sadece 'açık' kelimesini kullanmak yerine, Knuth bazı kısımları daha açık hale getirse harika olurdu. Ancak, sıkı bir çalışma ile, okuldan sağlam bir matematik geçmişine sahip olan her şey anlaşılabilir.
gruszczy

8
Dikkat edin, bu kitap kesinlikle yeni başlayanlar için değil.
MAK

2
Hile aslında okumaktır. Kendimi bir el kitabı veya web sitesi gibi gözden geçirmek istediğimi bulmaya devam ettim. Bu işe yaramıyor. Açıklanamayan kelime veya kavram? Yeterince geriye gidersen onu bulacaksın. Yavaş yavaş (benim için matematik bitmedi - ama matematikte kötüden daha gevşeyici olduğu için daha fazla), ancak iyi bir öneri IMO. Her şeyi iyi açıklarlar. Sabırlı ol ve zamanını ayır.
Erik,

10

Paul'un Lamar Üniversitesi'nden çevrimiçi notları PDF biçiminde geliyor. Hızlı başvuru için çok iyi ve her sayfada örnekler var. Eğer bir konuda kendimi yenilemek ya da bir şeyi kavramak istersem, bu siteye geri dönme eğilimindeyim.

İşte set:

Cebir (1314 Matematik): Tam Notlar
içeriklerin İlanı

  • Ön Bilgiler - Üs Özellikler, Rasyonel Üsler, Olumsuz Ürüler, Radikaller, Polinomlar, Faktoring, Rasyonel İfadeler, Kompleks Sayılar
  • Denklemlerin ve Eşitsizliklerin Çözümü - Lineer Denklemler, Kuadratik Denklemler, Karenin Tamamlanması, Kuadratik Formül, Lineer ve Kuadratik Denklemlerin Uygulamaları, Kuadratik Forma İndirgenebilir, Radikallerle Denklemler, Lineer Eşitsizlikler, Polinom ve Rasyonel Eşitsizlikler.
  • Grafik ve Fonksiyonlar - Grafik Çizgiler, Daireler ve Parçalı Fonksiyonlar, Fonksiyon Tanımları, Fonksiyon Notasyonu, Fonksiyon Kompozisyonu, Ters Fonksiyonlar.
  • Yaygın Grafikler - Paraboller, Elipsler, Hiperboller, Mutlak Değer, Karekök, Sabit Fonksiyon, Rasyonel Fonksiyonlar, Kaymalar, Yansımalar, Simetri.
  • Polinom Fonksiyonları - Polinomların Bölünmesi, Polinomların Sıfırları / Kökleri, Polinomların Sıfırlarının Bulunması, Grafik Polinomlarının Kısmi Fraksiyonları.
  • Üstel ve Logaritma Fonksiyonları - Üstel Fonksiyonlar, Logaritma Fonksiyonları, Üstel Fonksiyonların Çözümü, Logaritma Fonksiyonlarının Çözümü, Uygulamalar.
  • Denklem Sistemleri - İkame Yöntemi, Eliminasyon Yöntemi, Artırılmış Matris, Doğrusal Olmayan Sistemler.

Analiz I (2413 Math): ayrılmıştır

  1. İçeriğin listesi
  2. notlar
  3. Pratik Problemler
  4. Problemleri Uygulamaya Yönelik Çözümler
  5. Atama Problemleri

    • Cebir / Trig İnceleme - Trig Fonksiyonları ve Denklemleri, Üstel Fonksiyonlar ve Denklemler, Logaritma Fonksiyonları ve Denklemler.
    • Limitler - Kavramlar, Tanım, Bilgi İşlem, Tek Taraflı Limitler, Süreklilik, Sonsuzluğu İçeren Limitler, L'Hospitals Kuralı
    • Türev - Tanımı, Yorumlanması, Türev Formülleri, Güç Kuralı, Ürün Kuralı, Bölüm Kuralı, Zincir Kuralı, Yüksek Mertebeden Türev .
    • Türev Uygulamaları - İlgili Oranlar, Kritik Noktalar, Minimum ve Maksimum Değerler, Artan / Düşen Fonksiyonlar, Çekme Noktaları, Tutarlılık, Optimizasyon
    • İntegrasyon - Tanım, Belirsiz İntegraller, Belirli İntegraller, İkame Kuralı, Belirli İntegrallerin Değerlendirilmesi, Analizin Temel Teoremi
    • İntegral Uygulamaları - Ortalama Fonksiyon Değeri, Eğriler Arası Alan, Devrimin Katıları, İş.

Matematik II (Matematik 2414) Tüm Notlar

Matematik III (Matematik 2415) Tüm Notlar

Lineer Cebir (Matematik 2318) Tüm Notlar

Diferansiyel Denklemler (Matematik 3301) Tam Notlar

Konu listelerinin geri kalanı için siteyi kontrol edebilirsiniz.


1
Bunun daha fazla oyu olmadığına inanamıyorum. Paul bir tanrıdır.
n0pe

8

Bunun bir kitap olmadığını biliyorum, ama matematik hakkındaki düşüncenizi genişletmenin iyi bir yol olabileceğini düşünüyorum. Project Euler problemlerinde çalışmayı deneyin .

Örneğin, birincisi :

10'un altındaki 3 veya 5'in katları olan tüm doğal sayıları listelersek, 3, 5, 6 ve 9 sayısını elde ederiz.

1000'in altındaki 3 veya 5'in katlarının toplamını bulun.


Project Euler soruları kesinlikle matematiğe dayalı ancak onlarla yaşadığım problem o kadar hızlı bir şekilde gelişmişdi ki, onları çözebilmemin tek yolu kaba kuvvet algoritmalarıydı (aldatmadığım sürece). Tüm sorularınız için 60 saniyenin altında çalışan zarif bir çözüm bulmanız gerektiğini söylüyorlar.
Mike,

4
@Mike, benzer problemleri araştırmayı ve altta yatan kavramları problemi çözecek kadar iyi anlamaya çalışmayı sanmıyorum. Bu şekilde "hile" yaparak daha sonra öğreniyorsun, sonra tüm bu araştırmaları yapmıyorsun.
Doug T.

1
Birçoğunu yaptım ve programlama becerilerimi geliştirdi. Kendisi matematiğe ilişkin olarak, çoğunlukla çok düzenli numaralar öğreniyorsunuz ancak Matematik ve Cebir gibi temel bilgilere fazla bir şey eklemiyorsunuz. Ama matematik yapma motivasyonunu da arttırıyor.
thorsten müller

1
@thorsten: Karım (ailedeki matematikçi) matematiğin SADECE bir sürü temiz numara olduğunu düşünüyor. :-)
Peter K.

1
Genelde Euler problemlerinden geçme yöntemim, ilk önce genellikle kaba bir kuvvet deneyip bunu optimize etmem. Bu yalnız, hiç bilmediğim bir sürü matematiksel gerçeği öğretti. Çözüm forumlarını daha sonra okumak genellikle daha fazla matematiksel bakış açısı sağlar.
System Down

8

Her zaman Kenneth Rosen'in Ayrık Matematik ve Uygulamalarını öneririm . İyi bir teori ve uygulama dengesi ile birçok farklı konuyu (herhangi bir Ayrık Matematik kitabının yapacağı gibi) kapsar. Ayrıca, kapsanan kavramları oluşturan matematikçiler ve bilgisayar bilimcilerinde birçok ilginç kenar çubuğuna sahiptir .


Teşekkürler! fakat ayrık Matematik vb.
çalışmadan

1
@ adietan63: Cebir I söyleyebilirim hepsi bu gereklidir . Üniversitem Calculus veya Stats'tan önce Discrete Math'ı kullanmamıza izin verdi, ancak kesinlikle bunları almak için bir şey olmaz.
Kertenkele Bill

@ adietan63: Tazelemeye ihtiyacınız varsa Head First matematik kitaplarından bazılarına göz atmak veya ücretsiz çevrimiçi video dersleri izlemek isteyebilirsiniz .
Kertenkele Bill

@Bill Teşekkürler! Belki bu şeyleri öğrenmekte kendimi baskı altında hissediyorum çünkü kısa sürede programlamada birçok şey öğrenmek istiyorum. Belki bir seferde bir tane alırım. Bunun öğrenme sürecinin bir parçası olduğunu düşünüyorum. Tekrar teşekkürler!
adietan63

7
Rica ederim. Ayrıca, “Programlamada kısa sürede çok şey öğrenmek istiyorum” duygusu hiçbir zaman ortadan kalkmaz. :)
Kertenkele Bill

4

1000 ayrık matematik kitabı okumak iyi bir çözüm olsa da, zaman kısıtı ise en uygun yol olmayabilir. Derinlemesine gitmeden önce ne kadar matematiğin olması gerektiğine dair bir lezzet istiyorsanız , (cormen) Algoritma kitabının tanıtımı eki A’ya bakınız : http://www.acmsolver.org/books/ Giriş% 20to% 20Algorithms,% 202,% 20Ed% 20-% 20Thomas% 20H.% 20Cormen.pdf

Ekleri okudum ve bana hangi matematik konularını daha fazla gözden geçirmem gerektiğini daha iyi anladım. Ne bekleyeceğinizi öğrendikten sonra şuna bir bakın:

http://www.amazon.com/Journey-into-Mathematics-Introduction-Proofs/dp/0486453065/ref=sr_1_15?ie=UTF8&qid=1308591694&sr=8-15 görüntü tanımını buraya girin

Kanımca nasıl kanıtlanacağını öğrenmek (özellikle indüksiyon yoluyla) analiz algoritmalarını anlamada bir temel taşıdır . Ne yazık ki, çoğu algoritma ve hatta CS matematik dersleri kanıtlara çok fazla odaklanmıyor. Zaten üzerinde uzman olduğunu varsayıyorlar, bu yüzden birkaç sayfanın ötesine geçmiyorlar. Matematik kitabına yolculuk çok küçük ve okunması kolaydır. CS problemlerini ve onların matematiksel yönlerini de kullanır. Öğrenilecek diğer iyi konular matris aritmetiği , olasılık , sayma ve grafik teorisidir .

Diğer iki popüler büyük ders kitabı: Ayrık Matematik ve EPP'den uygulaması (en sevdiğim) ve diğeri Rosen'dan.

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

" Beton Matematiği " başlıklı ders kitabını okumaktan zevk almadım ama her zaman iyi şeyler duydum.


1

Açıkçası, temelde çok güçlü bir matematik bilgisi olmadan, birçok alanda mükemmel derecede yeterli bir programcı olabilirsiniz. Oyun motorları veya ağ yönlendirme optimizasyonu söz konusu olduğunda çok yetenekli olmayabilirsin, ama gerçeği söylemek gerekirse, birçok iş uygulaması oldukça basit. Ancak, umudunuzu canlı tutmanızı ve henüz matematikten vazgeçmemenizi teşvik ediyorum.

Daha düşük bir seviyede aldığınız matematik ile daha yüksek bir seviyede aldığınız matematik arasında bir farklar dünyası var. Calculus'ta kötü olduğunuzu söylemek çok farklı bir şeydi (Ben - başarısız oldum Calc'ı ilk aldığımda) Grafik Teorisinde kötü olduğunuzu söylemekten daha farklı. Matematiğe ilerlerken odak, açıkçası oldukça sıkıcı ve tekrarlayıcı olan ve grafik hesap makinenizin yapabileceği basit problem çözme üzerine değil. Bunun yerine, odak mantıksal düşünme becerileri üzerinedir: ispat oluşturmak açıkçası yazılıma çok benzer.

Sahip olduğum en iyi matematik dersi, ilk "gerçek" matematik dersim olduğunu düşündüğüm şeydi: temel olarak, Grafik Teorisinden Sayı Teorisine kadar bir dizi alanı kapsayan ispat sınıfına giriş. Kullandığımız metin harikaydı ( Matematiksel Düşünme: D'Angelo ve Batı'dan Problem Çözme ve Kanıtlar .) Bu kitapta çalışmanın, kanıtlara saldırmanın bazı fikirlerini almak için çalışmasını yararlı bulabilirsiniz.

Genel olarak, üniversitede aldığım matematiğe gerçekten ihtiyacım var mıydı ? Hayır muhtemelen değil. Ancak bazı resmi geçmişlere sahip olmak bana daha iyi eleştirel düşünme becerileri kazandırdı, daha iyi bir hayal gücü (genellikle bir sorunu çözmenin birçok yolu vardır, bazen iyi, bazen kötü, ama benzersiz bir fikir yardımcı olabilir) ve problem çözmede güven olabilir.


| Teşekkürler dostum! Bence Math her zaman sana yardım edemez. Belki de varlığı, eleştirel düşünmenize ve analitik becerilerinizi geliştirmenize yardımcı olur?
adietan63

Açıkçası, "açıkçası" kelimesini sevdiğini düşünüyorum.
bukzor

1

Bakın, matematikte iyiyim ama gerçekten programlama için kullanmıyorum ve oldukça fazla program yapıyorum. Tavsiyem yeterince bilmemeye alışmak ve birinin sizin için matematiği yaptırmasını sağlamaktır.

Bilmeniz gereken çok şey var, hepsinde iyi olmayı bekleyemezsiniz, ama özellikle matematik, çok kullanışlı değil.

Elbette, buna ihtiyaç duyabilirsiniz çünkü programlarınız bilimsel bir şeydir, aksi halde daha fazla yararlı bir şey öğrenmek için bu zamanı kullanın.


2
Katılmıyorum, iyi programlama becerileri iyi matematik becerileri ile ilgilidir.
Marcelo

1
Sanırım aynı fikirde olamazsın. Bu anlaşmazlığın bir hak olduğunu düşünüyorum, ancak eğer bu benim katkımı azaltma yetkiniz varsa, bu gerçekten risklidir.
Ando

Ayrıcalıklar - aşağı oy - 125 itibar gerektirir; bu ayrıcalığa zaten sahip oldunuz.
Marcelo

1
Geliştirildi çünkü kabul ediyorum, birçok alanda iyi bir programcı olmak için matematiğe ihtiyacınız yok . Yine de, matematiğin pek işe yaramayacağı konusunda hemfikirim. Günlük işinizde matematiğe ihtiyacınız olmasa bile, matematiğin belirli yönlerini öğrenmekten çok şey kazanırsınız ve eğer sadece büyük O notalarını anlamak o kadar çoksa.
thorsten müller

1

ESSLLI'nin "Mantık ve Hesaplama" bölümündeki (başlangıç) derslerinden bazılarının ders notlarına bakmak (örneğin, yaklaşan 2011 programı veya 2010 programı , daha fazlasını aramak) ilginç olabilir. Programlama ile ilgili alandaki güncel teorik gelişmeler hakkında size bir izlenim verecektir. Ardından, bu derslerde dokunulan belirli bir alt alandaki temelleri daha derin çalışmaya karar verebilirsiniz.

(Aksi takdirde, sorunuzu yanıtlamak zor, gerçekten gerekmeyen veya ilgilenmeyeceğiniz çok farklı bir "matematik" var. ESSLLI kurslarının bizim için ilginç olabileceği bir neden, bazı güncelleri yansıtmalarıdır. araştırma, bu yüzden belirli bulmacaları çözmekle ilgilidir ve belirli bir bulmacayı çözmeye çalışmak, gerçek bir teori anlayışı, arkasındaki ilginç şeyin ne olduğunu anlama sürecinde önemli bir bileşendir.)


1

CS matematiğini düzgün çalışıyorsanız, matematiksel mantık ve küme teorisi gibi şeylere bakıyorsunuzdur. Bunlar, onları destekleyen oldukça ilgili bazı matematik var. Bu nedenle, temel matematik seviyeniz biraz zorluysa, daha fazla CS ile ilgili alanlara geçmeden önce, temellerle başlamaya en iyisidir.

Bu nedenle KA Stroud'un Mühendislik Matematiği ile başlamanızı öneririm . İyi yazılmış, takip etmesi kolay ve temelleri ve daha gelişmiş şeyleri kapsar.


1

Temelleri ile başlayın ve sonra da uzmanlık alanına geçin: Matematikçilerin Lokumu ve Nasıl çözüleceği , başlamak için iki harika kitaptır. Matematikçi'nin Delight'ı temel matematik konularına (örneğin, Geometri, cebir, matematik vb.) İnsan dostu ve eğlenceli bir şekilde yaklaşır. Henüz nasıl çözüleceğini okumamıştım, fakat matematik problemlerine mantıkla nasıl saldırılacağına odaklanıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.