คอร์สเรียน 7 วันที่จะพาทุกคนไปศึกษาพื้นฐานของการเขียนโปรแกรม ผ่านไอเดียเบื้องหลัง data structures และ algorithms ที่น่าสนใจ
วิธีการลงทะเบียนเนื้อหาชวนทุกคนไปเห็นกระบวนการแก้ปัญหา ผ่านการตั้งคำถามเชิงลึกกับ algorithm ที่น่าสนใจ มากกว่าสนใจแค่ algorithm แต่ละตัวทำงานอย่างไร
อธิบายผ่านรูปภาพและการลงมือทำ แต่ละบทจะมี quiz, excercises และ challenge problem ท้ายบทเพื่อความเข้าใจที่มากขึ้น
สอบถามบทเรียนเมื่อเกิดข้อสงสัย และแชร์คำตอบกับเพื่อน ๆ ใน community (และสนุกกว่าเรียนคนเดียวแน่นอน!)
รีวิวส่วนหนึ่งจากนักเรียนทั้งหมดที่สมัครเรียนคอร์สนี้กว่า 750+ คน
คอร์ส Data Structures and Algorithms Fundamentals เกี่ยวกับอะไรและเหมาะกับใคร? รูปแบบคอร์สเป็นยังไง? และคำถามที่พบบ่อยต่าง ๆ ก่อนเริ่มเรียน
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Big O notation คืออะไร? เราจะวัด efficiency ของ algorithm ได้ยังไง? space and time complexity คืออะไร?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Asymptotic analysis คืออะไร? เข้าใจนิยามของ big O notation และ asymptotic notation อื่น ๆ อย่าง big omega และ big theta ผ่านภาษาของคณิตศาสตร์
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
Binary search คืออะไร? เอามาใช้แก้ปัญหาอะไรได้บ้าง? และ binary search จำเป็นต้องใช้บนข้อมูลที่เรียงจากมากไปน้อยหรือน้อยไปมากเท่านั้นจริงหรอ!?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Binary search เป็น algorithm ที่ถึงแม้ไอเดียจะเรียบง่าย แต่การ implement ให้ถูกนั้นเป็นเรื่องที่ยากมาก บทความนี้พามาชวน implement binary search แบบ step by step ผ่านการกำหนด pre-condition, post-condition, bound functions และ loop invariant
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
Recursion คืออะไร? recursive function คืออะไร? เราต้องมองปัญหาอย่างไรเพื่อที่เราจะสามารถคิด recursive algorithm ที่แก้ปัญหาออกมาได้?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Divide and conquer คืออะไร? แตกต่างกับ dynamic programming อย่างไร? เราสามารถใช้ recursion tree method และ master theorem ในการประเมิน time complexity ได้อย่างไร?
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
Data structures คืออะไร? เราสามารถนำ data structures มาใช้แก้ปัญหาได้อย่างไร? และทำไม data structures ถึงเป็นเหมือนกับหัวใจหลักของการเขียนโปรแกรม?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Abstract data types (ADT) ต่างกับ data structure อย่างไรและทำไมถึงสำคัญ? bloom filter คืออะไร? probabilistic data structure คืออะไร? ทำความเข้าใจผ่านการออกแบบระบบ recommendation system อย่างง่าย (BookTok)
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
Graph theory คืออะไร? เราสามารถ implement graph แบบไหนได้บ้าง? graph เอาไปใช้ในการแก้ปัญหาอะไรได้บ้าง?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Shortest path problem คืออะไร? และเราสามารถออกแบบ algorithm อย่างไรได้บ้างเพื่อแก้ปัญหาดังกล่าว (DFS/BFS, Dijkstra, A* algorithm)
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
Tree คืออะไร? มีโครงสร้างเป็นอย่างไร? binary tree และ binary search tree ต่างกันอย่างไร? เอาไว้ใช้ในการแก้ปัญหาอะไรและมี operation อะไรบ้าง?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Minimum spanning tree (MST) คืออะไรและใช้แก้ปัญหาอะไร เราสามารถสร้าง MST ได้ยังไงบ้าง (Prim's algorithm, Kruskal's algorithm)
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
Dynamic programming คืออะไร? ปัญหาแบบไหนที่เหมาะสมกับการใช้ dynamic programming? memorization และ tabulation แตกต่างกันอย่างไร?
🧑🏻💻 Exercises และ 1 challenge problem ท้ายบท
Greedy algorithm คืออะไร? เราสามารถออกแบบ greedy algorithm เพื่อหา optimal solution ได้หรือไม่? และเราจะรู้ได้อย่างไรว่า greedy algorithm ของเราทำงานได้ถูกต้อง
🧑🏻💻 +3 challenge problem พร้อมเฉลยละเอียดท้ายบท
(สำหรับ +3 challenge problems จะเพิ่มใน class #3 นะครับ)
ส่วนตัวเราเชื่อว่าเนื้อหาพื้นฐานเกี่ยวกับ data structure และ algorithm เป็นเนื้อหาที่ควรจะมี resources ดี ๆ ภาษาไทย ที่เปิดให้ทุกคนสามารถเข้าถึงได้ฟรี สามารถสมัครได้ง่าย ๆ โดยกดปุ่ม "เข้าสู่ระบบ" (ด้วย Google) ที่เมนูมุมขวาบน แล้วมาเริ่มเรียนกันเลยย
Class #2 ปิดรับสมัครแล้ว โปรดรอติดตาม Class #3 ที่จะเปิดรับสมัครในอนาคต
≈ ราคาเท่ากับ gym membership 1 สัปดาห์
สามารถลงทะเบียนได้ถึงวันปิด class #2 และราคาจะมีการปรับเปลี่ยนตามเนื้อหาที่ลงใน class ถัด ๆ ไป
อ่านรายละเอียดเพิ่มเติมในหัวข้อ "Course Development Timeline" ด้านล่าง
บทความพิเศษเพิ่มเติมเจาะลึกในหัวข้อที่ลึกขึ้นในแต่ละบท
โจทย์คัดพิเศษพร้อมเฉลยละเอียดในแต่ละบทเรียน เห็นการประยุกต์เนื้อหาและขั้นตอนการแก้ปัญหาที่มากขึ้น (comming on class #3)
สามารถเข้าถึงเนื้อหาเพื่อทบทวนได้ตลอดแม้กระทั้งจบ class แล้ว
ชำระเงินครั้งเดียวเข้าถึงได้ตลอด รวมไปถึงเนื้อหาและบริการพิเศษใหม่ ๆ ที่จะมีการอัพเดตในอนาคต และร่วมเป็นส่วนหนึ่งในการพัฒนาเป้าหมาย "open fundamentals course for all" ของเรา
บทความพิเศษ 7 บทความ
สั่งซื้อครั้งเดียวสามารถเข้าถึงอัพเดตหลังจากนี้ได้ทั้งหมด
บทความพิเศษเพิ่มเติม
โจทย์คัดพิเศษพร้อมเฉลยละเอียด +20 ข้อ
สั่งซื้อครั้งเดียวสามารถเข้าถึงอัพเดตหลังจากนี้ได้ทั้งหมด
บทความพิเศษเพิ่มเติม
โจทย์คัดพิเศษพร้อมเฉลยละเอียดเพิ่มเติม
บริการเสริมอื่น ๆ
สั่งซื้อครั้งเดียวสามารถเข้าถึงอัพเดตหลังจากนี้ได้ทั้งหมด
ในส่วนของเนื้อหาและโจทย์ฝึกหัด จะใช้ภาษา Javascript และ Python ในการอธิบายเป็นหลัก
ทางผู้สอนแนะนำว่า ควรเขียนภาษาโปรแกรมมิ่งเป็นอยู่แล้วอย่างน้อย 1 ภาษา และควรศึกษา Javascript หรือ Python เบื้องต้นเพื่อใช้ในการทำโจทย์และทำความเข้าใจเนื้อหาในคอร์สเรียน
ถึงแม้ว่าคอร์สทั้งสองจะมีจะมีเป้าหมายเดียวกัน ก็คือการพัฒนาทักษะการแก้ปัญหา แต่วิธีการและเนื้อหามีความแตกต่างกัน
คอร์ส 7-days จะเน้นไปที่เนื้อหาพื้นฐาน data structures & algorithms ต่าง ๆ เป็นหลัก และแบบฝึกหัดซึ่งมีจุดประสงค์เพื่อให้เห็นความเป็นไปได้ว่ามีปัญหาแบบไหนบ้างที่สามารถแก้ได้โดยใช้เนื้อหาที่เรียนมาในแต่ละบท (เหมาะสำหรับคนที่อยากปูพื้นฐาน)
ในขณะที่คอร์ส hands-on แบบฝึกหัดจะเน้นไปที่เทคนิคการเขียนโค้ดและการประยุกต์ใช้หลาย ๆ ทฤษฎีรวมเข้าด้วยกัน รวมไปถึงการทำโปรเจคจริง ๆ ซึ่งเป็นบริบท และ problem-solving process ของ software development ที่กว้างกว่าการออกแบบ algorithm เพื่อแก้ปัญหาในเชิงคอมพิวเตอร์ (เหมาะสำหรับคนที่อยากฝึกประยุกต์เรื่องที่เรียนมาเพื่อใช้สร้าง software project)
สำหรับเนื้อหาจะเข้าถึงได้ถึงวันที่ปิด class เท่านั้น และจะเข้าถึงได้อีกรอบเมื่อลง class ต่อไป
อย่างไรก็ตามสำหรับคนที่สมัคร pro plan จะสามารถเข้าถึงเนื้อหาเพื่อทบทวนและการอัพเดตหลังจากนั้นได้ตลอดแม้จะปิด class ไปแล้วก็ตาม
คอร์สนี้แบ่งเนื้อหาออกแบบ 7 บท อย่างไรก็ตามผู้เรียนสามารถเรียนได้ตามความเร็วของตัวเองภายในช่วงระยะเวลาที่ class นั้น ๆ กำลังเปิดอยู่ (ก่อนวันปิด class)
ทางผู้สอนตั้งใจจะเปิด class ปีละ 2-4 ครั้ง ผู้เรียนสามารถติดตามข่าวสารเพิ่มเติมได้ที่ Facebook Page
โปรดติดต่อสอบถามผู้สอนทาง Facebook Messenger หรือทางอีเมล [email protected]