Notes & software courses · Free to learn
Aph's Blog
On this page

เขียนโปรแกรมเชิงลึก — ภาพรวม & หลักสูตร

👋 อ่านฟรีทั้งหมดบน Aph's Blog — เนื้อหาภาษาไทย ทำตามทีละหน้าใน sidebar ได้เลย หากมีข้อเสนอแนะหรืออยากให้เพิ่มหัวข้อไหน บอกได้เสมอ

คอร์สเขียนโปรแกรมแบบลงลึก ต่อยอดจากคอร์สพื้นฐาน เจาะลึกทุกหัวข้อให้ละเอียดกว่าเดิม — โดยมี Data Structures & Algorithms เป็นหัวใจ

ถ้าคุณเขียนโปรแกรมพื้นฐานเป็นแล้ว (ตัวแปร, loop, function, list/dict, OOP เบื้องต้น) คอร์สนี้จะพาเจาะลึกต่อในทุกหัวข้อให้ละเอียดกว่าคอร์สพื้นฐาน — ตั้งแต่ Python เชิงลึก, การ debug, การเขียนเทสต์, ไปจนถึงฐานข้อมูลและอัลกอริทึมที่ลงลึกถึงการเขียนเองและวิเคราะห์

คอร์สนี้ไม่ผูกกับสายงานใดสายงานหนึ่ง แต่เน้น "สิ่งที่ software engineer ทุกคนต้องมี" และให้น้ำหนักพิเศษกับ Data Structures & Algorithms ซึ่งเป็นหัวใจของการเป็นโปรแกรมเมอร์ที่เก่งขึ้นและเป็นด่านสัมภาษณ์งานทุกที่

ก่อนเริ่ม — ต้องรู้อะไรมาก่อน

คอร์สนี้ต่อจากคอร์ส "เขียนโปรแกรมจากศูนย์" ถ้ายังไม่แม่นพื้นฐาน Python (ตัวแปร, เงื่อนไข, loop, ฟังก์ชัน, list/dict, class เบื้องต้น) แนะนำให้เรียนคอร์สพื้นฐานให้จบก่อน แล้วค่อยกลับมา

คอร์สนี้อยู่ตรงไหน

คอร์สนี้คือเวอร์ชันลงลึกที่ต่อจากคอร์สพื้นฐาน:

ลำดับคอร์สรายละเอียด
1เขียนโปรแกรมจากศูนย์ปูพื้นฐานตั้งแต่ไม่เคยเขียนโค้ด
2เขียนโปรแกรมเชิงลึก (คอร์สนี้)ต่อยอดจากพื้นฐาน เจาะลึกทุกหัวข้อให้ละเอียดกว่าเดิม
3SE Roadmapแนวทาง & แหล่งอ้างอิงสำหรับก้าวต่อไป

หลักสูตร (Curriculum)

13 บท รวมกว่า 77 หัวข้อย่อย ออกแบบให้เรียนเรียงตามลำดับ แต่ละบทต่อยอดจากบทก่อนหน้า แต่ละหัวข้อเจาะลึกพร้อมโค้ด Python ที่รันได้จริงและแบบฝึกหัด

บทเนื้อหาหัวข้อ
1Python ระดับลึก — comprehension, generator, *args/**kwargs, lambda/HOF, closure, decorator, context manager, mutability/copy, collections/itertools9
2Error handling & โค้ดที่แข็งแรง — exception ลึก, custom exception, logging, type hints, defensive programming5
3Debugging, Profiling & Performance — debugger/pdb, อ่าน traceback, profiling, เพิ่มประสิทธิภาพ4
4โครงสร้างโปรเจกต์ & เครื่องมือ — module/package, venv/pip, argparse CLI, env vars/config5
5Git สำหรับทำงานเป็นทีม — branch, remote/GitHub, conflict/rebase, PR workflow5
6การเขียนเทสต์ — ทำไมต้องเทสต์, pytest, fixture, mock, TDD/coverage5
7Clean Code & การออกแบบ — naming/docstring, DRY/KISS, SOLID, refactoring, design patterns5
8ทำงานกับข้อมูลจริง — ไฟล์/pathlib, CSV/JSON, regex, requests/REST, datetime, pandas เบื้องต้น6
9ฐานข้อมูล & SQL — relational model, SQL ลึก, index/transaction, sqlite3, ORM5
10สร้างเว็บแอป & API — HTTP, framework, request/validation, เชื่อม DB, API จริง, authentication, security7
11⭐ Data Structures & Algorithms — เลือกโครงสร้าง, stack/queue, linked list, tree, hash, sorting, binary search, two-pointer/sliding window, recursion, DP, greedy, graph13
12Concurrency & Async — concurrency vs parallelism, threading/GIL, multiprocessing, asyncio4
13Capstone Project — วางแผน, สร้าง, คุณภาพ/CI, deploy4
บทเด่นของคอร์ส

บทที่ 11 (Data Structures & Algorithms) คือหัวใจของคอร์ส ลงลึกทั้งการเขียนเอง, การวิเคราะห์ Big-O และโจทย์ฝึก — เป็นบทที่ลงลึกกว่าคอร์สพื้นฐานชัดเจนที่สุด (มี heap, two-pointer, DP, greedy, graph ที่พื้นฐานไม่มี)

เรียนอย่างไรให้ได้ผล

  1. อ่านทำความเข้าใจแนวคิด "ทำไม" ก่อน "ทำยังไง"
  2. พิมพ์โค้ดตัวอย่างเองทุกครั้ง อย่าแค่อ่านผ่าน — ลงมือทำคือหัวใจ
  3. ทำแบบฝึกหัดท้ายหัวข้อก่อนไปหัวข้อถัดไป
  4. เมื่อถึงบทท้าย ๆ ให้ลงมือทำ capstone project จริงควบคู่ไป
เตรียมเครื่องมือ

คอร์สนี้ควรติดตั้ง Python 3.10+ ลงเครื่องจริง พร้อม editor อย่าง VS Code และใช้ terminal เป็น (ต่างจากคอร์สพื้นฐานที่รันออนไลน์ได้) บางบท เช่น Git, venv, testing ต้องใช้ command line

เริ่มเรียน

เนื้อหาแต่ละบทกำลังทยอยเพิ่มเข้ามา เมนูด้านข้างจะอัปเดตตามบทที่พร้อมแล้ว เริ่มจากบทที่ 1 ได้เลยเมื่อพร้อม