====== 204112 การเขียนโปรแกรมเชิงโครงสร้าง ======
====== Structured Programming ======
===== วิชาที่ต้องผ่านก่อน (prerequisites) =====
* 204__111__
===== ข่าวประกาศ =====
Sec002: โจทย์สำหรับทำ Lab09 (เป็นกรณีพิเศษ) {{::lab09_sec002.pdf|pdf}}กำหนดส่ง วันที่ 26 มีนาคม (29 มีนาคม)
===== วัตถุประสงค์กระบวนวิชา =====
- นักศึกษาจะได้รับความรู้และความเข้าใจเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง และวิธีพัฒนาโปรแกรม
- นักศึกษาจะมีทักษะในการออกแบบและพัฒนาโปรแกรม ตลอดทั้งการแก้ปัญหาด้วยคอมพิวเตอร์
===== เวลาเรียน =====
**Section 001:**
* **Lec:** Fr 9:30 - 11:30 (room CSB207)
* **Lab:** Tu 9:30 - 11:30 (room CSB307)
* **Instructor:** ผู้ช่วยศาสตราจารย์ ดร.วัชรี จำปามูล
* Office: CSB110
* Office hours: TBA
* Assignment Checklist: http://goo.gl/fjz7sC
**Section 002:**
* **Lec:** Fr 9:30 - 11:30 (room CSB210)
* **Lab:** Tu 9:30 - 11:30 (room CSB308)
* **Instructor:** อาจารย์ ดร.รัศมีทิพย์ วิตา
* Office: CSB107
* Office hours: TBA
* Assignment Checklist: http://goo.gl/3Pgnbm
**Section 003:**
* **Lec:** Fr 14:30 - 16:30 (room CSB207)
* **Lab:** Tu 14:30 - 16:30 (room CSB308)
* **Instructor:** อาจารย์ กิตติพิชญ์ คุปตะวาณิช
* Office: CSB107
* Office hours: TBA
* Assignment Checklist: http://goo.gl/ZGvjZr
**Facebook Group:** http://www.facebook.com/groups/14S2.204112
===== วันสอบ =====
* **สอบข้อเขียนกลางภาค :** วันศุกร์ที่ 6 มีนาคม 2558 เวลา 12:00 - 15:00 น.
* **สอบปฏิบัติกลางภาค :** วันพุธที่ 11 มีนาคม 2558 เวลา 13:30 - 15:30 น.
* **สอบปฏิบัติปลายภาค :** วันพุธที่ 29 เมษายน 2558 เวลา 13:30 - 16:30 น.
* **สอบข้อเขียนปลายภาค :** วันอาทิตย์ที่ 10 พฤษภาคม 2558 เวลา 12:00 - 15:00 น.
===== หลักเกณฑ์การให้คะแนน =====
* **กลางภาค**
* สอบข้อเขียนกลางภาค **25%**
* สอบปฏิบัติการกลางภาค **5%**
* **ปลายภาค**
* สอบข้อเขียนปลายภาค **30%**
* สอบปฏิบัติการปลายภาค **10%**
* **สอบย่อย**
* สอบย่อยในคาบบรรยาย **5%**
* สอบย่อยในคาบปฏิบัติการ **5%**
* แบบฝึกหัดและการบ้าน (บรรยาย + ปฏิบัติการ) **10%**
* โครงงาน (รายงาน การนำเสนอ และประสิทธิภาพของโปรแกรมที่พัฒนา) **10%**
**//การ__ลอก__การบ้าน แบบฝึกหัดหรืองานที่ได้รับมอบหมาย ถือเป็น__การทุจริต__//**
==== ข้อตกลงพิเศษของกระบวนวิชา ====
* นักศึกษาทุกคนต้องมีเวลาเข้าเรียน __ไม่น้อยกว่า 80 %__ จึงจะมีสิทธิ์เข้าสอบ
* นักศึกษาต้องลงลายมือชื่อเข้าชั้นเรียน ภายในช่วงเวลาที่กำหนด คือ 9.30 - 9.50 น.สำหรับ ตอน 001 และตอน 002 และ 14.30-14.50 น. สำหรับตอน 003 เท่านั้น หากเลยเวลาที่กำหนด จะถือว่าขาดเรียน แต่อนุญาตให้เข้าเรียนได้
===== เนื้อหาวิชาและแผนการสอน =====
====Schedule====
|< 100% 4% 40% 8% 8% 40% >|
^ Week ^ Lab ^^ Lec ^^
| 01 | //ทดสอบวัดพื้นความรู้และทักษะเกี่ยวกับภาษาซี// | 6 ม.ค. | 9 ม.ค. |
**1. ทบทวนการเขียนโปรแกรม** {{:w01_02_lec_1_ch01reviewprobsolv_2x2.pdf|pdf}}
- การแก้ปัญหา (เน้นการวิเคราะห์ปัญหา)
- การเขียนอัลกอริทึม (การออกแบบแนวทางการแก้ปัญหา)
- โครงสร้างควบคุมแบบเงื่อนไขและทำซ้ำ {{:w02_03_lec_2_ch01controlstm_2x2.pdf|pdf}}
- ฟังก์ชันและการส่งผ่านค่าพารามิเตอร์
* {{:w02_03_lec_1_ch01_printf_scanf_2x2.pdf|printf() - scanf()}} {{:w02_03_lec_3_ch01elementofc_2x2.pdf|Elements of C}}
|
| 02 |
**1. การพัฒนาโปรแกรมภาษาซี โดยใช้ gcc**
- กระบวนการสร้างแอพพลิเคชันภาษาซี {{:w02_lab_c_compiling_and_linking_v4_2x2.pdf|pdf}}\\ (C compiling and Linking)
- การแปลงผังงานโปรแกรมเป็นชุดคำสั่งภาษาซีและคำสั่งในการรับ/ แสดงผลอย่างง่าย {{:lab01_algo2c_2x2.pdf|pdf}}
| 13 ม.ค. | 16 ม.ค. | ::: |
| 03 |
**2. โครงสร้างควบคุมแบบมีเงื่อนไขและแบบทำซ้ำ**
| 20 ม.ค. | 23 ม.ค. | ::: |
| 04 |
**3. ฟังก์ชันและการส่งผ่านพารามิเตอร์** {{::lab03_functions_2x2.pdf|pdf}}
* gcc common errors and warnings {{:lab03_gcc_errors_2x2.pdf|pdf}}
| 27 ม.ค. | 30 ม.ค. |
**2. หลักการออกแบบโปรแกรมที่ดี ** {{:w04_lec_ch02structured_program_2x2.pdf|pdf}}
- สมบัติของโปรแกรมที่ดี
- หลักการออกแบบโปรแกรมแบบโครงสร้าง
- การออกแบบส่วนต่อประสานกับผู้ใช้
|
| 05 |
**4. การเขียนโปรแกรมที่ดี ** + //สอบปฏิบัติการย่อย ครั้งที่ 1//
| 3 ก.พ. | 6 ก.พ. |
**1. การดำเนินการระดับบิต** {{:w05_lec_1_ch01bitwise_2x2.pdf|pdf}}
**3 . การทดสอบและการแก้จุดบกพร่อง** {{:w05_lec_2_ch03testing_2x2.pdf|pdf}}
- กลยุทธ์การทดสอบและการแก้จุดบกพร่อง
- การออกแบบกรณีทดสอบ
- เครื่องมือช่วยการทดสอบและแก้จุดบกพร่อง
|
| 06 |
**5. เครื่องมือช่วยการทดสอบและการแก้จุดบกพร่อง **
| 10 ก.พ. | 13 ก.พ. |:::|
| 07 |
**6. พอยน์เตอร์และการอ้างถึง **
| 17 ก.พ. | 20 ก.พ. |
**4. โครงสร้างข้อมูล**
- พอยน์เตอร์และการอ้างถึง (รวมถึงฟังก์ชันแบบ Called by Reference) {{::w06_lec_1_ch04pointer_2x2.pdf|pdf}}
- ตัวแปรชุด {{::w07_lec_2_ch04array_2x2.pdf|pdf}}
|
| 08 |
**7. ตัวแปรชุด ฟังก์ชันและการส่งผ่านพารามิเตอร์ด้วยตัวแปรชุด **
| 24 ก.พ. | 27 ก.พ. |
**4 . โครงสร้างข้อมูล** - สายอักขระและการประมวลผล
|
| **สอบข้อเขียนกลางภาค วันศุกร์ที่ 6 มีนาคม เวลา 12:00 - 15:00 น.**\\ **สอบปฏิบัติกลางภาค วันพุธที่ 11 มีนาคม เวลา 13.30 - 15.30 น.** |||||
| 09 |
**8. สายอักขระและการประมวลผลสายอักขระ **
\\ ** Command Line Argument ** {{::lab08_c_command_line_arguments_2x2.pdf|pdf}}
| 10 มี.ค. | 13 มี.ค. |
**5. การจัดดำเนินการแฟ้มข้อมูล** {{::w08_lec_ch05file_2x2.pdf|pdf}}
- การจัดระเบียบแฟ้ม
- แฟ้มแบบข้อความและแบบไบนารี
|
| 10 |
**9. การจัดดำเนินการแฟ้มข้อมูล (Array of structs) **
| 17 มี.ค. | 20 มี.ค. |
**4. โครงสร้างข้อมูล ** - เรคอร์ดและ ตัวแปรชุดของเรคอร์ด
|
| 11 |
**10. เรคอร์ด (struct) และ ตัวแปรชุดของเรคอร์ด** {{::w09_lec_1_ch04struct-list_2x2.pdf|pdf1}} {{::w09_lec_2_struct_and_union_v2_2x2.pdf|pdf2}}
| 24 มี.ค. | 27 มี.ค. |
**4. โครงสร้างข้อมูล ** - โครงสร้างแบบลิสค์ {{::w10_lec_linked_list_v3_2x2.pdf|pdf}}
|
| 12 |
**11. โครงสร้างแบบลิสต์ ** {{:w10_lec_linked_list_v3_2x2.pdf|pdf}} + //สอบปฏิบัติการย่อย ครั้งที่ 2//
| 31 มี.ค. | 3 เม.ย. |
**6. ฟังก์ชันแบบเวียนบังเกิด ** {{:w11_1_recursion_2x2.pdf|2x2}} {{:w11_2_recursion_2x2.pdf|2x2}}
- แนวคิดของการเวียนบังเกิด
- การโปรแกรมแบบเวียนบังเกิด
|
| 13 |
**12. การโปรแกรมแบบเรียกซ้ำ **
| 7 เม.ย. | 10 เม.ย. | ::: |
| 14 |
**13. การดำเนินการแฟ้มข้อมูลด้วยการเข้าถึงแบบสุ่ม **
| 21 เม.ย. | 24 เม.ย. |
**5. การจัดดำเนินการแฟ้มข้อมูล ** - 3. การเข้าถึงแบบสุ่ม {{::file.pdf|pdf}}
\\ **7. Enumeration Type ** {{::ch04enumtype_2x2.pdf|pdf}}
|
| 15 | **ทบทวนปฏิบัติการ** | 28 เม.ย. | 1 พ.ค. | **ทบทวน ** |
| **สอบปฏิบัติปลายภาค วันพุธที่ 29 เมษายน เวลา 13.30 - 16.30 น.**\\ **สอบข้อเขียนปลายภาค วันอาทิตย์ที่ 10 พฤษภาคม เวลา 12:00 - 15:00 น.** |||||
===== การส่งงานผ่านเว็บไซต์ (เฉพาะการบ้านที่กําหนด) =====
[[http://hw.cs.science.cmu.ac.th/CS_HW/p204112.html]]
หรือที่เว็บไซต์ของภาควิชา http://www.cs.science.cmu.ac.th->คลิกหัวข้อเว็บเพจส่งการบ้านโดยให้คลิก Link เพื่อ Login ตามรหัสวิชา และตอนเรียน (Section) ที่ลงทะเบียนเรียน
** จะมีการแจก User name และรหัสผ่าน ในชั่วโมงปฏิบัติการ**
**ให้นักศึกษาจดบันทึก User name และรหัสผ่านให้ดี อย่าทําหาย**
หากส่งงานช้ากว่ากำหนด จะคิดคะแนน **80%** จากคะแนนเต็ม และไม่อนุญาตให้ส่งงานช้าเกิน **3** วัน
\\ งานที่ตั้งชื่อไฟล์ไม่ตรงกับที่กำหนดในใบงาน **จะไม่ได้รับการตรวจ**
* ไฟล์งานทุกไฟล์ที่ส่ง online จะต้องมีการแทรก comment ที่บรรทัดบนสุด ในรูปแบบดังนี้
/* ชื่อ นามสกุล
* 5XXXXXXXX
* Lab (หรือ HW) YY
* Problem Z
* 204112 Sec 00A */
* งานที่ส่งเป็นกระดาษ หรือ MS Word Documents ให้เขียนที่หัวกระดาษ**__ด้านขวา__**ดังนี้
|< 100% >|
| **ชื่อ นามสกุล ลำดับที่ ##**\\ **5XXXXXXXX**\\ **Lab** (หรือ **Lec**)** YY**\\ **Problem Z**\\ **204112 Sec 00A**|
{{::lab08_multidimarray.pdf|}}
==== กำหนดส่งงาน (Online)====
* ไม่รับงานส่งสายหลังจากวันที่ที่ระบุในวงเล็บ (เกิน 3 วันจากกำหนดส่ง)
|<100%>|
^ Assignment ^ Assignment Sheet ^ File Naming Format ^ Due Date ^ Globbing\\ (สำหรับ TA) ^
|Lab01_1 | {{::lab01_cfromalgo_v3.pdf|Lab01}} | Lab01_1_5XXXXXXXX.c | 14 Jan\\ (17 Jan) | Lab01_1_5????????.c |
|Lab01_2 | ::: | Lab01_2_5XXXXXXXX.c | ::: | Lab01_2_5????????.c |
|R01 | ::: | R01_5XXXXXXXX.docx | ::: | R01_5????????.doc* |
|HW01_1 |{{:hwassgn_01_basics.pdf|HW01}} | HW01_1_5XXXXXXXX.c | @#FFFFCC:19 Jan\\ (22 Jan) | HW01_1_5????????.c |
|HW01_2 | ::: | HW01_2_5XXXXXXXX.c | ::: | HW01_2_5????????.c |
|HW01_3 | ::: | HW01_3_5XXXXXXXX.c | ::: | HW01_3_5????????.c |
|Lab02_1 | {{:lab02controlstatements_v3.pdf|Lab02}} | Lab02_1_5XXXXXXXX.c | @#FFE0C1:22 Jan\\ (25 Jan) | Lab02_1_5????????.c |
|Lab02_2 | ::: | Lab02_2_5XXXXXXXX.c | ::: | Lab02_2_5????????.c |
|Lab02_3 | ::: | Lab02_3_5XXXXXXXX.c | ::: | Lab02_3_5????????.c |
|HW02_1 | {{:hwassgn_02_condition_and_iteration.pdf|HW02}} | HW02_1_5XXXXXXXX.c | @#FFFFCC:26 Jan\\ (29 Jan) | HW02_1_5????????.c |
|HW02_2 | ::: | HW02_2_5XXXXXXXX.c | ::: | HW02_2_5????????.c |
|HW02_3 | ::: | HW02_3_5XXXXXXXX.c | ::: | HW02_3_5????????.c |
|Lab03_1 | {{:lab03function_v2.pdf|Lab03}} | Lab03_1_5XXXXXXXX.c | @#FFE0C1:29 Jan\\ (1 Feb) | Lab03_1_5????????.c |
|Lab03_2 | ::: | Lab03_2_5XXXXXXXX.c | ::: | Lab03_2_5????????.c |
|HW03_1 | {{:hwassgn_03_function_v3.pdf|HW03}} | HW03_1_5XXXXXXXX.c | @#FFFFCC:2 Feb\\ (5 Feb) | HW03_1_5????????.c |
|HW03_2 | ::: | HW03_2_5XXXXXXXX.c | ::: | HW03_2_5????????.c |
|HW03_3 | ::: | HW03_3_5XXXXXXXX.c | ::: | HW03_3_5????????.c |
|Lab04_1 | {{:lab04structuredprog_v2.pdf|Lab04}} | Lab04_1_5XXXXXXXX.c | @#FFE0C1:5 Feb\\ (8 Feb) | Lab04_1_5????????.c |
|Lab04_2 | ::: | Lab04_2_5XXXXXXXX.c | ::: | Lab04_2_5????????.c |
|Lab04_3 | ::: | Lab04_3_5XXXXXXXX.c | ::: | Lab04_3_5????????.c |
|HW04_1 | {{::hwassgn_04_characterprocessing_v6.pdf|HW04}} | HW04_1_5XXXXXXXX.c | @#FFF0F5:10 Feb\\ (13 Feb) | HW04_1_5????????.c |
|HW04_2 | ::: | HW04_2_5XXXXXXXX.c | ::: | HW04_2_5????????.c |
|HW04_3 | ::: | HW04_3_5XXXXXXXX.c | ::: | HW04_3_5????????.c |
|Lab05_1 | {{:lab05debug.pdf|Lab05}} | Lab05_4_5XXXXXXXX.c | @#FFE0C1:12 Feb\\ (15 Feb) | Lab05_4_5????????.c |
|HW05_1 | {{::hwassgn_05_bitwise_operationsv3.pdf|HW05}} | HW05_1_5XXXXXXXX.c | @#FFF0F5:17 Feb\\ (20 Feb) | HW05_1_5????????.c |
|HW05_2 | ::: | HW05_2_5XXXXXXXX.c | ::: | HW05_2_5????????.c |
|HW05_3 | ::: | HW05_3_5XXXXXXXX.c | ::: | HW05_3_5????????.c |
|Lab06_1 | {{:lab06_pointer.pdf|Lab06}} | Lab06_1_5XXXXXXXX.c | @#FFE0C1:19 Feb\\ (22 Feb) | Lab06_1_5????????.c |
|Lab06_2 | ::: | Lab06_2_5XXXXXXXX.c | ::: | Lab06_2_5????????.c |
|HW06_1 | {{:hwassgn_06_basic_array_v3_with_ec.pdf|HW06}} | HW06_1_5XXXXXXXX.c | @#FFFFCC:23 Feb\\ (26 Feb) | HW06_1_5????????.c |
|HW06_2 | ::: | HW06_2_5XXXXXXXX.c | ::: | HW06_2_5????????.c |
|HW06_3 | ::: | HW06_3_5XXXXXXXX.c | ::: | HW06_3_5????????.c |
|HW06_EX1 | ::: | HW06_EX1_5XXXXXXXX.c | ::: | HW06_EX1_5????????.c |
|Lab07_3 | {{::lab07_array_v3.pdf|Lab07}} | Lab07_3_5XXXXXXXX.c | @#FFE0C1:12 Mar\\ (15 Mar) | Lab07_3_5????????.c |
|Lab07_4 | ::: | Lab07_4_5XXXXXXXX.c | ::: | Lab07_4_5????????.c |
|HW07_1 | {{:hwassgn_07_two_dimensional_array.pdf|HW07}} | HW07_1_5XXXXXXXX.c | @#FFFFCC:16 Mar\\ (19 Mar) | HW07_1_5????????.c |
|HW07_2 | ::: | HW07_2_5XXXXXXXX.c | ::: | HW07_2_5????????.c |
|Lab08_2 | {{:lab08_multidimarray.pdf|Lab08}} | Lab08_2_5XXXXXXXX.c | @#FFE0C1:19 Mar\\ (22 Mar) | Lab08_2_5????????.c |
|HW08_1 | {{:hwassgn_08_multidimensional_array.pdf|HW08}} | HW08_1_5XXXXXXXX.c | @#FFFFCC:23 Mar\\ (26 Mar) | HW08_1_5????????.c |
|HW08_2 | ::: | HW08_2_5XXXXXXXX.c | ::: | HW08_2_5????????.c |
|HW09_1 | {{:hwassgn_09_structure_and_file_v2.pdf|HW09}} | HW09_1_5XXXXXXXX.c | @#D6EDBD:1 Apr\\ (4 Apr) | HW09_1_5????????.c |
|HW09_2 | ::: | HW09_2_5XXXXXXXX.c | ::: | HW09_2_5????????.c |
|HW10_1 | {{::hwassgn_10_linked_list_v3.pdf|HW10}} | HW10_1_5XXXXXXXX.c | @#FFFFCC:6 Apr\\ (9 Apr) | HW10_1_5????????.c |
|HW10_2 | ::: | HW10_2_5XXXXXXXX.c | ::: | HW10_2_5????????.c |
|HW11_1 | {{::hwassgn_11_linked_list_cont_d.pdf|HW11}} | HW11_1_5XXXXXXXX.c | @#E9EEFB:24 Apr\\ (27 Apr) | HW11_1_5????????.c |
|HW11_2 | ::: | HW11_2_5XXXXXXXX.c | ::: | HW11_2_5????????.c |
|HW11_EX | ::: | HW11_EX_5XXXXXXXX.c | ::: | HW11_EX_5????????.c |
|Lab12_1 |{{:lab12_filerecursion.pdf|Lab12}} | Lab12_1_5XXXXXXXX.c | @#FFFFCC:27 Apr\\ (30 Apr) | Lab12_1_5????????.c |
|Lab12_1 | ::: | Lab12_2_5XXXXXXXX.c | ::: | Lab12_2_5????????.c |
===== Development Environment =====
Software หลักที่ใช้หลักที่ใช้ในภาคเรียนนี้ คือ gcc compiler และ text editor ตามที่นักศึกษาเลือก
* Windows
* install software bundle ของรายวิชา (cygwin etc) [[http://www.cs.science.cmu.ac.th/course/204112/IDE/CygwinETCx86_v6.zip|link1]] [[http://goo.gl/5YSYg5|link2]] [[http://goo.gl/WvI03n|วิธีติดตั้ง]]
* หรือสามารถติดตั้งเอง [[http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/cygwin/part1|install cygwin]] และ install [[http://www2.warwick.ac.uk/fac/sci/moac/people/students/peter_cock/cygwin/part2/|Development Tools]]
* OSX [[https://developer.apple.com/xcode/downloads/|install Xcode]]
* Linux
* Ubuntu: install build-essential
* Fedora: install "Development Tools"
* อนุโลมให้ใช้ [[http://www.codeblocks.org/downloads/26| Code::Block IDE]] ได้ในในช่วง 1 - 2 สัปดาห์แรก
===== Software อื่นๆ =====
* Visual Programming Tools
* [[http://www.flowgorithm.org/| flowgorithm]] (Windows)
* Free Diagram Drawing Tools
* [[http://www.draw.io|draw.io]] (Web Application)
* [[https://www.lucidchart.com/|Lucid Chart]] (Web Application)
* [[http://www.yworks.com/en/products_yed_about.html|yED]] (Windows, Mac OS X, Linux, java)
* [[http://dia-installer.de/|Dia Diagram Editor]] (Windows, Mac OS X, Linux)
===== หนังสือ/วารสารประกอบการเรียน =====
[1] Alfred V. Aho and Jeffrey D. Ullman. Foundations of Computer Science : C edition, W.H. Freeman & Company, New York, 1995.
\\ [2] Harold Abelson, Gerald J. Sussman and Julie Sussman. Structure and Interpretation of Computer Programs, 2nd edition, Mc-Graw Hill Co., 1998.
\\ [3] Robert W. Sebesta. Concepts of Programming Languages, 6th edition. Addison Wesley, 2003
===== เอกสารเพิ่มเติม =====
[1] //[[http://bookboon.com/uk/student/it/gentle-introduction-to-mathematics-for-computer|Mathematics for Computer Scientists]]// by Janacek and Close
\\ [2] //[[http://www.iups.org/media/meeting_minutes/C.pdf|The C Programming Language (ANSI C Version)]]// 2nd Edition by Ritchie and Kernighan
\\ [3] //[[https://www.google.co.th/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=a+first+book+of+ansi+c|A First Book of ANSI C]]//, 4th Edition by Gary J. Bronson
\\ [4] //[[http://csapp.cs.cmu.edu/|Computer Systems: A Programmer's Perspective]]// 2nd Edition by Bryan and O'Hallaron
\\ [5] //[[http://www.cs.science.cmu.ac.th/course/204112/13S2/Lecture2012|เอกสารประกอบปีการศึกษา 2555]]// โดย อาจารย์ ดร.อารีรัตน์ ตรงรัศมีทอง
\\ [6] //[[http://www.cs.science.cmu.ac.th/course/204112/13S2/Matinee|เอกสารเพิ่มเติม]]// โดย อาจารย์ ดร. เมทินี เขียวกันยะ
\\ [7] //[[http://www.cs.science.cmu.ac.th/course/204112/doku.php?id=%E0%B9%80%E0%B8%AD%E0%B8%81%E0%B8%AA%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%9E%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B9%80%E0%B8%95%E0%B8%B4%E0%B8%A1|เอกสารเพิ่มเติม]]// โดย อาจารย์ กิตติพิชญ์ คุปตะวาณิช
===== ภาคการศึกษาก่อน =====
* [[http://www.cs.science.cmu.ac.th/course/204112/13S2/index.html|ปีการศึกษา 2556]]