เพิ่งจบไปหมาดๆ เลยอยากมาแชร์ประสบการณ์ รอบ June Piscine 2023 ณ 42 Bangkok ที่ผมเพิ่งไปเข้าร่วม มาให้อ่านกันครับ
42?
42 School เป็นโรงเรียนโปรแกรมมิ่ง ที่มีรูปแบบการสอนเฉพาะของตัวเอง ต้นกำเนิดมาจาก Paris ประเทศฝรั่งเศส และขยายสาขาไปทั่วโลก และจะตั้งชื่อตามเมืองของสาขานั้น ๆ เช่น 42 Paris, 42 Tokyo หรือ 42 Seoul โดย 42 Bangkok เกิดจากการร่วมมือกับ KMITL กับ 42 มาเปิดสาขาในไทย โดยจะตั้งอยู่ที่ตึก KLLC ชั้น 4, KMITL
Piscine คืออะไร?
สรุปสั้น ๆ การจะเข้าเป็นนักเรียนของ 42 School ต้องผ่าน bootcamp เป็นเวลาเกือบ 1 เดือน โดยผู้คัดเลือก จะตัดสินจาก progress ของ Pisciner คนนั้น ๆ ว่ามีความสม่ำเสมอหรือไม่ มีพัฒนาการเป็นอย่างไร หากผ่านการคัดเลือก จะได้เป็นนักเรียนของที่นี่ โดยจะมีชื่อเรียกว่า Cadet
Piscine มาจากภาษาฝรั่งเศส แปลว่า สระน้ำ เปรียบเปรยว่า เราจะถีบคุณลงสระ หลังจากนั้นคุณต้องตะเกียกตะกายให้ถึงฝั่งเอาเอง ถ้ายอมแพ้ก็จม
ได้ทำอะไรบ้าง?
ถ้าจะให้อธิบาย ต้องเริ่มจากการรูปแบบการเรียนของ 42 School เลยครับ เอาสั้น ๆ ง่าย ๆ คือ ไม่มีคาบเรียน ไม่มีครูสอน เน้นทำโปรเจค และเรียนรู้จากผู้เรียนด้วยกัน ตรงนี้อาจจะยังไม่อ๋อ เดี๋ยวหลังจากนี้จะค่อย ๆ กระจ่างเองครับ
สิ่งที่ที่นี่จะให้คุณมีเพียง โจทย์, โจทย์, วีดิโอสอนพื้นฐานบางเรื่อง และโจทย์ เริ่มแรกมาจะมีหลายอย่างให้อ่าน เช่น กฎและรายละเอียดต่าง ๆ สำหรับการ Piscine สิ่งที่จะไม่เจอเลย คือ guide สำหรับทำโจทย์ หากถาม tutor คำแนะนำที่จะได้รับคือ ถามเพื่อนทางซ้าย ถ้าไม่ยังไม่รู้ ถามเพื่อนทางขวา ถ้ายังไม่รู้อยู่ดี ก็ googled it ครับ
Shell 1 เทอม ในวันเดียว
โจทย์จะมี 2 หัวเรื่องใหญ่ คือ Shell script 2 projects และ C 14 projects แต่ละ project ก็มีโจทย์หลายข้อ และจะมี requirement ของแต่ละ project ว่าต้องผ่านตัวนี้ ๆ ก่อนนะ ถึงจะ register ได้
วันแรกมา ไม่รู้อิโหน่อิเหน่ ไม่เข้าใจระบบว่าอะไรต้องทำยังไง มาเจอ Shell00 ต้องงัดทุกท่า ทุก command ที่เคยเรียนมาใช้ หัวแทบระเบิด เหนื่อยมาก ๆ วันนั้น ยังจำได้ดี เพราะมี input เข้าหัวเยอะสุด ๆ ไปนั่งคุยกับเพื่อนว่า ที่เราใช้ทำ project วันนี้ คือทุกคำสั่งที่ได้เรียนที่มอทั้งเทอมเลย จากนั้นพอหมดวัน ก็กลับไปนอนสลบยาว 11 ชั่วโมง
Evaluation
ก่อนจะไปต่อ ขอวนกลับมาที่รูปแบบการเรียนการสอน เพราะตรงนี้จะเป็น key หลักที่จะทำให้เกิดการเรียนรู้จากผู้เรียนด้วยกันเอง
42 จะมีระบบตรวจงานให้เรา ชื่อ moulinette เวลาตรวจ มันก็จะไปรัน test case ที่มันมี ถ้าผ่านหมดข้อนั้นก็ผ่าน แต่ การจะให้ moulinette ตรวจ ต้องผ่านการ evaluation ก่อน 2 ครั้งนะจ๊ะ
evaluation คืออะไร? มันคือการสุ่มให้ผู้เรียนด้วยกัน มาตรวจงานเรา การที่เราอธิบายงานของตัวเอง ให้คนอื่นเข้าใจได้ มันก็เป็นการเสริมความรู้ให้เราด้วย ส่วนคนที่ตรวจ ไม่จำเป็นว่าต้องรู้ว่ายังไงคือที่ถูกหรือผิด ตรวจแบบไม่รู้อะไรเลยก็ได้ แล้วค่อยให้เจ้าของงานอธิบายวิธีการให้เรา เป็นการส่งต่อองค์ความรู้จากผู้เรียนสู้ผู้เรียนด้วยกัน
ถ้า moulinette ตรวจเจอข้อผิด จะหยุดนับคะแนนตั้งแต่ข้อนั้น แม้ข้อที่ตามมาจะถูกต้อง ก็ไม่ถูกนับคะแนน
เขียน C แบบยุคหิน
หากผ่าน Shell มาได้แล้ว ด่านต่อไปคือ C ซึ่งเป็นภาษาหลักที่เราจะใช้ระหว่าง Piscine หากคุณเคยเขียน C และคุ้นเคยกับการใช้ lib stdio.h เป็นอย่างดี เสียใจด้วย ที่นี่เราไม่ทำกันแบบนั้น
ตั้งแต่ C00 ถึง C06 คำสั่งที่ include จาก lib ที่ใช้ได้ มีเพียงอย่างเดียว คือ write() ที่เอาไว้ print character ทีละตัว หลังจากนั้นถ้าอยากได้อะไร ต้องเขียนขึ้นมาเอง ตั้งแต่ print string, print number และอื่น ๆ อีกมากมาย
Rush project
หากช่วงสุดสัปดาห์ คุณว่างและไม่มีแพลนพักผ่อน มาลง Rush project ครับ โปรเจคกลุ่มมหาโหด ในระยะเวลา 3 วัน เร้าใจสุดๆ บอกเลยว่า ประสบการณ์ที่ได้จาก Piscine ทั้งหมด ผมยกให้ Rush project เป็น Highlight ครับ
Rush เป็นโปรเจคทีม 3 คนแบบสุ่ม ระยะเวลาทำ ศุกร์ถึงอาทิตย์ มีให้ลงได้ 3 ครั้ง หากไม่สะดวก ไม่ลงก็ได้ งานจะถูก evaluate 1 ครั้ง โดย tutor ที่เป็น Cadet และไม่มีคะแนนจาก moulinette อันนี้ไปวัดดวงกันเอาครับว่าได้ evaluator ใจดีหรือเปล่า บอกไว้ก่อนว่า tutor จะพังโปรแกรมของคุณด้วยทุกวิถีทางเพื่อไม่ให้คุณได้คะแนนเต็ม
Exam !
หากคิดว่าเป็นการเรียนแบบไม่เหมือนใคร ไม่มีคลาส ไม่มีครู แต่สอบยังมีเหมือนเดิม เพื่อเป็นการวัดระดับของผู้เรียน ว่าสามารถเรียนรู้ได้จริงหรือไม่ โดยตามปกติ การสอบจะจัดวันศุกร์ 9:00–13:00 ยาวๆ 4 ชั่วโมง ใครเสร็จก่อน ออกก่อนได้ ขาดสอบได้ ไม่มีปัญหา แต่คิดว่าน่าจะมีผลตอนคัดเลือกเป็น Cadet
ตอนวันสุดท้าย จะมีการสอบ Final exam จัดหนักยาว 8 ชั่วโมง เพื่อวัดความรู้ตลอดการ Piscine ที่ผ่านมา ว่าเราไปได้ไกลแค่ไหน รายละเอียดอื่น ๆ ยังคงเหมือนการสอบปกติ
สำหรับคนที่กำลังจะไป Piscine
- อ่านเยอะๆ อ่านให้ละเอียด อ่านแล้วอ่านอีก อ่านหลายๆ รอบ
- เปิด slot evaluation ดูดความรู้จากคนอื่นเยอะๆ จะเรียนรู้ได้ไว
- หาเพื่อนไว้เยอะๆ จะไม่ได้เบื่อ
- ลุกไปตีปิงปองบ้าง
- จอ iMac 5k ใช้ให้คุ้ม เปิดหนัง เปิด youtube ดูไปเลย
- ผ่านอาทิตย์แรกไป จะชินกับระบบเอง
- Don’t give up
สำหรับคนที่อยากไป Piscine
- ไป Piscine
สรุปว่า..
เป็นประสบการณ์ที่เหนื่อยสุดๆ แต่ก็มีคุณค่าสุดๆ เหมือนกัน ได้อะไรหลายอย่างมากๆ ทั้ง algorithm ในหัวที่เฉียบขึ้น energy เพิ่มขึ้น ได้เพื่อนทั้งจากประเทศฝรั่งเศส สเปน รัสเซีย หรือเบลเยี่ยม และอีกหลายๆ อย่างเกินจะนึกออก เอาเป็นว่าถ้ามีแรง มีเวลา มาลองดูครับ ประการณ์แบบนี้ หาจากไหนไม่ได้แล้วจริงๆ
If you want it. You have to fight for it.