
Data Structures & Algorithms by "Project and Practice"
พัฒนาทักษะการแก้ปัญหา ฝึกเทคนิคการเขียนโค้ด เรียนรู้การปรับใช้ data structure และ algorithm ต่าง ๆ ผ่านการ "ลงมือทำ"

“It's all about problem solving.”

ไม่ว่าจะสร้างเกมส์ ทำ website, AI agents หรือทำ data analytics - โดยพื้นฐานแล้วคือการหยิบ “ความรู้เฉพาะด้าน” และ“เครื่องมือ/กระบวนการแก้ปัญหา” มาใช้ เพื่อสร้างในสิ่งที่ต้องการ
Problem: การฝึกแก้โจทย์ LeetCode หรือการอ่านเนื้อหาและฝึกเครื่องมือในหัวข้อต่าง ๆ แยก ๆ กัน ทำให้เป็นเรื่องยากที่จะเห็นภาพใหญ่ของกระบวนการแก้ปัญหา
Solution: คอร์สนี้ออกแบบโดยเน้น project-based learning เป็นหลัก โดยจะพาผู้เรียนไปเห็นภาพรวมของกระบวนการแก้ปัญหา ตั้งแต่ภาพเล็ก (การฝึกทำโจทย์ออกแบบพิเศษ) จนถึงภาพใหญ่ (การสร้างโปรเจค) เพื่อสร้าง problem-solving framework ของตัวเอง ที่สามารถนำไปปรับใช้ในงาน หรือกับทุกโปรเจคที่ผู้เรียนอยากจะสร้างในอนาคต
Boost your problem-solving skills
พัฒนาทักษะการแก้ปัญหาในการเขียนโปรแกรมผ่าน 3 องค์ประกอบหลัก
Project you can show
เรียนรู้ process การสร้างโปรเจคและเห็นภาพใหญ่ของการแก้ปัญหา ผ่านการสร้างโปรเจคเจ๋ง ๆ ที่สามารถเก็บลงพอร์ตเป็นผลงานได้
Write your own framework
ฝึกเทคนิคการเขียนโปรแกรม และสร้าง problem-solving framework ของตัวเอง ผ่านโจทย์ออกแบบพิเศษในหัวข้อต่าง ๆ
Grow with community
สอบถามบทเรียน ให้คำแนะนำเมื่อติดปัญหาตลอด 24 ชั่วโมง และพัฒนาผลงานไปพร้อมกับผู้สอนและเพื่อน ๆ ตลอด 6 สัปดาห์
คอร์สเรียนนี้เหมาะกับใคร?
- ผู้เรียนที่กำลังหางานหรือเตรียมตัวเปลี่ยนงาน ผู้เรียนที่กำลังฝึก technical interview
- นักพัฒนาที่มีประสบการณ์ 0-3 ปี ที่อยากพัฒนาทักษะการแก้ปัญหา พื้นฐานการเขียนโปรแกรม
- ผู้เรียนที่อยากเรียนรู้ process ของการสร้างโปรเจคตั้งแต่ไอเดียจนปล่อยผลงาน และเห็นภาพรวมของ software/product development เพื่อไปพัฒนาผลงานที่ตัวเองสนใจ
- ผู้เรียนที่ชอบเรียนรู้ผ่านการตั้งคำถามและการลงมือทำ
“จะเป็นอย่างไรถ้าเราสามารถเห็นกระบวนการของการแก้ปัญหาหนึ่ง ๆ ตั้งแต่ต้นจนจบ?”

วิธีการแก้ปัญหาเป็นเพียงแค่ผลลัพธ์ปลายทางเท่านั้น สิ่งที่สำคัญกว่าคือกระบวนการคิด ตั้งแต่การเข้าใจปัญหา การสังเกต การลองผิดลองถูกจนกระทั่งนำไปสู่วิธีแก้ปัญหาในท้ายที่สุด
ใน Section 001-002: Introduction & Dojo จะพาผู้เรียนไปฝึกเทคนิคการเขียนโปรแกรม และสร้าง problem-solving framwork ของตัวเองผ่านการฝึกทำโจทย์ออกแบบพิเศษในหัวข้อต่าง ๆพร้อมเฉลยละเอียด ผ่านการตั้งคำถาม ตั้งแต่ต้นจนจบ
1.1.Getting Started
คอร์ส Hands On Algorithmic Problem Solving คืออะไร? ทำไมการทำโปรเจคถึงทำคัญ? การฝึกทำโจทย์ LeetCode ยังจำเป็นอยู่ไหม?
1.2.Computational Problem Solving
ปัญหาและวิธีแก้ปัญหาคืออะไร? เราควรจะฝึกและพัฒนา problem solving framework ของเราอย่างไร? computational problem solving คืออะไร?
1.3.Problem Solving Framework
สิ่งที่ต้องทำ กฏที่ต้องรู้ก่อนเริ่มฝึกทำโจทย์ และ problem-solving framework แบบละเอียดสำหรับใช้ reference ขณะฝึกทำโจทย์
Part #1: Make It Work
ฝึกเทคนิคการ implement ผ่านโจทย์ที่แนวคิดการแก้ปัญหาค่อนข้างง่ายและไม่ซับซ้อน แต่การ implement อาจไม่ได้ง่ายตามไปด้วย
Part #2: Aha! Insight
ฝึกเทคนิค observation & reasoning ผ่านโจทย์ที่การ implement ค่อนข้างง่าย แต่การจะได้มาซึ่งวิธีแก้ปัญหาอาจไม่ได้ง่ายนัก
Part #3: Squeezing Time & Space
ฝึกแก้ปัญหาที่ time และ memory space มีจำกัดมาก ๆ ออกแบบวิธีการแก้ปัญหาที่เร็วและประหยัดทรัพยากรมากที่สุด

“จะเป็นอย่างไรถ้าเราสามารถเห็นกระบวนการของการสร้างโปรเจคตั้งแต่ต้นจนจบ?”
ใน Section 003: Project นี้จะพาผู้เรียนไปเรียนรู้ process ของการสร้างโปรเจคตั้งแต่ไอเดีย จนไปถึงการปล่อยผลงาน เห็นกระบวนการแก้ปัญหาและบริบทที่ใหญ่กว่าโจทย์ที่ฝึกในบทก่อนหน้า
ต่อยอดโปรเจคในเรื่องที่ตัวเองสนุกและสนใจ เก็บเป็นผลงานลงพอร์ตได้
Step #1: Explore
สิ่งที่ต้องรู้ก่อนเริ่มทำโปรเจค และเลือกหัวข้อโปรเจคที่ตัวเองสนใจ
Step #2: Design
ออกแบบวิธีแก้ปัญหาที่ตอบโจทย์กับบริบทของปัญหา
Step #3: Implement
เขียนโค้ดเพื่อเปลี่ยนจากไอเดียให้กลายเป็นสิ่งที่ใช้งานได้จริง
Step #4: Show and Tell
ปล่อยผลงาน ตกผลึกสิ่งที่ได้เรียนรู้ทั้งหมดจากคอร์สนี้
สามารถทำโปรเจคอะได้บ้าง?
สำหรับโปรเจคจะมี template เริ่มต้นให้ผู้เรียนเลือก โดยใน template จะมีโค้ด, challenge problems เพื่อฝึกเนื้อหา จากนั้นผู้เรียนจะได้ออกแบบ feature ตามความสนใจของตัวเองไปพร้อม ๆ กับผู้สอนและผู้เรียนคนอื่น ๆ
ตัวอย่างโปรเจคเริ่มต้น:
เขียนโค้ดเล่นกับข้อมูล Wikipedia

สร้างเกม Minecraft ด้วย P5.js

เขียนโค้ดสร้างวีดีโอสรุปข่าว

“จะเป็นอย่างไรถ้ามีคนคอยให้คำแนะนำเวลามีคำถาม หรือเวลาติดปัญหาขณะลงมือทำ?”

LearnAlgorithm Playground: เป็น private discord community ที่คอยช่วย support ผู้เรียนในตลอดทุกการเรียนรู้ในคอร์สนี้ ให้คำแนะนำ สอบถามบทเรียนได้ตลอด 24 ชั่วโมง
6-Weeks LearnTogether: เป็นกิจกรรม weekly check-in 6 สัปดาห์ช่วงเสาร์-อาทิตย์ ที่ผู้เรียนจะได้เรียนไปด้วยกันกับเพื่อนคนอื่น ๆ อัพเดตสิ่งที่ได้เรียนรู้ในแต่ละสัปดาห์;
(อ่านตารางวันที่และเวลาในหัวข้อ course timeline ต่อด้านล่าง)


฿3,540
Preorder
Price
คอร์สเรียนนี้อยู่ระหว่างการพัฒนา ผู้เรียนที่สั่งซื้อ preorder จะได้ส่วนลดจากราคาเต็ม (ราคามีการปรับเปลี่ยนตามเนื้อหาที่ปล่อยลงในคอร์ส)
Preorder #1
2,950THB; 40 ที่นั่ง; ปิดรับสมัคร 01/09/24
Preorder #2
3,540THB; 50 ที่นั่ง; ปิดรับสมัคร 21/05/25
Lifetime Plan
ชำระเงินครั้งเดียวเข้าถึงได้ตลอด
Lifelong Learning: เห็นภาพกว้างของกระบวนการแก้ปัญหา ที่สามารถนำไปปรับใช้งานและโปรเจคที่ผู้เรียนอยากจะสร้างในอนาคตได้
Learn with Community: เข้าร่วม private community สอบถามบทเรียนได้ตลอด 24 ชั่วโมง และ 6-weeks check-in ที่จะได้เรียนรู้ไปพร้อมกับเพื่อนคนอื่น ๆ
Lifetime Access: ชำระเงินครั้งเดียวเข้าถึงเนื้อหาได้ตลอด รวมไปถึงเนื้อหาและบริการใหม่ ๆ ที่จะมีการอัพเดตในอนาคต
แถม: เข้าถึงเนื้อหาคอร์ส 7-Days ได้ตลอดช่วงก่อนเริ่มเรียนจนไปถึงจบ LearnTogether 6-weeks program
Course Timeline
ตารางวันที่และเวลาสำหรับ hands-on workshop class #2
Open for Registration
เปิดรับสมัคร class #2 / preorder #2 จำกัด 50 ที่นั่ง - ผู้ที่สมัครจะสามารถเข้าถึงเนื้อหาคอร์ส 7-Days of Algorithm ได้ก่อน เพื่อทบทวนพื้นฐานรอวันเปิดเข้าเนื้อหา
Close Registration
21 May 2025
ปิดรับสมัครวันสุดท้าย (ในกรณีที่ถ้าหากว่ายังมีที่นั่งว่าง)
First Access and 6-Weeks LearnTogether Program
26 May - 6 June 2025
เปิดให้เข้าถึงเนื้อหาคอร์สวันแรก - หลังจากนี้ตลอด 6 สัปดาห์ จะมี online weekly check-in ช่วงเสาร์หรืออาทิตย์ กันผ่าน Discord และ Figjam เพื่ออัพเดตสิ่งที่ได้เรียนรู้ในแต่ละสัปดาห์
Lifetime Access
(after the course completion)
หลังจากจบคอร์สแล้ว ผู้เรียนจะสามารถเข้าถึงเนื้อหาเพื่อกลับมาทบทวนได้ตลอด
Frequently Asked Questions
คำถามที่พบบ่อย
รูปแบบการเรียนเป็นแบบไหน? ถ้าลงเรียนช้าจะตามเพื่อนทันไหม?
คอร์สนี้เป็นคอร์สที่ผู้เรียนสามารถเรียนได้ตามความเร็วของตัวเอง โดยเนื้อหาจะเป็นการอ่านบทความ ลงมือทำ และแลกเปลี่ยน feedback กับผู้สอนทาง discord community เป็นหลัก
คอร์สเรียนนี้เหมาะกับใคร?
เหมาะกับผู้เรียนที่อยากพัฒนาทักษะการแก้ปัญหา ผู้เรียนที่อยากฝึก technical interview หรือผู้เรียนที่อยากเริ่มต้นสร้างโปรเจคของตัวเองแต่ไม่รู้จะเริ่มอย่างไร
มีข้อจำกัดในการทำโปรเจคไหม?
สำหรับรูปแบบของการทำโปรเจคนั้น จะมี project template ให้ผู้เรียนเลือกพร้อม challenge problems ที่ผู้เรียนจะต้องเขียนโค้ดแก้ปัญหา หลังจากนั้นจะเป็นส่วนของ “development further” ที่ผู้เรียนจะได้พัฒนาต่อยอดในมุมที่ตัวเองสนใจ
คอร์ส 7-Days กับ Hands-On ต่างกันอย่างไร?
ถึงแม้ว่าคอร์สทั้งสองจะมีจะมีเป้าหมายเดียวกัน ก็คือการพัฒนาทักษะการแก้ปัญหา แต่วิธีการและเนื้อหามีความแตกต่างกัน
คอร์ส 7-days จะเน้นไปที่เนื้อหาพื้นฐาน data structures & algorithms และแบบฝึกหัดจะมีจุดประสงค์เพื่อให้เห็นความเป็นไปได้ว่ามีปัญหาแบบไหนบ้างที่สามารถแก้ได้โดยใช้เนื้อหาที่เรียนมาในแต่ละบท (เหมาะสำหรับคนที่อยากปูความรู้พื้นฐาน)
ในขณะที่คอร์ส hands-on แบบฝึกหัดจะเน้นไปที่ problem-solving process ในมุมต่าง ๆ รวมไปถึงการทำโปรเจคจริง ๆ ซึ่งเป็นบริบทการแก้ปัญหา ของ software development ที่กว้างกว่าการออกแบบ algorithm เพื่อแก้ปัญหาในเชิงคอมพิวเตอร์
(เหมาะสำหรับคนที่อยากฝึกประยุกต์ และเชื่อมโยงเรื่องที่เรียนมาเพื่อใช้สร้าง software project)
มีสิ่งที่ต้องรู้หรือทักษะก่อนเข้าเรียนไหม?
ในส่วนของเนื้อหาและโจทย์ฝึกหัด จะใช้ภาษา Javascript และ Python ในการอธิบายเป็นหลัก
ทางผู้สอนแนะนำว่า ควรเขียนภาษาโปรแกรมมิ่งเป็นอยู่แล้วอย่างน้อย 1 ภาษา และควรศึกษา Javascript หรือ Python เบื้องต้นเพื่อใช้ในการทำโจทย์และทำความเข้าใจเนื้อหาในคอร์สเรียน
สามารถลองอ่านเนื้อหาได้ไหม?
ผู้เรียนสามารถทดลองลองอ่านวิธีการเขียนของผู้สอนได้จากบทความอื่น ๆ ในเว็บไซต์
เนื้อหาจะมีการอัพเดตเรื่อย ๆ ไหม?
ทั้งเนื้อหาและบริการจะมีการพัฒนาเรื่อย ๆ ผู้เรียนที่ซื้อคอร์สไปแล้วจะสามารถเข้าถึงอัพเดตหลังจากนี้ได้ทั้งหมด
ถ้าหากว่าเรียนแล้วไม่ถูกใจ?
ถ้าหากว่าผู้เรียนไม่ถูกใจในเนื้อหาหรือบริการไม่ว่าด้วยเหตุผลใดก็ตาม ผู้เรียนสามารถขอคืนเงินเต็มจำนวนโดยติดต่อทางเพจ Facebookหรือทางอีเมล hello@learnalgorithm.com ภายใน 30 วันหลังจากวันที่เข้าถึงเนื้อหาวันแรก
ทั้งนี้เมื่อผู้เรียนได้รับเงินคืนแล้ว บัญชีผู้ใช้งานของผู้เรียนจะถูกลบและไม่สามารถเข้าถึงเนื้อหาบทเรียนได้อีก
มีคำถามอื่น ๆ เพิ่มเติม?
โปรดติดต่อสอบถามผู้สอนทางFacebook Messenger หรือทางอีเมล hello@learnalgorithm.com