คำสั่งมอบหมายงาน: โครงงานกลุ่มรายวิชาการเขียนโปรแกรมเชิงวัตถุ (Final Team Project)

วัตถุประสงค์: เพื่อให้นักศึกษาประยุกต์ใช้หลักการเขียนโปรแกรมเชิงวัตถุ (OOP), หลักการ SOLID และ Design Patterns ในการพัฒนาซอฟต์แวร์จริงผ่าน Framework มาตรฐานของภาษา Python

รายละเอียดคำสั่ง (Instructions)

  1. การจัดทีม: ให้นักศึกษาจับกลุ่ม 1-2 คนต่อกลุ่ม และต้องตั้ง ชื่อทีม (Team Name) ให้ชัดเจน

  2. การพัฒนาซอฟต์แวร์: พัฒนาซอฟต์แวร์ใหม่ 1 ชิ้น (ห้ามคัดลอก Source Code ทั้งหมดมาจากแหล่งอื่น) โดยเลือกใช้ เพียง 1 Framework จากรายการที่เรียนในสัปดาห์ที่ 11-13 ดังนี้:

    • PyGame (สำหรับสร้างเกม)

    • PySide6 (สำหรับสร้าง Desktop GUI)

    • FastAPI (สำหรับสร้าง Web API)

    • Scikit-learn (สำหรับงาน Machine Learning)

  3. ข้อกำหนดทางเทคนิค: โค้ดต้องแสดงให้เห็นถึงการประยุกต์ใช้ OOP (Inheritance, Polymorphism, Encapsulation, Composition) และ SOLID Principles อย่างชัดเจน

สิ่งที่ต้องส่ง (Submission Requirements)

ให้นักศึกษาส่งลิงก์ 2 รายการ ดังนี้:

  1. Public GitHub Repository Link:
    • ต้องประกอบด้วย Source Code ทั้งหมด

    • มีไฟล์ README.md ที่มีรายละเอียด ชื่อทีม, สมาชิก, และวิธีการติดตั้ง/ใช้งาน

    • มีไฟล์ requirements.txt สำหรับติดตั้ง Library ที่เกี่ยวข้อง

    • มีไฟล์ pyproject.toml สำหรับติดตั้ง Library ที่เกี่ยวข้อง

  2. YouTube Video Link:
    • วิดีโอความยาวไม่เกิน 10-15 นาที ประกอบด้วย (สามารถตัดต่อวีดีโอเพื่อความกระชับได้)

    • ข้อมูลโปรเจกต์: ชื่อทีมและชื่อโปรเจกต์

    • แนะนำสมาชิก: แนะนำสมาชิกและหน้าที่ความรับผิดชอบ (Responsibility)

    • ฟังก์ชันการทำงาน: อธิบายสิ่งที่ซอฟต์แวร์ทำได้

    • หลักการ OOP ที่ใช้: อธิบายการใช้ Class, Inheritance, SOLID หรือ Design Patterns ในโค้ด

    • สาธิตการใช้งาน: โดยเริ่มด้วยการ clone จาก repository แล้วทำตามขั้นตอนที่เขียนไว้ใน วิธีการติดตั้ง เพื่อเปิดโปรแกรมและทดสอบการใช้งานจริงให้ดู (Demo)