Dark pattern
Paid Workshop Hands-On Algorithmic Problem Solving

Data Structures & Algorithms by “Project and Practice”

พัฒนาทักษะการแก้ปัญหา ฝึกเทคนิคการเขียนโค้ด เรียนรู้การปรับใช้ data structure และ algorithm ต่าง ๆ ผ่านการ “ลงมือทำ”

Boost your creative problem-solving skills

พัฒนาทักษะการแก้ปัญหาในการเขียนโปรแกรมผ่าน 3 องค์ประกอบหลัก

Project you can show

เรียนรู้ process การสร้างโปรเจคและพื้นฐานการเขียนโปรแกรม ผ่านการสร้างโปรเจคที่ตัวเองสนใจ ที่สามารถเก็บลงพอร์ตเพื่อใช้ในการสมัครงานได้

Write your own framework

ลงมือทำโจทย์ ฝึกเทคนิคการเขียนโปรแกรม และทบทวนกระบวนการคิดเพื่อสร้าง problem-solving framework ของตัวเอง

Grow with community

สอบถามบทเรียน ให้คำแนะนำเมื่อติดปัญหา และพัฒนาผลงานไปพร้อมกับผู้สอนและเพื่อน ๆ ใน community

คอร์สเรียนนี้เหมาะกับใคร?

  • ผู้เรียนที่กำลังหางานหรือเตรียมตัวเปลี่ยนงาน ผู้เรียนที่กำลังฝึก technical interview
  • นักพัฒนาที่มีประสบการณ์ 0-3 ปี ที่อยากพัฒนาทักษะการแก้ปัญหา พื้นฐานการเขียนโปรแกรม
  • ผู้เรียนที่อยากเรียนรู้ process ของการสร้างโปรเจค และเห็นภาพรวมของ software/product development เพื่อไปพัฒนาผลงานที่ตัวเองสนใจ
  • ผู้เรียนที่ชอบเรียนรู้ผ่านการลงมือทำ
Section 001-002: Introduction & Dojo

จะเป็นอย่างไรถ้าเราสามารถเห็นกระบวนการของการแก้ปัญหาหนึ่ง ๆ ตั้งแต่ต้นจนจบ?”

Dojo Demo JavaScript and Python Support

“วิธีการแก้ปัญหา” เป็นเพียงแค่ผลลัพธ์ปลายทางเท่านั้น สิ่งที่สำคัญกว่าคือกระบวนการคิด ตั้งแต่การเข้าใจปัญหา การสังเกต การลองผิดลองถูกจนกระทั่งนำไปสู่วิธีแก้ปัญหาในท้ายที่สุด

ใน Section 001-002: Introduction & Dojo จะพาผู้เรียนไปปูพื้นฐานของการฝึกทำโจทย์ และสร้าง problem-solving framwork ของตัวเองผ่านการฝึกทำโจทย์คัดพิเศษ 60 ข้อที่ไม่ได้ง่าย (แล้วก็ไม่ได้ยากนัก) พร้อมเฉลยละเอียดที่ไม่ได้เล่าแค่ว่าปัญหานี้แก้ด้วยวิธีไหน แต่ “การได้มาซึ่งวิธีการดังกล่าวต้องผ่านวิธีคิดอะไรบ้าง”

ครอบคลุมทุกเนื้อหาที่ต้องรู้ สำหรับการนำไปปรับใช้ในงานเขียนโปรแกรม

SECTION 001: INTRODUCTION
1.1

1.1. Getting Started

คอร์ส Hands On Algorithmic Problem Solving คืออะไร? การออกแบบเนื้อหาเป็นอย่างไร? ทำไมคอร์สเรียนนี้ถึงเกิดขึ้นมา? อะไรคือสิ่งที่จะได้รับจากคอร์สเรียนนี้?

1.2

1.2. Learn “The Hard Way”

เราควรจะฝึกการแก้ปัญหายังไง?

1.3

1.3. Problem Solving Framework

ภาพรวม problem-solving process แบบกว้าง ๆ

SECTION 002: DOJO
Part #1

Part #1: Make It Work (15 problems)

ฝึกเทคนิคการ implement ผ่านโจทย์ที่แนวคิดการแก้ปัญหาค่อนข้างง่ายและไม่ซับซ้อน แต่การ implement อาจไม่ได้ง่ายตามไปด้วย

บทความปูพื้นฐานก่อนเริ่มแก้โจทย์

Lesson 1.1 Writing correct code
arraystringbinary-searchtwo-pointersliding-windowbruteforcerecursion
Part #2

Part #2: Aha! Insight (15 problems)

ฝึกเทคนิค observation & reasoning ผ่านโจทย์ที่การ implement ค่อนข้างง่าย แต่การจะได้มาซึ่งวิธีแก้ปัญหาอาจไม่ได้ง่ายนัก

mathgeometrygreedysortingconstructive
Part #3

Part #3: Structure Your Data (15 problems)

ฝึกการเลือกและปรับใช้ data structure เพื่อนำมาแก้ปัญหาในรูปแบบต่าง ๆ และลดความซับซ้อนในการ implement

setmapqueuestacklinked-listtreegraph theory
Part #4

Part #4: Squeezing Time & Space (15 problems)

ฝึกแก้ปัญหาที่ time และ memory space มีจำกัดมาก ๆ ออกแบบวิธีการแก้ปัญหาที่เร็วและประหยัดทรัพยากรมากที่สุด

dynamic programmingrandomized algorithmdivide and conquer
Dojo Demo JavaScript and Python Support
Section 003: Project

จะเป็นอย่างไรถ้าเราสามารถฝึกเขียนโปรแกรม และศึกษาในสิ่งที่สนใจไปพร้อม ๆ กันได้?”

ใน Section 003: Project นี้จะพาผู้เรียนไปเรียนรู้ process ของการสร้างโปรเจคและ apply ทักษะที่ได้ฝึกมาในบทก่อน ๆ โดยผู้เรียนสามารถออกแบบโปรเจคของตัวเองได้เต็มตามความสนใจของตนเอง แต่ในขณะเดียวกันทางผู้สอนก็จะมี guideline เพื่อช่วยให้ผู้เรียนสามารถออกแบบและพัฒนาโปรเจคออกมาได้ตามข้อจำกัดที่ได้กำหนดเอาไว้

นอกเหนือไปจากความรู้ที่ได้รับจากการทำโปรเจคแล้ว ยังได้ความสนุก และผลงานที่สามารถเก็บลงพอร์ตเพื่อใช้สมัครงานได้อีกด้วย

Step #1

Step #1: Explore

ตั้งเป้าหมาย คุยกับตัวเอง และเลือกหัวข้อหรือปัญหากว้าง ๆ ที่ตัวเองสนใจ

Introduction — Lesson 1.1
Where good ideas come from? — Lesson 1.2
Talk with yourself — Assignment 1.1
Talk with your topic — Assignment 1.2
Step #2

Step #2: Design

ออกแบบวิธีแก้ปัญหาที่ตอบโจทย์กับบริบทของปัญหา

How to notice problem? — Lesson 2.1
Explore problem statement — Assignment 2.1
What principles guide your work? — Lesson 2.2
Define design principles — Assignment 2.2
How do I make my users happy? — Lesson 2.3
Imagine the MVP — Assignment 2.3
Step #3

Step #3: Implement

ออกแบบวิธีแก้ปัญหาที่ตอบโจทย์กับบริบทของปัญหา

What is proof of concept? — Lesson 3.1
Software design principles — Lesson 3.2
Implement #1: Collect — Assignment 3.1
Implement #2: Process — Assignment 3.2
Implement #3: Represent — Assignment 3.3
Step #4

Step #4: Show and Tell

ปล่อยผลงาน ตกผลึกสิ่งที่ได้เรียนรู้ทั้งหมดจากคอร์สนี้

Show your work! — Assignment 4.1
Connecting the dots — Lesson 4.1
LearnAlgorithm Playground: Private Discord Community

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

Playground Demo

LearnAlgorithm Playground เป็น private discord community ที่คอยช่วย support ผู้เรียนในตลอดทุกการเรียนรู้ในคอร์สนี้ ให้คำแนะนำ พูดคุย แลกเปลี่ยนความคิดเห็น สามารถสอบถามบทเรียนได้ตลอด 24 ชั่วโมง

รูปแบบการเรียนในส่วนของโปรเจค

สำหรับ Section 003: Project นั้น รูปแบบการเรียนจะเป็น lesson and assignment based โดยในบาง assignment จะมีการพูดคุยเพื่อแลกเปลี่ยน feedback กับผู้สอน

Playground Demo
Dark pattern
40% Discount 5,900THB paid once

฿3,540

Preorder
Price

Preorder Note

คอร์สเรียนนี้อยู่ระหว่างการทะยอยปล่อยเนื้อหา ผู้เรียนที่สั่งซื้อ preorder จะได้ส่วนลดจากราคาเต็มและเข้าถึงเนื้อหาบางส่วนได้ก่อน; ราคาจะมีการปรับเปลี่ยนตามจำนวนเนื้อหาที่ปล่อยลงในคอร์ส

Preorder #1

2,950THB; 40 ที่นั่ง; ปิดรับสมัคร 01/09/24

Preorder #2

3,540THB; 40 ที่นั่ง; เปิดรับสมัครเร็ว ๆ นี้

Lifetime Plan

ชำระเงินครั้งเดียวเข้าถึงได้ตลอด

โจทย์คัดพิเศษ 60 ข้อ พร้อมเฉลยละเอียด บทความเจาะลึกหัวข้อต่าง ๆ และการสร้างโปรเจคจริงเพื่อพัฒนาทักษะการแก้ปัญหา

LearnAlgorithm Playground: เข้าร่วม private community ที่คอยช่วย support ในตลอดการเรียนรู้ — ให้คำแนะนำ พูดคุย แลกเปลี่ยนความคิดเห็น สอบถามบทเรียนได้ตลอด 24 ชั่วโมง

ชำระเงินครั้งเดียวเข้าถึงได้ตลอด รวมไปถึงเนื้อหาและบริการใหม่ ๆ ที่จะมีการอัพเดตในอนาคต

ลงทะเบียนเรียน

Frequently Asked Questions

คำถามที่พบบ่อย

คอร์สเรียนนี้เหมาะกับใคร?

เหมาะกับผู้เรียนที่อยากพัฒนาทักษะการแก้ปัญหา ผู้เรียนที่อยากฝึก technical interview หรือกำลังเตรียมตัวเปลี่ยนงาน ผู้เรียนที่อยากเริ่มต้นสร้างโปรเจคของตัวเองแต่ไม่รู้จะเริ่มอย่างไร

มีสิ่งที่ต้องรู้หรือทักษะก่อนเข้าเรียนไหม?

ในส่วนของเนื้อหาและโจทย์ฝึกหัด จะใช้ภาษา Javascript และ Python ในการอธิบายเป็นหลัก

ทางผู้สอนแนะนำว่า ควรเขียนภาษาโปรแกรมมิ่งเป็นอยู่แล้วอย่างน้อย 1 ภาษา และควรศึกษา Javascript หรือ Python เบื้องต้นเพื่อใช้ในการทำโจทย์และทำความเข้าใจเนื้อหาในคอร์สเรียน

รูปแบบการเรียนเป็นแบบไหน? ถ้าลงเรียนช้าจะตามเพื่อนทันไหม?

คอร์สนี้เป็นคอร์สที่ผู้เรียนสามารถเรียนได้ตามความเร็วของตัวเอง โดยเนื้อหาจะเป็นการอ่าน ลงมือทำ และแลกเปลี่ยน feedback กับผู้สอนทาง discord community เป็นหลัก

มีข้อจำกัดในการทำโปรเจคไหม?

ไม่มีข้อจำกัดในเชิงความสนใจและ tech stack ที่ผู้เรียนต้องการฝึกฝน แต่ทั้งนี้โปรเจคควรมีขนาดเล็กพอที่จะทำเสร็จได้ภายในช่วงเสาร์-อาทิตย์ 2-4 สัปดาห์ และเป็น data-driven โปรเจคเป็นหลัก (เก็บข้อมูล, ประมวลผล, แสดงผลลัพธ์ในรูปแบบใดรูปแบบหนึ่ง)

ทั้งนี้ผู้สอนเปิดกว้างถ้าหากว่าผู้เรียนมีความสนใจในการทำโปรเจคแนวอื่น ๆ นอกเหนือไปจากบทเรียนที่ได้เขียนไว้

สามารถลองอ่านเนื้อหาได้ไหม?

ขณะทางเรายังไม่มีการเปิดให้ทดลองเนื้อหา แต่ผู้เรียนสามารถทดลองลองอ่านวิธีการเขียนของผู้สอนได้จากคอร์สฟรี “Data Structures & Algorithms Fundamentals” หรือ บทความอื่น ๆ ในเว็บไซต์

เนื้อหาจะมีการอัพเดตเรื่อย ๆ ไหม?

ทั้งเนื้อหาและบริการจะมีการพัฒนาเรื่อย ๆ ผู้เรียนที่ซื้อคอร์สไปแล้วจะสามารถเข้าถึงอัพเดตหลังจากนี้ได้ทั้งหมด

เป็นไปได้ที่จะมีส่วนลดบ้างไหม?

ทางเรามีเป้าหมายที่จะทำให้เนื้อหามีโอกาสเข้าถึงผู้คนได้มากที่สุด ยกตัวอย่างเช่น student scholarship หรือโครงการอื่น ๆ

ทั้งนี้โปรดติดตามทางเพจ Facebook เพื่อไม่ให้พลาดโอกาส

ถ้าหากว่าเรียนแล้วไม่ถูกใจ?

ถ้าหากว่าผู้เรียนไม่ถูกใจในเนื้อหาหรือบริการไม่ว่าด้วยเหตุผลใดก็ตาม ผู้เรียนสามารถขอคืนเงินเต็มจำนวนโดยติดต่อทางเพจ Facebook หรือทางอีเมล [email protected] ภายใน 60 วันหลังจากวันที่ชำระเงินซื้อคอร์สเรียน

ทั้งนี้เมื่อผู้เรียนได้รับเงินคืนแล้ว บัญชีผู้ใช้งานของผู้เรียนจะถูกลบและไม่สามารถเข้าถึงเนื้อหาบทเรียนได้อีก

มีคำถามอื่น ๆ เพิ่มเติม?

โปรดติดต่อสอบถามผู้สอนทาง Facebook Messenger หรือทางอีเมล [email protected]