บทเรียนตั้งแต่ สัปดาห์ที่ 2-15 ใช้รูปแบบการสร้างเนื้อหาร่วมกัน เพื่อให้ผู้เรียนอ่าน ทดลอง และทบทวนได้เป็นระบบ ดังนี้
<pre class="mermaid">...</pre> พร้อมโทนสี Gruvbox และข้อความไทย-อังกฤษในโหนด
%%{init: {'theme': 'base', 'themeVariables': {
'background': '#282828',
'primaryColor': '#3c3836',
'primaryTextColor': '#fbf1c7',
'primaryBorderColor': '#fabd2f',
'lineColor': '#83a598',
'secondaryColor': '#504945',
'tertiaryColor': '#665c54',
'fontFamily': 'Arial'
}}}%%
flowchart LR
A[Concept
แนวคิด] --> B[Diagram
ผังอธิบาย]
B --> C[Table
ตารางเปรียบเทียบ]
C --> D[Formula
สมการ/ตัวแปร]
D --> E[Code Example
ตัวอย่างโค้ด]
E --> F[Workshop
ทดลองปฏิบัติ]
รายวิชานี้พัฒนาทักษะการเขียนโปรแกรมจากระดับพื้นฐานไปสู่การสร้างซอฟต์แวร์ที่มีคุณภาพ ดูแลรักษาได้ และพร้อมใช้งานในบริบทจริง เนื้อหาครอบคลุมการป้องกันข้อบกพร่อง การดีบัก การทดสอบ การจัดการหน่วยความจำ การออกแบบชนิดข้อมูล การประมวลผลไฟล์ การเขียนโปรแกรมเชิงวัตถุ การจัดการข้อยกเว้น การทำงานพร้อมกัน UML, API, โครงสร้างการเขียนโปรแกรมขั้นสูง, Version Control และการใช้ Container เพื่อส่งมอบ Mini Project
เมื่อเรียนจบรายวิชา ผู้เรียนสามารถ
| สัปดาห์ | หัวข้อบทเรียน | กิจกรรมการเรียนการสอน | บทเรียน/สไลด์ |
|---|---|---|---|
| 1 | บทนำและการป้องกันข้อบกพร่องของซอฟต์แวร์ | วิเคราะห์ Bug, SDLC, Coding Standard, Code Review และ Static Analysis | บทเรียน / สไลด์ |
| 2 | Debugging, Testing และ Source Code Maintenance | ฝึกใช้ Debugger, Unit Test, Integration Test, Refactoring และเอกสารประกอบ | บทเรียน / สไลด์ |
| 3 | Pointer และ Dynamic Memory | ฝึก Pointer, Pointer Arithmetic, Heap, Memory Leak และ Buffer Overflow | บทเรียน / สไลด์ |
| 4 | String และ User-defined Types | จัดการ String, Structure, Union, typedef, enum และออกแบบข้อมูล | บทเรียน / สไลด์ |
| 5 | File Processing | อ่านเขียนไฟล์ Text/Binary, File Stream, Error Handling และจัดเก็บข้อมูล | บทเรียน / สไลด์ |
| 6 | Object-Oriented Programming | เปรียบเทียบ Procedural/OOP, Class, Object, Constructor และ Destructor | บทเรียน / สไลด์ |
| 7 | Encapsulation และ Inheritance | ฝึก Access Modifier, Data Hiding, Inheritance และ Method Override | บทเรียน / สไลด์ |
| 8 | Polymorphism, Abstract และ Interface | ฝึก Compile-time/Run-time Polymorphism, Virtual Function, Abstract Class และ Interface | บทเรียน / สไลด์ |
| 9 | Exception Handling | จัดการ Exception, try-catch, Custom Exception และ Logging | บทเรียน / สไลด์ |
| 10 | Concurrent Programming | ทดลอง Process, Thread, Synchronization, Mutex, Semaphore และ Deadlock | บทเรียน / สไลด์ |
| 11 | UML | ออกแบบ Use Case Diagram, Class Diagram, Sequence Diagram สำหรับโครงงาน | บทเรียน / สไลด์ |
| 12 | API | เรียน REST API, HTTP Method, JSON และการเชื่อมต่อข้อมูล | บทเรียน / สไลด์ |
| 13 | Advanced Programming Structure | ใช้ Generic/Template, Collection, Lambda และ Design Pattern เบื้องต้น | บทเรียน / สไลด์ |
| 14 | Version Control | ฝึก Git Repository, Commit, Branch, GitHub และ Pull Request | บทเรียน / สไลด์ |
| 15 | OS-level Virtualization และ Mini Project | ใช้ Container, Docker, Volume, Deployment และนำเสนอ Mini Project | บทเรียน / สไลด์ |
ผู้เรียนพัฒนา Mini Project ที่สะท้อนความรู้ทั้งรายวิชา โดยมีองค์ประกอบอย่างน้อยดังนี้