สรุปผลการเรียน Math for Working Programmer ทั้งหมด
24 Jul 2025 18:36
Written by: Yosapol Jitrak
เล่าประสบการณ์การเรียน Math for Working Programmer ของตัวเองครับ ซึ่งลงเรียนบาง Class มาหลายรอบอยู่ครับ เพราะรอบเดียวเก็บไม่หมด และมีหลาย Versions มาก ใช้เวลาถึง 5 ปีกว่าจะเก็บครบ เพราะหลัง ๆ ลงไม่ทันครับ จนอาจารย์ได้ติดต่อมาสอบถามว่าสนใจลงเรียนไหม จึงได้เรียนครบสักที
Class | Title | Date |
---|---|---|
Days 1-2 | Mathematics for Working Programmers - Public 3 | 2-3 พฤศจิกายน 2019 |
Days 3-4 | Category Theory for Working Programmers: Lets do private! | 9-10 พฤษภาคม 2020 |
Days 1-2 | Mathematics for Working Programmers Days 1-2 | 5-6 ธันวาคม 2020 |
Days 3-4 | Mathematics for Working Programmers Days 3-4 | 19-20 ธันวาคม 2020 |
Days 1-2 | Math for Working Programmer Days 1-2 | 11-13 มีนาคม 2023 |
Days 0 | Reasoning with Discreet Maths Day 0 | 22-23 มีนาคม 2025 |
Days 5-6 | Math for working programmer Days 5-6 | 31 พฤษภาคม 2025 - 1 มิถุนายน 2025 |
Days 7-8 | Math for working programmer Days 7-8 | 7-8 มิถุนายน 2025 |
ก่อนหน้านี้ผมเคยโพสไปบ้างแล้วสำหรับ Series ของ Class นี้
Link: Opened up a new world with Math for Programmers - Public 3
Link: Again with Math for Programmers
การเรียน Series ของ Class นี้ มีความประทับใจตั้งแต่ครั้งแรก จนถึง Class สุดท้าย
ถึงแม้ชื่อว่าจะ Day 0 แต่จริง ๆ ก็เรียน 2 วันนะครับ ส่วนตัวชอบ Days 0 ที่สุดครับ เพราะสอนให้เรามองทุกอย่างเป็น Logical ได้ มองสิ่งต่าง ๆ เป็นจุด และเส้นเชื่อม มองโลกเป็น Set ของสิ่งนั้นสิ่งนี้ ไม่จำเป็นจะต้องเป็น Software developer ก็สามารถเรียน Class นี้ สามารถไปประยุกต์ใช้ต่อได้อีกหลายอย่างเลย ทำให้การมองโลกของเรามีความเป็นเหตุเป็นผลมากขึ้น
รูปซ้ายหรือขวา ถูกกันแน่
สำหรับ Class นี้เนื่องจากได้ลงเรียนตั้งแต่ Version แรก ๆ จนถึง Version หลัง ตัว Version แรก ๆ ต้องยอมรับว่าเนื้อหาอัดแน่นจนสมองเบลอไปหมด แต่หลัง ๆ เหมือนเนื้อหาจะลดถอน และกระจายออกไปสู่วันอื่นมากขึ้น ยกตัวอย่าง Code น้อยลงกว่า Version แรก ๆ สิ่งที่ได้จาก Class นี้คือ อะไรคือ Computation, ประวัติศาสตร์ Computer, อะไรคือ Turing machine และเข้าใจ Functional Programming มากขึ้น สำหรับคนที่เริ่มเรียน Funtional Programming จะมีคำถามนึงเสมอ อะไรคือ Monoid, Monad เพราะ Search Google คุณจะเจอว่า “monad is a monoid within the category of endofunctors” อ่านแล้วปวดหัว แต่ Class นี้จะทำให้คุณเข้าใจเรื่องพวกนี้มากขึ้น ใน Version ที่ผมเรียนแรก ๆ เนื้อหาจะมีตัวอย่าง Code Haskell ค่อนข้างเยอะ ว่าการเขียนโปรแกรมแบบ Declarative จริงแล้ว ๆ มันเป็นอย่างไร ไม่ใช่การพยายามเขียน Functional ในภาษา Programming แบบที่เราเคยรู้จักในในตลาด ตอนเรียนครั้งแรกค่อนข้างเปิดโลกใบใหม่พอสมควรสำหรับ Class นี้
Version ที่ผมเรียน Days 3-4 เป็น Category Theory for Working Programmers ซึ่งเนื้อหาส่วนใหญ่จะซ้ำกับ Days 5-6 เลย แต่เหมือนตอนหลัง Day 3-4 จะถูกเปลี่ยนเป็นอย่างอื่นไปแล้ว สำหรับ Days 3-4 Version ที่ผมเรียนรู้สึกว่าเนื้อหาอัดแน่นเหมือนเคย โดย Days 5-6 Version ล่าสุดที่เรียนจะถูกลดถอนเนื้อหา แล้วยกบางส่วนไปอยู่ที่ Days 7-8 ก่อนหน้านี้เวลาเราเขียนโปรแกรมเราจะมองซูมเข้าไป เพื่อให้เห็นรายละเอียด แต่ Class นี้จะให้เรามองถอยออกมา เพื่อลดถอนรายละเอียด มองสิ่งต่าง ๆ เป็นจุด และเส้นเชื่อมมากขึ้น ลดเงื่อนไขเฉพาะเจาะจงที่มนุษย์เราซูมลึกเข้าไปจนเกินเหตุ ที่ทำให้เกิด If-else เต็มไปหมด เนื้อหา Class นี้จะมีเนื้อหาบ้างส่วนซ้ำกับของ Day 0 และเอามาต่อยอด โดยที่เจาะลึกเข้า Functor แต่ละแบบเลย (Days 3-4 Version แรก ๆ) นอกจากนี้ยังได้เห็นมุมมองของการ Morphisms หรือ Map ของข้าม Domain อะไรคือ Natural transformations และจากก่อนหน้านี้ ถ้าคุณอาจจะยังไม่เคลียร์กับ Monad และ Monoid ซึ่ง Class นี้จะทำให้คุณกระจ่างทันที
Class นี้หลานส่วนซ้ำกับ Version Days 3-4 ที่ผมเคยเรียนปีแรก ๆ แต่เป็นการเปลี่ยนมุมมอง เป็นในมุมของ Senior software developer และนี้คือสิ่งที่จะได้เรียนจากใน Class นี้ทั้งหมด จากรูปด้านล่างนี้
โดยจะแยกออกมาเป็น 42 เรื่องที่เราจะได้เรียนใน Class นี้ ตามนี้
โดยจะเอาเรื่องทั้งหมดนี้มาเล่าให้เข้ากับสถานการณ์จริงที่เกิดขึ้นในชีวิต และใช้เครื่องมือพวกนี้ เล่า สื่อสาร อธิบาย หรือแก้ปัญหาที่เกิดขึ้นของ Senior software developer
หลังจากเรียน Series ของ Math for working programmer ของอาจารย์เดฟ ทั้งหมดแล้ว ทำให้รู้ว่าคณิตสาตร์เป็นเรื่องใกล้ตัวกว่าที่เราเคยคิด สามารถนำมาประยุกต์ใช้ในชีวิตประจำได้เกือบทุกเรื่อง ใช้เป็นภาษากลางในการสื่อสารได้ เป็นกรอบความคิดของเหตุและผล ที่สำคัญ คณิตศาสตร์ไม่ใช่แค่การคำนวณตัวเลข อย่างที่เราเคยเรียนมาตลอดในการศึกษาของประเทศไทย และขอบคุณอาจารย์เดฟที่ยอมเหนื่อยมาสอน เชื่อว่าเรื่องเหล่านี้จะหาคนพูดสอนในไทย เป็นภาษาไทย และในฉบับของ Software developer คงมีเพียงหยิบมือเท่านั้น (มองจาก Union Set ของคนที่มีคุณสมบัติครบทั้งหมด)
สนใจเรียนกับอาจาย์
ติดต่อได้ที่ Facebook: Dave Rawitat Pulam
อย่าลืมนอนให้เพียงพอ ก่อนไปเรียนกันด้วยนะครับ
ฝากภาพถ่ายสุดท้ายของการเรียน Series นี้ครับ