ผลต่างระหว่างรุ่นของ "01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(Prepare page for the new semester)
แถว 1: แถว 1:
 
หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
 
หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
 
== ประกาศ ==
 
* ยินดีต้อนรับสู่วิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
 
* เจอกันใน [https://www.facebook.com/groups/159249127588001/ facebook]
 
 
== แผนการสอน ==
 
* [http://theory.cpe.ku.ac.th/wiki/images/223-syllabus56.pdf ดาวน์โหลดแผนการสอนที่นี่]
 
 
== เนื้อหา ==
 
=== สัปดาห์ที่ 1 ===
 
* ซอฟต์แวร์ (เช้า): ระบบยูนิกซ์และคำสั่งพื้นฐาน [http://www.cpe.ku.ac.th/~cpj/204223/labsheets/s01-unix.pdf เอกสารแล็บ]  (ดูคลิปจากรายการวิดีโอด้านล่าง)
 
** เพิ่มเติม: [[01204223/filename expansion|การใช้ filename expansion]] (ดูคลิปตอนที่ 2 ประกอบ)
 
* ซอฟต์แวร์ (บ่าย): ยูนิกส์สำหรับ geek [http://www.cpe.ku.ac.th/~cpj/204223/labsheets/s02-pipe.pdf เอกสารแล็บ]
 
** [[01204223/unix-lab-files]]
 
 
=== สัปดาห์ที่ 2 ===
 
* ฮาร์ดแวร์ (เช้า): เครื่องมือวัดและชุดทดลองวงจรดิจิทัล
 
** สไลด์: ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h1-measure.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h1-measure.pdf เอกสาร pdf])
 
** วิดิทัศน์: [http://www.youtube.com/watch?v=l9TbzzR5aoU การใช้งานชุดทดลองดิจิทัลเบื้องต้น]
 
** วิดิทัศน์: [http://www.youtube.com/watch?v=hG7ARRjuFYY การเตรียมการใช้งานออสซิลโลสโคป]
 
** วิดิทัศน์: [http://www.youtube.com/watch?v=3kwYQbZDE_8 กลไกทริกเกอร์ของออสซิลโลสโคป]
 
** วิดิทัศน์: [http://www.youtube.com/watch?v=I0rjp3ZsDjQ การใช้งานระบบเคอร์เซอร์]
 
* ฮาร์ดแวร์ (บ่าย): การประกอบวงจรพิมพ์
 
** สไลด์: การสร้างวงจรต้นแบบ ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h2-prototyping.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h2-prototyping.pdf เอกสาร pdf])
 
** สไลด์: การบัดกรีชิ้นงานอิเล็กทรอนิกส์ ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h3-soldering.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h3-soldering.pdf เอกสาร pdf])
 
** วิดิทัศน์: [http://www.cpe.ku.ac.th/~cpj/204223/media/soldering-how-to.mkv การบัดกรีวงจร (ไฟล์ .mkv, ซับไทย)]
 
** วิกิ: [[การบัดกรีแผงวงจรไมโครคอนโทรลเลอร์]]
 
 
=== สัปดาห์ที่ 3 ===
 
* ฮาร์ดแวร์ (เช้า): ไมโครคอนโทรลเลอร์และการพัฒนาเฟิร์มแวร์
 
** สไลด์: ไมโครคอนโทรลเลอร์เบื้องต้น ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h4-mcu.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h4-mcu.pdf เอกสาร pdf])
 
** วิกิ: [[การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์]]
 
** วิกิ: [[การแก้ไขสิทธิการเข้าถึงพอร์ท USB ของบอร์ด MCU]]
 
** [http://www.cpe.ku.ac.th/~cpj/204223/media/doc0856-avr-instr.pdf ชุดคำสั่งของสถาปัตยกรรม AVR]
 
** [http://www.cpe.ku.ac.th/~cpj/204223/media/doc8161-pa-series.pdf Datasheet สำหรับไมโครคอนโทรลเลอร์เบอร์ ATMega168]
 
** [http://www.cpe.ku.ac.th/~cpj/204223/media/mcu-schematic.pdf ผังวงจรบอร์ดไมโครคอนโทรลเลอร์]
 
** [http://www.cpe.ku.ac.th/~cpj/204223/practicum-board.zip ไฟล์วงจรและแผ่นวงจรพิมพ์ของบอร์ด Practicum] เปิดด้วยโปรแกรม [http://www.cadsoftusa.com CadSoft EAGLE]
 
 
* ซอฟต์แวร์ (บ่าย): Python: งูเหลือมตะลุยจักรวาล [http://www.cpe.ku.ac.th/~cpj/204223/labsheets/s03-python.pdf เอกสาร pdf]
 
** เราจะใช้ gedit ซึ่งเป็น editor ที่ติดมากับ ubuntu อย่างไรก็ตามเพื่อความสะดวกในการเขียนโปรแกรม Python ควรเปลี่ยน syntax highlight mode เป็น Python, ปรับ tab ให้มีขนาด 4 ช่อง และให้ gedit ใส่ spaces แทน tab ให้ด้วย
 
** [http://theory.cpe.ku.ac.th/~jittat/223/python/ โหลดไฟล์สำหรับทำแลบที่นี่]
 
** [http://theory.cpe.ku.ac.th/~jittat/204111/ สไลด์เนื้อหาไพธอน]
 
 
=== สัปดาห์ที่ 4 ===
 
* ฮาร์ดแวร์: การประกอบวงจรต้นแบบบนบอร์ดไข่ปลา และการเขียนโปรแกรมจัดการอินพุทและเอาท์พุท
 
** สไลด์: แผงวงจรพ่วง ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h5-peri.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h5-peri.pdf เอกสาร pdf])
 
** วิกิ: [[แผงวงจรพ่วง (Peripheral Board)]]
 
* ซอฟต์แวร์ 1: พัฒนาโปรแกรมด้วย TDD บน Python
 
** ดูคลิปด้านล่าง
 
** ทำแลบ Python Kang Fu ใน [https://cloud3.cpe.ku.ac.th/elab2/ Elab2]
 
** ในแลบนี้เราจะประมวลผลข้อมูลในลิสต์มากมาย ด้านล่างเป็นรายการเอกสารเพิ่มเติมเกี่ยวกับการใช้งานลิสต์:
 
*** [http://docs.python.org/tutorial/introduction.html#lists การใช้งานลิสต์ที่ละเอียดขึ้นจาก Python Tutorial]  ในเอกสารนี้ให้สังเกตความหมายของการอ้างถึงข้อมูลในลิสต์  โดยใช้ดัชนีที่เป็นบวก (นับจากหน้า) และดัชนีที่เป็นลบ (นับลำดับจากท้าย) เช่นการอ้าง <tt>a[3]</tt> หรือ <tt>a[-1]</tt> และการอ้างส่วนของลิสต์ เช่น <tt>a[1:10]</tt>, <tt>a[2:]</tt> หรือ <tt>a[1:-1]</tt> เป็นต้น
 
*** เอกสารอ้างอิง [http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange Sequence Types] และ [http://docs.python.org/library/stdtypes.html#typesseq-mutable Mutable Sequence Types] (ลิสต์เป็นรายการที่เปลี่ยนได้ จึงเรียกว่าเป็น mutable sequence types)
 
** เอกสาร [http://docs.python.org/library/doctest.html doctest] 
 
** ด้านล่างเป็นโค้ดที่ต้องเพิ่มไปตอนท้ายโปรแกรม เพื่อให้ python รัน doctest ในโมดูลของเรา
 
 
if __name__ == "__main__":
 
    import doctest
 
    doctest.testmod()
 
 
* ซอฟต์แวร์ 2: การจัดการกับความซับซ้อนของซอฟต์แวร์ใน Python --- โมดูล (modules) และคลาส (classes)
 
** คลิป OOP บน Python: [http://www.youtube.com/watch?v=o9wAnP20ovQ ตอนที่ 1], [http://www.youtube.com/watch?v=vm0K_l7O-eQ ตอนที่ 2], [http://www.youtube.com/watch?v=3Jd2b5NydTQ ตอนที่ 3], [http://www.youtube.com/watch?v=bc-l0oMY16U ตอนที่ 4]
 
** เอกสารประกอบ: [http://theory.cpe.ku.ac.th/~jittat/dm/?q=node/30 โมดูลใน Python],[http://www.cpe.ku.ac.th/~cpj/204223/slides/s4-oop.pdf การโปรแกรมเชิงวัตถุแบบเต่า ๆ], [http://theory.cpe.ku.ac.th/~jittat/dm/?q=node/31 การโปรแกรมเชิงวัตถุใน Python],
 
** [[01204223/รายละเอียดเกี่ยวกับงานบอร์ด|รายละเอียดเกี่ยวกับงานบอร์ด]] (ข้อ b1 - b7 ใน elab2)
 
 
ตัวอย่างการเรียกใช้ <tt>__init__</tt> จากคลาสที่เรา inherite มา
 
 
class Robot(GamePiece):
 
    def __init__(self,r,c,target):
 
        GamePiece.__init__(self,r,c)
 
        # ..... your other initialization code here
 
 
=== สัปดาห์ที่ 5 ===
 
* ฮาร์ดแวร์ (เช้า): การควบคุมเอาท์พุท และการตรวจสอบอินพุทแบบดิจิทัลและแอนะล็อก
 
** สไลด์: ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h6-c.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h6-c.pdf เอกสาร pdf])
 
** สไลด์: แผงวงจรพ่วง ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h5-peri.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h5-peri.pdf เอกสาร pdf])
 
** วิกิ: [[แผงวงจรพ่วง (Peripheral Board)]]
 
** วิกิ: [[การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์]]
 
* ฮาร์ดแวร์ (บ่าย): การจำลองบอร์ด MCU เป็นอุปกรณ์ USB
 
** สไลด์: การเชื่อมต่อกับบอร์ด MCU ผ่านพอร์ต USB ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h7-usb.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/h7-usb.pdf เอกสาร pdf])
 
** วิกิ: [[การจำลองบอร์ด MCU เป็นอุปกรณ์ USB]]
 
 
=== สัปดาห์ที่ 6 ===
 
* Kivy: [http://kivy.org/#home]
 
** [[01204223/kivy|เอกสารประกอบแลบ]]
 
 
=== สัปดาห์ที่ 7 ===
 
* การใช้ตัววัดแสงเป็นอุปกรณ์จอยสติ๊กสำหรับเกมที่เขียนด้วย Kivy
 
 
=== สัปดาห์ที่ 8-11 ===
 
* [[ตัวอย่างโปรแกรมสำหรับไมโครคอนโทรลเลอร์]]
 
 
=== สัปดาห์ที่ 12 ===
 
* เครื่องมือจัดการเวอร์ชัน
 
** สไลด์: การจัดการเวอร์ชันด้วย Mercurial ([http://www.cpe.ku.ac.th/~cpj/204223/slides/s6-mercurial.ppt เอกสาร ppt]) ([http://www.cpe.ku.ac.th/~cpj/204223/slides/s6-mercurial.pdf เอกสาร pdf])
 
** ลิ้งค์: [http://tortoisehg.bitbucket.org/ TortoiseHG]
 
** ลิ้งค์: [http://jasonfharris.com/machg/ MacHg]
 
การติดตั้ง TortoiseHG บนลินุกซ์ Mint/Ubuntu/Debian ใช้คำสั่ง
 
sudo apt-get install tortoisehg
 
 
== รายการวิดีโอ ==
 
=== ฮาร์ดแวร์ ===
 
* แนะนำการใช้งานชุดทดลองดิจิทัลและออสซิลโลสโคป
 
** [http://www.youtube.com/watch?v=l9TbzzR5aoU ตอนที่ 1] การใช้งานชุดทดลองดิจิทัลเบื้องต้น
 
** [http://www.youtube.com/watch?v=hG7ARRjuFYY ตอนที่ 2] การเตรียมการใช้งานออสซิลโลสโคป
 
** [http://www.youtube.com/watch?v=3kwYQbZDE_8 ตอนที่ 3] กลไกทริกเกอร์ของออสซิลโลสโคป
 
** [http://www.youtube.com/watch?v=I0rjp3ZsDjQ ตอนที่ 4] การใช้งานระบบเคอร์เซอร์
 
 
=== Unix ===
 
* แนะนำ path ใน unix
 
** [http://www.youtube.com/watch?v=UI5LdVp9XtY ตอนที่ 1] เกริ่นนำเกี่ยวกับ shell และแนะนำแนวคิดของโครงสร้างไดเร็กทอรี
 
** [http://www.youtube.com/watch?v=qv4cetEvIgo ตอนที่ 2] อธิบายแนวคิดของ working directory และการอ้างถึงไฟล์โดยอิงกับ working directory, ทดลองใช้คำสั่ง ls, cd, pwd และ cp
 
** [http://www.youtube.com/watch?v=WeacW6PTKB4 ตอนที่ 3] อธิบายวิธีการอ้างถึงไฟล์ในรูปแบบอื่น ๆ เช่นการอ้างแบบ absolute (/) อ้างผ่าน home (~) และการอ้างถึงตำแหน่งนั้นเอง (.) กับการอ้างถึงไดเร็กทอรีก่อนหน้า (..)
 
 
* แนะนำ unix ตอน 2: glob และการกระจายคำสั่ง
 
** [http://www.youtube.com/watch?v=3em6kZH4GNw ตอนที่ 1] ยกตัวอย่างการใช้ pattern เพื่อแทนชื่อไฟล์ และอธิบายการทำงานของ command expansion/substitution
 
** [http://www.youtube.com/watch?v=S2k6ndK6yWE ตอนที่ 2] แนะนำการใช้ *, ?, และ [..] ในการทำ filename expansion ใน shell
 
 
* แนะนำ unix ตอน 3: การใช้ redirection และ pipe
 
** [http://www.youtube.com/watch?v=q0GOaGwFXdQ คลิปที่ youtube] (มีตอนเดียว) แนะนำการใช้งาน rediretion และ pipe พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc  และแนะนำคำสั่ง tee
 
 
=== Python ===
 
* การเขียน Python เบื้องต้น
 
** ยังไม่มี
 
* การพัฒนาแบบใช้การทดสอบผลักดัน (Test-driven development)
 
** TDD บน Python [http://www.youtube.com/watch?v=wmTyuKsp4yk ตอนที่ 1], [http://www.youtube.com/watch?v=4E4AUyUD8w8 ตอนที่ 2], [http://www.youtube.com/watch?v=4E4AUyUD8w8 ตอนที่ 3]
 
** คลิปโดย Masterspark: [http://www.youtube.com/watch?v=g4GJrYWmptw ตัวอย่างการเขียนฟังก์ชัน 1], [http://www.youtube.com/watch?v=yzaim3lpJaQ ตัวอย่างการเขียนฟังก์ชัน 2], [http://www.youtube.com/user/masterspark คลิปอื่น ๆ ของ Masterspark]
 
  
 
== ลิงก์ ==
 
== ลิงก์ ==
 +
* [[01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ ปีการศึกษา 2556|เว็บของปีการศึกษา 2556]]
 
* [[01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ ปีการศึกษา 2555|เว็บของปีการศึกษา 2555]]
 
* [[01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ ปีการศึกษา 2555|เว็บของปีการศึกษา 2555]]
 
* [http://www.cpe.ku.ac.th/~cpj/204223/practicum-board.zip ไฟล์วงจรและแผ่นวงจรพิมพ์ของบอร์ด Practicum] เปิดด้วยโปรแกรม [http://www.cadsoftusa.com CadSoft EAGLE]
 
* [http://www.cpe.ku.ac.th/~cpj/204223/practicum-board.zip ไฟล์วงจรและแผ่นวงจรพิมพ์ของบอร์ด Practicum] เปิดด้วยโปรแกรม [http://www.cadsoftusa.com CadSoft EAGLE]

รุ่นแก้ไขเมื่อ 14:52, 16 สิงหาคม 2557

หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์

ลิงก์