แผนการเรียน
ภาพรวม
Rakthan แบ่งเป็น 5 stage เรียงตามระดับ และ 6 แกนวิชาที่ตัดขวางทุก stage
| Stage | เทียบเท่า | จำนวนบท | สถานะ |
|---|---|---|---|
| Stage 0 — รากฐาน | ก่อนเข้ามหาวิทยาลัย | 11 | ออกแบบครบ กำลังเขียน |
| Stage 1 | ปี 1 | ~32 | ร่างขอบเขต |
| Stage 2 | ปี 2 | ~32 | ร่างขอบเขต |
| Stage 3 | ปี 3 | ~30 | ร่างขอบเขต |
| Stage 4 | ปี 4 | ~25 | ร่างขอบเขต |
แกนวิชา 6 แกน
แต่ละบทสังกัดแกนใดแกนหนึ่ง และมีสีประจำแกนกำกับไว้บนหัวบท
| แกน | ขอบเขต |
|---|---|
| Programming | เขียนโปรแกรม โครงสร้างข้อมูล อัลกอริทึม คอมไพเลอร์ |
| Mathematics | แคลคูลัส พีชคณิตเชิงเส้น ดิสครีต ความน่าจะเป็น สถิติ |
| Hardware & Systems | ลอจิก วงจร สถาปัตยกรรม ระบบปฏิบัติการ ระบบฝังตัว |
| Data & AI | ฐานข้อมูล การวิเคราะห์ข้อมูล machine learning |
| Networks | เครือข่าย โพรโทคอล ระบบกระจาย ความมั่นคงปลอดภัย |
| Professional | เครื่องมือ การทำงานเป็นทีม จริยธรรม การสื่อสาร |
Stage 0 — รากฐาน (11 บท)
สามบทแรกเป็นเรื่องฮาร์ดแวร์ทั้งหมด ก่อน จะให้เขียนโค้ด
เหตุผล: คนที่เริ่มจากไวยากรณ์ภาษาโดยไม่รู้ว่าข้างใต้คืออะไร มักจะท่องจำแทนที่จะเข้าใจ แล้วไปตันตอนเจอเรื่องที่ต้องรู้ว่าเครื่องทำงานยังไงจริง ๆ
| บท | ชื่อ | แกน | เวลา |
|---|---|---|---|
| 0.1 | คอมพิวเตอร์คิดยังไง | Hardware | 60 น. |
| 0.2 | โลกที่มีแค่ 0 กับ 1 | Hardware | 90 น. |
| 0.3 | ตัวอักษร สี เสียง กลายเป็นตัวเลขได้ยังไง | Hardware | 90 น. |
| 0.4 | โปรแกรมแรกของคุณ | Programming | 75 น. |
| 0.5 | ตัวแปรและชนิดข้อมูล | Programming | 90 น. |
| 0.6 | ให้คอมพิวเตอร์ตัดสินใจ | Programming | 90 น. |
| 0.7 | ทำซ้ำโดยไม่ต้องพิมพ์ซ้ำ | Programming | 100 น. |
| 0.8 | เก็บของหลายชิ้นไว้ด้วยกัน | Programming | 100 น. |
| 0.9 | แยกโปรแกรมเป็นชิ้นส่วน | Programming | 100 น. |
| 0.10 | เมื่อโปรแกรมพัง | Programming | 90 น. |
| 0.11 | โปรเจกต์แรกของคุณ | Programming | 120 น. |
จบ Stage 0 แล้วคุณจะ เขียนโปรแกรม Python ที่มีเงื่อนไข ลูป collection และฟังก์ชันได้ อ่าน error message เป็น และหาสาเหตุ bug ได้เอง
Stage 1–4 — ยังไม่ออกแบบรายบท
| Stage | ขอบเขตคร่าว ๆ |
|---|---|
| Stage 1 | คณิตศาสตร์ดิสครีต · ภาษา C และ pointer · ลอจิกเกตและวงจร · Git และเครื่องมือ |
| Stage 2 | โครงสร้างข้อมูลและอัลกอริทึม · OOP · สถาปัตยกรรมคอมพิวเตอร์ · SQL · สถิติ · เครือข่าย |
| Stage 3 | ระบบปฏิบัติการ · ระบบฝังตัว · เว็บ · machine learning · วิศวกรรมซอฟต์แวร์ · security |
| Stage 4 | ระบบกระจาย · deep learning · สถาปัตยกรรมระบบใหญ่ · โครงงานจบ · จริยธรรมวิชาชีพ |
ทำไมถึงยังไม่เขียน Stage 1
เพราะบทหนึ่งที่ทำครบตามมาตรฐานของเราใช้เวลาจริง 8–20 ชั่วโมง ทั้งหลักสูตร 130 บทคือประมาณ 1 คน-ปีแบบเต็มเวลา
ถ้าเขียนไป 40 บทแล้วพบว่าวิธีสอนไม่เวิร์ก ต้นทุนที่เสียไปคือหลายร้อยชั่วโมง
เราจึงตั้งใจให้ Stage 0 เสร็จและถูกนำไปใช้จริงก่อน แล้วค่อยขยายตาม feedback
ลำดับการขยาย — ทีละแกน ไม่ใช่ทีละชั้นปี
หลัง Stage 0 เราจะขยายทีละแกนวิชาให้ลึก แทนที่จะทำทุกแกนของปี 1 ให้ครบ
เพราะคนที่จบ Stage 0 แล้วอยากเรียนสายใดสายหนึ่งให้ลึก ได้ประโยชน์มากกว่าการมีทุกสายแบบตื้น ๆ
รอยต่อที่ต้องระวัง
Stage 0 สอน Python แต่ Stage 1 สอน C — นี่คือจุดที่ผู้เรียนหลุดมากที่สุด
การใช้สองภาษาเป็นความตั้งใจ: Python สอนแนวคิด ส่วน C บังคับให้คุณเห็นว่าเครื่องทำงานยังไงจริง ๆ เมื่อถึงตรงนั้น เราจะมีบทสะพานที่อธิบายว่าทำไมต้องเปลี่ยน ก่อนสอนไวยากรณ์ C แม้แต่บรรทัดเดียว