Object-Oriented Programming (OOP)
สัปดาห์ที่ 1: Foundations of Programming for Engineers
หัวข้อการเรียนรู้:
- ความเข้าใจ “OOP กับอุตสาหกรรมซอฟต์แวร์ไทย”: ทำไมบริษัทซอฟต์แวร์, SCG Digital, LINE MAN, SCB Tech ใช้ Java เป็นหลัก
- Java Ecosystem
- C vs Java
- Sructure ของโปรแกรม Java (Class, Main, Method, Package)
- Syntax เบื้องต้น, ตัวแปร, ชนิดข้อมูล, operator, I/O
- Control flow (if, switch, for, while, do-while)
- Array, Function, หลัก Code Reuse และการแยก logic
สัปดาห์ที่ 2: Introduction to Object and Class Design
หัวข้อการเรียนรู้:
- เข้าใจ Object อย่างคนวิศวกร: หน่วยที่มี “สถานะ (State)” และ “พฤติกรรม (Behavior)”
- Class เป็นแม่แบบ, Object เป็นอินสแตนซ์
- Attribute vs Method
- Instance vs Static
- Scope, Lifetime, Reference memory
- UML Class Diagram เบื้องต้น:
สัปดาห์ที่ 3: Encapsulation & Access Control
สัปดาห์ที่ 4: Constructor & Object Lifecycle
สัปดาห์ที่ 5: Inheritance & Polymorphism
หัวข้อการเรียนรู้:
สัปดาห์ที่ 6: Abstraction & Interface Design
หัวข้อการเรียนรู้:
สัปดาห์ที่ 7: OO Design Principles (SOLID & Pattern Intro)
สัปดาห์ที่ 8: สอบกลางภาค
ไม่มีเอกสารประกอบการเรียนสำหรับสัปดาห์สอบ
สัปดาห์ที่ 9: Collections Framework, Exception & File I/O
สัปดาห์ที่ 10: UML Design & Object Collaboration
สัปดาห์ที่ 11: Exception & Logging + Unit Testing
สัปดาห์ที่ 12: Database Integration (JDBC Basics + Mock Data)
สัปดาห์ที่ 13: Applying Design Patterns (Advanced Use)
สัปดาห์ที่ 14: Integration & Refactoring
สัปดาห์ที่ 15: Advanced OOP Concepts I
สัปดาห์ที่ 16: Advanced OOP Concepts II & Design Patterns
สัปดาห์ที่ 17: สอบปลายภาค
ไม่มีเอกสารประกอบการเรียนสำหรับสัปดาห์สอบ
