หัวข้อคณิตศาสตร์หรือสาขาที่เพิ่มความสามารถในการเขียนโปรแกรมคอมพิวเตอร์? [ปิด]


14

โดยทั่วไปโปรแกรมเมอร์คอมพิวเตอร์ที่เป็นนักคณิตศาสตร์หรือมีพื้นฐานคณิตศาสตร์ดีมากในด้านอัลกอริธึมและการเขียนโปรแกรมคอมพิวเตอร์โดยทั่วไป

สิ่งที่ฉันไม่ได้พูด:

คณิตศาสตร์จำเป็นต้องเป็นโปรแกรมเมอร์คอมพิวเตอร์ที่ดี คณิตศาสตร์เป็นสิ่งจำเป็นสำหรับการเขียนโปรแกรม นักคณิตศาสตร์ที่ดีเป็นโปรแกรมเมอร์ที่ดีและในทางกลับกัน

สิ่งที่ฉันพูด

ฉันต้องการเรียนรู้คณิตศาสตร์เพราะฉันเชื่อว่ามันจะทำให้ฉันเป็นโปรแกรมเมอร์ที่ดีขึ้น หัวข้อ / หัวข้อทางคณิตศาสตร์ใดบ้างที่จะช่วยให้ฉันเป็นโปรแกรมเมอร์ที่ดีขึ้น คำตอบของแบบฟอร์มmath topic - corresponding cs areaจะได้รับการชื่นชม

NB:ฉันถามสิ่งนี้ใน StackOverflow ว่ามีการประกาศที่ไหน ฉันต้องการที่จะเรียนรู้มันในเวลาว่างในแบบที่ฉันได้ทำกับการเขียนโปรแกรมคอมพิวเตอร์ ขอบคุณล่วงหน้า.


1
ฉันประหลาดใจที่ StackOverflow ประกาศว่าคำถามนี้ไม่ได้อยู่ในหัวข้อ จากมุมมองของฉัน (โปรแกรมเมอร์ที่เกษียณอายุราชการ) คำถามนี้ควรเป็นหนึ่งในคำถามที่สำคัญที่สุดสำหรับ SO
scaaahu

1
StackOverflow มากขึ้นเกี่ยวกับปัญหาการเขียนโปรแกรมเฉพาะ สิ่งนี้จะดีที่สุดสำหรับ CSEducators และอาจใช้งานได้กับ SoftwareEngineering
แน็ต

1
เรามีคำถามเช่นนี้มาก่อนและพวกเขาทั้งหมดมีปัญหาเดียวกัน: พวกมันกว้างเกินไปและเป็นอัตวิสัยเกินไป เพียงคำตอบฉันทามติคือทั้งหมดของมัน
Raphael

@ ราฟาเอลก่อนอื่นฉันเคารพการตัดสินใจของ Mod อย่างไรก็ตามฉันต้องการถามคำถามในนามของ OP มีการปรับปรุงคำถามเพื่อให้สามารถเปิดใหม่ได้หรือไม่ หากไม่มีวิธีการปรับปรุง SE มี OP อื่น ๆ ที่สามารถถามคำถามนี้ได้หรือไม่? (เห็นได้ชัดว่า OP ได้ลองใช้ SO แล้วและฉันรู้ว่ามันอาจไม่เหมาะกับ Academia SE เพราะมันไม่เกี่ยวข้องกับ Academia)
scaaahu

คำถามที่ถามวิธีการแก้ปัญหาอย่างเป็นทางการกับปัญหาเฉพาะจะดี คำถามคำแนะนำการศึกษามักไม่เหมาะสมสำหรับรูปแบบ SE เหตุผลใกล้ชิด "อิงตามความคิดเห็น" มีผลกับเว็บไซต์ทั้งหมด!
Raphael

คำตอบ:


19

ดังนั้นมีคณิตศาสตร์หลายสาขาที่เกี่ยวข้องกับวิทยาศาสตร์ของ CS แต่สำหรับการเขียนโปรแกรมโดยเฉพาะ:

  • ทฤษฎีกราฟ : นี่คือทฤษฎีที่ยิ่งใหญ่ กราฟและต้นไม้มีอยู่ทั่วไป เครือข่ายแผนที่เส้นทางในวิดีโอเกม แม้แต่สิ่งต่าง ๆ เช่นการแก้ลูกบาศก์รูบิคก็สามารถสร้างแบบจำลองเป็นอัลกอริธึมกราฟและแก้ไขด้วย A *

  • คณิตศาสตร์ไม่ต่อเนื่อง : นอกเหนือจากทฤษฎีกราฟการรู้พื้นที่โดยทั่วไปนี้มีประโยชน์ มันเต็มไปด้วยบทพิสูจน์โดยการเหนี่ยวนำซึ่งมีประโยชน์มากสำหรับการทำความเข้าใจการเรียกซ้ำซึ่งมีประโยชน์มากในการเขียนโปรแกรมโดยเฉพาะกับโครงสร้างข้อมูล การรู้เกี่ยวกับชุดการนับการแยกรวมการตรรกะบูลีนและอื่น ๆ สามารถมาเป็นประโยชน์ครั้งคราว

  • ทฤษฎีประเภท:ไม่น่าแปลกใจที่รู้ทฤษฎีชนิดช่วยในการทำความเข้าใจการเขียนโปรแกรมในภาษาที่พิมพ์และกว้างขึ้นโดยใช้ประเภทเป็นวิธีการตรวจสอบคุณสมบัติความถูกต้องบางอย่าง การรู้เกี่ยวกับทฤษฎีของการพิมพ์ย่อยช่วยให้คุณเข้าใจความแปรปรวนร่วมและความแปรปรวนในภาษาที่มีลักษณะคล้าย Java การรู้เกี่ยวกับสิ่งต่าง ๆ เช่นพาราเมทริกพหุนิยมนั้นมีประโยชน์อย่างเห็นได้ชัดเมื่อเรียนรู้ภาษาแบบหนักเช่น Haskell หรือ Purescript แต่ langauges เช่น Scala, TypeScript และ Rust กำลังแพร่หลายมากขึ้นในอุตสาหกรรมและประเภทอยู่ที่แกนกลางของพวกเขา

    หากคุณนำสิ่งนี้ไปสู่สุดขั้วคุณจะได้รับสิ่งต่าง ๆ เช่น Coq และ Agda และ Idris ซึ่งสามารถนำมาใช้เพื่อพิสูจน์คุณสมบัติความถูกต้องที่แม่นยำอย่างยิ่งเกี่ยวกับโปรแกรม

  • ทฤษฎีการคำนวณและความซับซ้อน : การรู้ว่าเมื่อใดที่ปัญหาไม่สามารถแก้ไขได้หรือ NP-hard นั้นมีประโยชน์เพราะคุณจะไม่ต้องเสียเวลาหลายชั่วโมงในการคิดสมองเพื่อหาวิธีที่รวดเร็ว ในทำนองเดียวกันการรู้ทฤษฎีบางอย่างที่อยู่เบื้องหลังอัลกอริธึมการประมาณความสามารถในการแก้ไขพารามิเตอร์คงที่หรืออัลกอริธึมอธิบายขั้นต่ำสามารถช่วยได้เมื่อคุณต้องการแก้ปัญหา NP-hard

  • ทฤษฎีออโตมาตะ:ปัญหามากมายสามารถสร้างแบบจำลองด้วยเครื่องจักรของรัฐที่หลากหลายดังนั้นการเข้าใจคุณสมบัติของพวกมันจึงมีประโยชน์

นอกจากนี้ยังมีบางพื้นที่เฉพาะฟิลด์:

  • สถิติ:หากคุณกำลังเรียนรู้ด้วยเครื่องจักรหรือข้อมูลขนาดใหญ่สิ่งนี้เป็นสิ่งจำเป็น

  • พีชคณิตเชิงเส้น / เวกเตอร์แคลอรี : ทั้งสองอย่างนี้มีความสำคัญต่อการเรียนรู้ของเครื่องกราฟิกการจำลองหรือการประมวลผลภาพ / เสียง

  • ทฤษฎี Lattice : หากคุณกำลังทำงานกับคอมไพเลอร์หรือการเพิ่มประสิทธิภาพโปรแกรมใด ๆ สิ่งนี้จะเกิดขึ้นตลอดเวลา แก้ไขคะแนนทุกที่!

  • ทฤษฎีหมวดหมู่:ไม่จำเป็นต้องใช้รหัส แต่มีประโยชน์สำหรับทุกสิ่งที่เปียกลึกในทฤษฎีประเภท

แก้ไข: ไม่น่าเชื่อว่าฉันลืม:

  • วิทยาการเข้ารหัสลับ : หากคุณสนใจในเรื่องความปลอดภัยการแฮชลายเซ็นดิจิทัลและอื่น ๆ จากนั้นตรวจสอบให้แน่ใจว่าได้เรียนรู้ทฤษฎีจำนวนทฤษฎีกลุ่มทฤษฎีภาคสนามทฤษฎีวงรีรูปไข่ ฯลฯ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.