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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(เพิ่มเนื้อหาสัปดาห์ที่ 4)
แถว 46: แถว 46:
 
** สไลด์: แผงวงจรพ่วง ([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])
 
** สไลด์: แผงวงจรพ่วง ([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)]]
 
** วิกิ: [[แผงวงจรพ่วง (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],
 +
 
 +
ตัวอย่างการเรียกใช้ <tt>__init__</tt> จากคลาสที่เรา inherite มา
 +
 
 +
class Robot(GamePiece):
 +
    def __init__(self,r,c,target):
 +
        GamePiece.__init__(self,r,c)
 +
        # ..... your other initialization code here
  
 
== รายการวิดีโอ ==
 
== รายการวิดีโอ ==

รุ่นแก้ไขเมื่อ 03:00, 1 กรกฎาคม 2556

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

ประกาศ

  • ยินดีต้อนรับสู่วิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
  • เจอกันใน facebook

แผนการสอน

เนื้อหา

สัปดาห์ที่ 1

สัปดาห์ที่ 2

สัปดาห์ที่ 3

สัปดาห์ที่ 4

  • ฮาร์ดแวร์: การประกอบวงจรต้นแบบบนบอร์ดไข่ปลา และการเขียนโปรแกรมจัดการอินพุทและเอาท์พุท
  • ซอฟต์แวร์ 1: พัฒนาโปรแกรมด้วย TDD บน Python
    • ดูคลิปด้านล่าง
    • ทำแลบ Python Kang Fu ใน Elab2
    • ในแลบนี้เราจะประมวลผลข้อมูลในลิสต์มากมาย ด้านล่างเป็นรายการเอกสารเพิ่มเติมเกี่ยวกับการใช้งานลิสต์:
      • การใช้งานลิสต์ที่ละเอียดขึ้นจาก Python Tutorial ในเอกสารนี้ให้สังเกตความหมายของการอ้างถึงข้อมูลในลิสต์ โดยใช้ดัชนีที่เป็นบวก (นับจากหน้า) และดัชนีที่เป็นลบ (นับลำดับจากท้าย) เช่นการอ้าง a[3] หรือ a[-1] และการอ้างส่วนของลิสต์ เช่น a[1:10], a[2:] หรือ a[1:-1] เป็นต้น
      • เอกสารอ้างอิง Sequence Types และ Mutable Sequence Types (ลิสต์เป็นรายการที่เปลี่ยนได้ จึงเรียกว่าเป็น mutable sequence types)
    • เอกสาร doctest
    • ด้านล่างเป็นโค้ดที่ต้องเพิ่มไปตอนท้ายโปรแกรม เพื่อให้ python รัน doctest ในโมดูลของเรา
if __name__ == "__main__":
    import doctest
    doctest.testmod()

ตัวอย่างการเรียกใช้ __init__ จากคลาสที่เรา inherite มา

class Robot(GamePiece):
    def __init__(self,r,c,target):
        GamePiece.__init__(self,r,c)
        # ..... your other initialization code here

รายการวิดีโอ

ฮาร์ดแวร์

  • แนะนำการใช้งานชุดทดลองดิจิทัลและออสซิลโลสโคป
    • ตอนที่ 1 การใช้งานชุดทดลองดิจิทัลเบื้องต้น
    • ตอนที่ 2 การเตรียมการใช้งานออสซิลโลสโคป
    • ตอนที่ 3 กลไกทริกเกอร์ของออสซิลโลสโคป
    • ตอนที่ 4 การใช้งานระบบเคอร์เซอร์

Unix

  • แนะนำ path ใน unix
    • ตอนที่ 1 เกริ่นนำเกี่ยวกับ shell และแนะนำแนวคิดของโครงสร้างไดเร็กทอรี
    • ตอนที่ 2 อธิบายแนวคิดของ working directory และการอ้างถึงไฟล์โดยอิงกับ working directory, ทดลองใช้คำสั่ง ls, cd, pwd และ cp
    • ตอนที่ 3 อธิบายวิธีการอ้างถึงไฟล์ในรูปแบบอื่น ๆ เช่นการอ้างแบบ absolute (/) อ้างผ่าน home (~) และการอ้างถึงตำแหน่งนั้นเอง (.) กับการอ้างถึงไดเร็กทอรีก่อนหน้า (..)
  • แนะนำ unix ตอน 2: glob และการกระจายคำสั่ง
    • ตอนที่ 1 ยกตัวอย่างการใช้ pattern เพื่อแทนชื่อไฟล์ และอธิบายการทำงานของ command expansion/substitution
    • ตอนที่ 2 แนะนำการใช้ *, ?, และ [..] ในการทำ filename expansion ใน shell
  • แนะนำ unix ตอน 3: การใช้ redirection และ pipe
    • คลิปที่ youtube (มีตอนเดียว) แนะนำการใช้งาน rediretion และ pipe พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc และแนะนำคำสั่ง tee

Python

ลิงก์