{
  "code": "AABP",
  "full": "310-112 · ALGORITHMS AND BASIC PROGRAMMING",
  "th": "อัลกอริทึมและการเขียนโปรแกรมเบื้องต้น",
  "color": "#41e3cf",
  "note": "สอบกลางภาค 8–14 ส.ค. 69",
  "topics": [
    { "file": "01-array.html", "slug": "array", "name": "ARRAY", "kind": "lesson", "color": "#41e3cf",
      "desc": "หน่วยความจำ 1–3 มิติ · Row/Column major · เลขฐาน 2–16 · เครื่องคิดเลขฐาน" },
    { "file": "02-linked-list.html", "slug": "linked-list", "name": "LINKED LIST", "kind": "lesson", "color": "#a98cff",
      "desc": "Node & Pointer · malloc/free · insert/delete 6 เคส · จำลอง statement ทีละบรรทัด" },
    { "file": "03-stack.html", "slug": "stack", "name": "STACK", "kind": "lesson", "color": "#ffb454",
      "desc": "LIFO · push/pop · แปลง Infix → Postfix ทีละตัวอักษร · คำนวณ Postfix" },
    { "file": "04-recursive.html", "slug": "recursive", "name": "RECURSION", "kind": "lesson", "color": "#5ee0a8",
      "desc": "ฟังก์ชันเรียกตัวเอง · Call Stack · Recursion Tree · ควิซ 30 ข้อ + สุ่มคนตอบ" },

    { "file": "05-midterm.html", "slug": "midterm", "name": "MIDTERM", "kind": "exam", "color": "#ff5f6d",
      "tag": "ระดับปกติ", "desc": "30 ข้อ · 100 คะแนน · 90 นาที · ตรวจอัตโนมัติ" },
    { "file": "06-midterm-hardmode.html", "slug": "midterm-hardmode", "name": "HARD MODE", "kind": "exam", "color": "#ff9f5a",
      "tag": "ระดับยาก", "desc": "20 ข้อ · 120 นาที · ต้องแสดงวิธีทำทุกข้อ" },
    { "file": "07-midterm-extreme.html", "slug": "midterm-extreme", "name": "EXTREME", "kind": "exam", "color": "#ff3355",
      "tag": "ระดับโหด", "desc": "15 ข้อ · 150 นาที · ผสม 2–3 เรื่องต่อข้อ" }
  ]
}
