การเขียนโปรแกรมเชิงวัตถุ

Warning

เอกสารชุดนี้อยู่ในระหว่างการปรับปรุง

Table 1 ตารางหลักสูตรการเขียนโปรแกรมเชิงวัตถุ

สัปดาห์

เนื้อหาหลักสูตร

วัตถุประสงค์การเรียนรู้

แหล่งที่มาเอกสาร

1

ภาพรวมของรายวิชา (Course Overview)
  1. ประวัติของการเขียนโปรแกรมเชิงวัตถุ

  2. บทนำสู่คลาสและออบเจกต์

  • เข้าใจภาพรวมของ OOP และรู้จักคลาสและออบเจกต์พื้นฐาน

  1. The Python Language Reference

  2. การติดตั้ง

    • git

    • anaconda3

2

แอททริบิวต์และเมธอด (Attributes and Methods)
  1. ความแตกต่างระหว่างการเขียนโปรแกรมเชิงขั้นตอนและเชิงวัตถุ

  • อธิบายแอททริบิวต์และเมธอดในคลาสได้

3

การห่อหุ้มข้อมูล (Encapsulation)
  1. การซ่อนข้อมูล

  2. การกำหนดสิทธิ์การเข้าถึง (สาธารณะ ส่วนตัว ป้องกัน)

  • เข้าใจการห่อหุ้มข้อมูลและการซ่อนข้อมูลในคลาส

4

การสืบทอด (Inheritance)
  1. ประเภทของการสืบทอดแบบ Single

  2. ประเภทของการสืบทอดแบบ Multiple

  3. ประเภทของการสืบทอดแบบ Hierarchical

  • ประยุกตใช้การสืบทอดแบบ Single

  • ประยุกต์ใช้การสืบทอดแบบ Multiple, Mixins

  • ประยุกต์ใช้การสืบทอดแบบ Hierarchical

5

โพลีมอร์ฟิซึม (Polymorphism)
  1. การทำงานร่วมกันของเมธอดแบบ Overloading

  2. การทำงานร่วมกันของเมธอดแบบ Overriding

  • เข้าใจแนวคิดของโพลีมอร์ฟิซึม

  • เข้าใจวิธีการ Overloading

  • เข้าใจวิธีการ Overriding

6

นามธรรมและอินเทอร์เฟซ (Abstraction and Interface)
  1. คลาสนามธรรม

  2. อินเทอร์เฟซ

  • เข้าใจแนวคิดของนามธรรมและการใช้อินเทอร์เฟซ

7

คอมโพสซิชัน (Composition)
  1. ความสัมพันธ์แบบ Association

  2. ความสัมพันธ์แบบ Aggregation

  3. ความสัมพันธ์แบบ Composition

  1. ประยุกต์ใช้หลักการ Composition และ Inheritance

  2. อธิบายข้อแตกต่างระหว่าง Composition และ Inheritance

8

บทนำสู่ UML (Unified Modeling Language)
  1. Class Diagram

  2. Sequence Diagram

  • ใช้ UML ในการวางแผนโครงสร้างโปรแกรม

UML Introduction

9

ทบทวนเนื้อหา OOP และ UML เพื่อการพัฒนาโปรเจกต์
  • อธิบายความรู้เพื่อเตรียมพร้อมสำหรับการประยุกต์ใช้ในโปรเจกต์

10

บทนำสู่ Design Patterns ในโปรแกรมเชิงวัตถุ
  • Design Patterns

  • SOLID Principles

  • เข้าใจแนวคิดการออกแบบ Design Patterns

  • เข้าใจหลักการ SOLID

11,12,13

พัฒนาโปรเจกต์และประยุกต์ใช้แนวคิดเชิงวัตถุ

Object-Oriented Application Frameworks

  1. pygame note / pygame

  2. pyside6 note / pyside6

  3. machine learning note / scikitlearn iris svc plot

  4. fastapi

  5. AI (transformer models)

  1. เข้าใจหลักการพัฒนาชุดคำสั่งเสริมที่ใช้แนวคิดเชิงวัตถุ

  2. อธิบายหลักการใช้งานชุดคำสั่งเสริมที่ใช้แนวคิดเชิงวัตถุเพื่อนำมาแก้ปัญหาโจทย์ที่กำหนดให้ได้

14

เตรียมการนำเสนอโปรเจกต์ และสรุปความรู้ OOP ที่ได้เรียนรู้

เตรียมการนำเสนอและสรุปผลการเรียนรู้ในโปรเจกต์

Project Preparation

15

การนำเสนอโปรเจกต์และตอบข้อซักถาม สรุปผลการเรียนรู้ทั้งหมด

  1. สามารถนำเสนอให้เข้าใจโครงงานได้ง่าย สื่อสารโดยใช้เทคโนโลยีที่เหมาะสม ตอบคำถามด้วยความเข้าใจและมีหลักการ

Final Presentation