วิศวกรรมซอฟต์แวร์
Software Engineering
รายวิชานี้มุ่งเน้นให้นักศึกษาพัฒนาสมรรถนะทางวิศวกรรมซอฟต์แวร์ทั้งในด้านทฤษฎี ปฏิบัติ และจรรยาบรรณวิชาชีพ โดยเมื่อสิ้นสุดการเรียนการสอน นักศึกษาสามารถแสดงพฤติกรรมการเรียนรู้ที่วัดผลได้ ดังนี้
1. อธิบาย แนวคิด หลักการ และวงจรการพัฒนาซอฟต์แวร์ (SDLC) แบบดั้งเดิมและแบบอไจล์ (Agile) รวมถึงกระบวนการวิเคราะห์ความต้องการ สถาปัตยกรรมระบบ การทดสอบ และการบำรุงรักษา ได้อย่างถูกต้องและเป็นระบบ (ระดับความเข้าใจ - Understand)
2. วิเคราะห์และประเมิน วิธีการบริหารโครงการพัฒนาซอฟต์แวร์ ความเสี่ยง (Risk Management) และคุณภาพของซอฟต์แวร์ในบริบทที่หลากหลาย ผ่านการใช้มาตรวัดที่ขับเคลื่อนด้วยข้อมูล (Data-driven decision making) (ระดับการวิเคราะห์และประเมิน - Analyze & Evaluate)
3. ประยุกต์ใช้ เครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ เช่น ระบบควบคุมเวอร์ชัน (Version Control) เครื่องมือทดสอบอัตโนมัติ (Automated Testing) และเทคโนโลยีปัญญาประดิษฐ์เชิงรู้สร้าง (Generative AI) เพื่อเพิ่มประสิทธิภาพในการวางแผนและพัฒนาระบบ (ระดับการประยุกต์ใช้ - Apply)
4. ออกแบบและพัฒนา ซอฟต์แวร์ต้นแบบตามข้อกำหนดของผู้ใช้งาน พร้อมทั้งจัดทำเอกสารประกอบทางวิศวกรรม (Engineering Documentation) ได้อย่างถูกต้องตามมาตรฐานสากล (ระดับการสร้างสรรค์ - Create)
5. แสดงออก ถึงทักษะการทำงานเป็นทีม การบริหารเวลา การแก้ปัญหาความขัดแย้ง (Team Dynamics) และการสื่อสารที่มีประสิทธิภาพผ่านกิจกรรมโครงงานกลุ่ม (Project-based Learning) (ระดับทักษะพิสัย - Psychomotor / Soft Skills)
6. ปฏิบัติตาม จรรยาบรรณวิชาชีพวิศวกรรมซอฟต์แวร์ มีความรับผิดชอบต่อผลกระทบของซอฟต์แวร์ต่อสังคม และตระหนักถึงความมั่นคงปลอดภัย (Security) ในบริบทของอุตสาหกรรมเทคโนโลยีสารสนเทศ (ระดับจิตพิสัย - Affective)
1. อธิบาย แนวคิด หลักการ และวงจรการพัฒนาซอฟต์แวร์ (SDLC) แบบดั้งเดิมและแบบอไจล์ (Agile) รวมถึงกระบวนการวิเคราะห์ความต้องการ สถาปัตยกรรมระบบ การทดสอบ และการบำรุงรักษา ได้อย่างถูกต้องและเป็นระบบ (ระดับความเข้าใจ - Understand)
2. วิเคราะห์และประเมิน วิธีการบริหารโครงการพัฒนาซอฟต์แวร์ ความเสี่ยง (Risk Management) และคุณภาพของซอฟต์แวร์ในบริบทที่หลากหลาย ผ่านการใช้มาตรวัดที่ขับเคลื่อนด้วยข้อมูล (Data-driven decision making) (ระดับการวิเคราะห์และประเมิน - Analyze & Evaluate)
3. ประยุกต์ใช้ เครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ เช่น ระบบควบคุมเวอร์ชัน (Version Control) เครื่องมือทดสอบอัตโนมัติ (Automated Testing) และเทคโนโลยีปัญญาประดิษฐ์เชิงรู้สร้าง (Generative AI) เพื่อเพิ่มประสิทธิภาพในการวางแผนและพัฒนาระบบ (ระดับการประยุกต์ใช้ - Apply)
4. ออกแบบและพัฒนา ซอฟต์แวร์ต้นแบบตามข้อกำหนดของผู้ใช้งาน พร้อมทั้งจัดทำเอกสารประกอบทางวิศวกรรม (Engineering Documentation) ได้อย่างถูกต้องตามมาตรฐานสากล (ระดับการสร้างสรรค์ - Create)
5. แสดงออก ถึงทักษะการทำงานเป็นทีม การบริหารเวลา การแก้ปัญหาความขัดแย้ง (Team Dynamics) และการสื่อสารที่มีประสิทธิภาพผ่านกิจกรรมโครงงานกลุ่ม (Project-based Learning) (ระดับทักษะพิสัย - Psychomotor / Soft Skills)
6. ปฏิบัติตาม จรรยาบรรณวิชาชีพวิศวกรรมซอฟต์แวร์ มีความรับผิดชอบต่อผลกระทบของซอฟต์แวร์ต่อสังคม และตระหนักถึงความมั่นคงปลอดภัย (Security) ในบริบทของอุตสาหกรรมเทคโนโลยีสารสนเทศ (ระดับจิตพิสัย - Affective)
วัตถุประสงค์ 1 ปรับเนื้อหาให้สอดคล้องกับเทคโนโลยีอุตสาหกรรม (Industry Alignment)
1.1 นักศึกษาทุกคนสามารถใช้งาน Generative AI (เช่น AI-assisted coding/testing) ในการแก้โจทย์ปัญหาแบบฝึกหัดอย่างน้อย 1 ครั้งต่อบทเรียน (สำหรับบทที่เกี่ยวข้องกับการปฏิบัติ)
1.2: โครงงานกลุ่ม (Project) ของนักศึกษาใช้แนวคิดสถาปัตยกรรมซอฟต์แวร์ปัจจุบัน (เช่น Microservices หรือ API-based) เป็นฐานในการออกแบบระบบอย่างน้อย 1 โครงงาน
วัตถุประสงค์ 2 จัดการเรียนการสอนแบบเน้นผู้เรียนเป็นศูนย์กลาง (Active Learning)
2.1 จัดสรรเวลาในรายวิชาให้เป็นการเรียนรู้ผ่านการทำโครงงาน (Project-Based) และการแก้ปัญหา (Problem-Based) ไม่น้อยกว่า 50% ของเวลาเรียนทั้งหมด
2.2 นักศึกษาส่งมอบโครงงานพัฒนาระบบซอฟต์แวร์ 1 ชิ้นงาน (ชิ้นงานใช้งานได้จริง) พร้อมเอกสารประกอบตามมาตรฐาน (Engineering Documentation) ภายในสัปดาห์ที่ 15
วัตถุประสงค์ 3 พัฒนาทักษะการค้นคว้าและการเรียนรู้ตลอดชีวิต (Lifelong Learning) เชื่อมโยงกับ: PLO (ทักษะการสื่อสารและการใช้เทคโนโลยี) / CLO (การวิเคราะห์และประเมิน)
3.1 ในการรายงานผลโครงงาน นักศึกษาต้องสืบค้นและอ้างอิงเอกสารวิชาการหรือคู่มือทางเทคนิค อย่างน้อย 3-5 แหล่ง
3.2 แบบฝึกหัดในชั้นเรียนบังคับให้นักศึกษาวิเคราะห์และตรวจสอบความถูกต้องของผลลัพธ์ที่ได้จากการใช้ AI ด้วยตนเองทุกครั้ง
วัตถุประสงค์ 4 พัฒนาระบบประเมินผลที่อิงผลลัพธ์การเรียนรู้ (Outcomes-Based Assessment)
4.1 แบบฝึกหัดทั้ง 10 บท และโครงงานกลุ่ม มีเกณฑ์การให้คะแนน (Rubrics) ที่ระบุตัวชี้วัดแจ้งให้นักศึกษาทราบล่วงหน้า
4.2 ข้อสอบและชิ้นงานประเมินผล สอดคล้องและครอบคลุมระดับการประเมินตาม Bloom’s Taxonomy ทั้งด้านความรู้ (Cognitive) ทักษะปฏิบัติ (Psychomotor) และจิตพิสัย (Affective) ตามที่ระบุใน CLO ฉบับปรับปรุง
1.1 นักศึกษาทุกคนสามารถใช้งาน Generative AI (เช่น AI-assisted coding/testing) ในการแก้โจทย์ปัญหาแบบฝึกหัดอย่างน้อย 1 ครั้งต่อบทเรียน (สำหรับบทที่เกี่ยวข้องกับการปฏิบัติ)
1.2: โครงงานกลุ่ม (Project) ของนักศึกษาใช้แนวคิดสถาปัตยกรรมซอฟต์แวร์ปัจจุบัน (เช่น Microservices หรือ API-based) เป็นฐานในการออกแบบระบบอย่างน้อย 1 โครงงาน
วัตถุประสงค์ 2 จัดการเรียนการสอนแบบเน้นผู้เรียนเป็นศูนย์กลาง (Active Learning)
2.1 จัดสรรเวลาในรายวิชาให้เป็นการเรียนรู้ผ่านการทำโครงงาน (Project-Based) และการแก้ปัญหา (Problem-Based) ไม่น้อยกว่า 50% ของเวลาเรียนทั้งหมด
2.2 นักศึกษาส่งมอบโครงงานพัฒนาระบบซอฟต์แวร์ 1 ชิ้นงาน (ชิ้นงานใช้งานได้จริง) พร้อมเอกสารประกอบตามมาตรฐาน (Engineering Documentation) ภายในสัปดาห์ที่ 15
วัตถุประสงค์ 3 พัฒนาทักษะการค้นคว้าและการเรียนรู้ตลอดชีวิต (Lifelong Learning) เชื่อมโยงกับ: PLO (ทักษะการสื่อสารและการใช้เทคโนโลยี) / CLO (การวิเคราะห์และประเมิน)
3.1 ในการรายงานผลโครงงาน นักศึกษาต้องสืบค้นและอ้างอิงเอกสารวิชาการหรือคู่มือทางเทคนิค อย่างน้อย 3-5 แหล่ง
3.2 แบบฝึกหัดในชั้นเรียนบังคับให้นักศึกษาวิเคราะห์และตรวจสอบความถูกต้องของผลลัพธ์ที่ได้จากการใช้ AI ด้วยตนเองทุกครั้ง
วัตถุประสงค์ 4 พัฒนาระบบประเมินผลที่อิงผลลัพธ์การเรียนรู้ (Outcomes-Based Assessment)
4.1 แบบฝึกหัดทั้ง 10 บท และโครงงานกลุ่ม มีเกณฑ์การให้คะแนน (Rubrics) ที่ระบุตัวชี้วัดแจ้งให้นักศึกษาทราบล่วงหน้า
4.2 ข้อสอบและชิ้นงานประเมินผล สอดคล้องและครอบคลุมระดับการประเมินตาม Bloom’s Taxonomy ทั้งด้านความรู้ (Cognitive) ทักษะปฏิบัติ (Psychomotor) และจิตพิสัย (Affective) ตามที่ระบุใน CLO ฉบับปรับปรุง
กระบวนการพัฒนาซอฟต์แวร์ การจัดสร้าง การทดสอบ การติดตั้งและการใช้งานในระบบงาน การบำรุงรักษา การบริหาร การพัฒนาซอฟต์แวร์ การใช้ซอฟต์แวร์เพื่อบริหารโครงการ การประเมินราคาเครื่องมือบริหารโครงร่าง และรุ่นซอฟต์แวร์ การเขียนเอกสารประกอบโครงการพัฒนาซอฟต์แวร์
Software development process, construction, testing, installation and operation in work systems, maintenance, management, software development, use of software for project management, cost estimation, configuration management tools, and software models, writing documentation for software development projects.
Software development process, construction, testing, installation and operation in work systems, maintenance, management, software development, use of software for project management, cost estimation, configuration management tools, and software models, writing documentation for software development projects.
3.1 วันพุธ 15.00 -16.00 น. ห้อง ABL202 หลักสูตรวิทยาการคอมพิวเตอร์
3.2 E-mail; kanithahomjun@gmail.com และ atigorn_sa@rmutl.ac.th เวลา 19.00 - 21.00 น. ทุกวัน
3.2 E-mail; kanithahomjun@gmail.com และ atigorn_sa@rmutl.ac.th เวลา 19.00 - 21.00 น. ทุกวัน
1. มีความซื่อสัตย์สุจริตทางวิชาการและวิชาชีพ โดยไม่ลอกเลียนผลงานของผู้อื่น (Plagiarism) และสามารถประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์ (Generative AI) ในการเขียนโปรแกรมหรือจัดทำเอกสารได้อย่างโปร่งใส อ้างอิงได้ และตรวจสอบได้
2. แสดงความรับผิดชอบต่องานที่ได้รับมอบหมายทั้งในระดับบุคคลและระดับทีม ส่งงานตรงตามกำหนดเวลา และปฏิบัติหน้าที่ของตนในโครงงานอย่างเต็มศักยภาพตามกระบวนการทำงานแบบวนซ้ำ (Iterative/Agile)
3. เคารพสิทธิและความคิดเห็นของผู้อื่น ปฏิบัติตามจรรยาบรรณวิชาชีพนักพัฒนาซอฟต์แวร์อย่างเคร่งครัด ได้แก่ การไม่ฝังคำสั่งอันตราย (Malicious Code) การปกป้องข้อมูลส่วนบุคคลของผู้ใช้งาน (Data Privacy/PDPA) และการเคารพทรัพย์สินทางปัญญา
4. ตระหนักถึงผลกระทบทางสังคม ความมั่นคงปลอดภัย (Security) และเศรษฐกิจ ที่อาจเกิดจากข้อบกพร่องของซอฟต์แวร์ พร้อมทั้งมีวิจารณญาณในการตัดสินใจเชิงวิชาชีพเมื่อเผชิญกับประเด็นปัญหาทางข้อขัดแย้ง (Ethical Dilemmas)
2. แสดงความรับผิดชอบต่องานที่ได้รับมอบหมายทั้งในระดับบุคคลและระดับทีม ส่งงานตรงตามกำหนดเวลา และปฏิบัติหน้าที่ของตนในโครงงานอย่างเต็มศักยภาพตามกระบวนการทำงานแบบวนซ้ำ (Iterative/Agile)
3. เคารพสิทธิและความคิดเห็นของผู้อื่น ปฏิบัติตามจรรยาบรรณวิชาชีพนักพัฒนาซอฟต์แวร์อย่างเคร่งครัด ได้แก่ การไม่ฝังคำสั่งอันตราย (Malicious Code) การปกป้องข้อมูลส่วนบุคคลของผู้ใช้งาน (Data Privacy/PDPA) และการเคารพทรัพย์สินทางปัญญา
4. ตระหนักถึงผลกระทบทางสังคม ความมั่นคงปลอดภัย (Security) และเศรษฐกิจ ที่อาจเกิดจากข้อบกพร่องของซอฟต์แวร์ พร้อมทั้งมีวิจารณญาณในการตัดสินใจเชิงวิชาชีพเมื่อเผชิญกับประเด็นปัญหาทางข้อขัดแย้ง (Ethical Dilemmas)
1. สอดแทรกประเด็นด้านจรรยาบรรณวิชาชีพและกฎหมายที่เกี่ยวข้อง ได้แก่ กฎหมายคุ้มครองข้อมูลส่วนบุคคล ลิขสิทธิ์ซอฟต์แวร์ ในการบรรยายและการจัดทำเอกสารในทุกขั้นตอนของกระบวนการวิศวกรรมซอฟต์แวร์
2. วิเคราะห์กรณีศึกษา (Case Studies) ด้านความล้มเหลว ข้อบกพร่อง หรือข้อผิดพลาดทางจริยธรรมในโครงการซอฟต์แวร์จริงระดับโลก (เช่น ความผิดพลาดของระบบที่ส่งผลต่อชีวิตหรือทรัพย์สิน) เพื่อให้นักศึกษาฝึกกระบวนการคิดและตัดสินใจ
3. มอบหมายโครงงานกลุ่ม ที่จำลองการทำงานจริงในอุตสาหกรรม เพื่อประเมินความรับผิดชอบต่อหน้าที่ การเคารพข้อตกลงร่วมกัน และความซื่อสัตย์ในการทำงานเป็นทีม
4. กำหนดกติกาการใช้งาน Generative AI อย่างชัดเจน ในการทำแบบฝึกหัดหรือโครงงาน โดยบังคับให้นักศึกษาต้องแสดงแหล่งที่มาของโค้ด (Prompt history) หรือเขียนรายงานการใช้งานเครื่องมือ AI เพื่ออธิบายวิธีการตรวจสอบความถูกต้องของ AI อันเป็นการปลูกฝังความรับผิดชอบและความโปร่งใส
2. วิเคราะห์กรณีศึกษา (Case Studies) ด้านความล้มเหลว ข้อบกพร่อง หรือข้อผิดพลาดทางจริยธรรมในโครงการซอฟต์แวร์จริงระดับโลก (เช่น ความผิดพลาดของระบบที่ส่งผลต่อชีวิตหรือทรัพย์สิน) เพื่อให้นักศึกษาฝึกกระบวนการคิดและตัดสินใจ
3. มอบหมายโครงงานกลุ่ม ที่จำลองการทำงานจริงในอุตสาหกรรม เพื่อประเมินความรับผิดชอบต่อหน้าที่ การเคารพข้อตกลงร่วมกัน และความซื่อสัตย์ในการทำงานเป็นทีม
4. กำหนดกติกาการใช้งาน Generative AI อย่างชัดเจน ในการทำแบบฝึกหัดหรือโครงงาน โดยบังคับให้นักศึกษาต้องแสดงแหล่งที่มาของโค้ด (Prompt history) หรือเขียนรายงานการใช้งานเครื่องมือ AI เพื่ออธิบายวิธีการตรวจสอบความถูกต้องของ AI อันเป็นการปลูกฝังความรับผิดชอบและความโปร่งใส
ประเมินผลจากพฤติกรรมและชิ้นงาน โดยใช้เกณฑ์ประเมินแบบรูบริก (Rubrics) แบ่งออกเป็น 2 ส่วน ดังนี้
ส่วนที่ 1: การประเมินกระบวนการพัฒนาซอฟต์แวร์และเอกสารโครงงาน
ประเด็นการประเมิน 5 (ดีเยี่ยม) 4 (ดีมาก) 3 (ดี) 2 (พอใช้) 1 (ต้องปรับปรุง) 1. คุณภาพซอฟต์แวร์และเอกสาร ซอฟต์แวร์ทำงานได้ครบถ้วน โค้ดมีโครงสร้างตามมาตรฐาน มีเอกสารประกอบสมบูรณ์ และระบุแหล่งที่มา/Prompt ของ AI ได้ครบถ้วน ซอฟต์แวร์ทำงานได้ครบถ้วน โค้ดอ่านง่าย เอกสารชัดเจน แต่ขาดรายละเอียดเชิงลึกบางส่วน ซอฟต์แวร์ทำงานได้ตามหลักการพื้นฐาน มีข้อบกพร่องเล็กน้อย (Bugs) เอกสารครอบคลุมเนื้อหาหลัก ซอฟต์แวร์ทำงานได้บางส่วน มีข้อผิดพลาดหลายจุด เอกสารไม่ครบถ้วนหรือไม่เป็นระบบ ซอฟต์แวร์ไม่สามารถทำงานได้ โค้ดไม่มีโครงสร้าง เอกสารไม่สมบูรณ์หรือไม่ส่งเอกสาร 2. ความรับผิดชอบต่อหน้าที่ในทีม ปฏิบัติหน้าที่ของตนครบถ้วน ส่งงานตรงเวลา 100% (ดูจากประวัติการ Commit/งานบนบอร์ด) สนับสนุนการทำงานของเพื่อนร่วมทีม ปฏิบัติหน้าที่ครบถ้วน ส่งงานตรงเวลาเป็นส่วนใหญ่ ให้ความร่วมมือกับทีมเป็นอย่างดี ปฏิบัติหน้าที่หลักสำเร็จ มีความล่าช้าบ้างแต่ไม่กระทบภาพรวมของโครงการ ทำงานที่ได้รับมอบหมายเพียงบางส่วน ต้องให้เพื่อนร่วมทีมช่วยติดตามบ่อยครั้ง ไม่ปฏิบัติหน้าที่ของตน ขาดความรับผิดชอบจนเกิดผลกระทบเชิงลบต่อโครงการ 3. จริยธรรมและการใช้เครื่องมืออย่างโปร่งใส ปฏิบัติตามกฎระเบียบ 100% ไม่ละเมิดลิขสิทธิ์ และใช้ Gen-AI อย่างโปร่งใส มีการอ้างอิงและตรวจสอบความถูกต้องด้วยตนเองทุกครั้ง ปฏิบัติตามจริยธรรมวิชาชีพ มีการใช้ Gen-AI และอ้างอิงชัดเจน แต่ขาดการตรวจสอบความถูกต้องเชิงลึก ไม่มีการคัดลอกผลงานผู้อื่น แต่การอ้างอิงแหล่งที่มาหรือการระบุการใช้ AI ยังไม่ชัดเจนหรือตกหล่น พบการคัดลอกโค้ดบางส่วน หรือใช้ผลลัพธ์จาก AI โดยไม่อ้างอิงและไม่มีการประยุกต์แก้ไข พบการทุจริต คัดลอกผลงานผู้อื่นทั้งหมด หรือใช้ผลลัพธ์จาก AI มาส่งโดยไม่มีการตรวจสอบ (Blind copy-paste) 4. วิจารณญาณเชิงวิชาชีพ ตัดสินใจเลือกสถาปัตยกรรมและแก้ปัญหาเชิงเทคนิคได้อย่างมีเหตุผล อ้างอิงข้อมูล (Data-driven) และคำนึงถึงความปลอดภัยของระบบ ตัดสินใจแก้ปัญหาได้ดี มีเหตุผลรองรับทางวิชาการและวิชาชีพ ตัดสินใจได้ตามมาตรฐานทั่วไป แต่ขาดการวิเคราะห์ถึงความเสี่ยงหรือผลกระทบระยะยาว การตัดสินใจแก้ปัญหาขาดความรอบคอบ ขาดเหตุผลทางวิชาการรองรับ ไม่สามารถวิเคราะห์และตัดสินใจแก้ปัญหาเชิงเทคนิคได้ ส่งผลให้โครงการหยุดชะงัก
ส่วนที่ 2: การประเมินการนำเสนอและการปกป้องโครงงาน
ประเด็นการประเมิน 5 (ดีเยี่ยม) 4 (ดีมาก) 3 (ดี) 2 (พอใช้) 1 (ต้องปรับปรุง) 1. ความรู้ความเข้าใจในเนื้อหา อธิบายหลักการทำงาน กระบวนการ QA และตอบคำถามเชิงลึก (ทำไมถึงเลือกวิธีนี้) ได้อย่างแม่นยำและมั่นใจ อธิบายกระบวนการพัฒนาและเนื้อหาหลักได้ชัดเจน ตอบคำถามได้ถูกต้องเป็นส่วนใหญ่ เข้าใจภาพรวมของระบบและอธิบายเนื้อหาพื้นฐานได้ แต่อาจตอบคำถามเชิงลึกไม่ได้ อธิบายเนื้อหาได้เพียงผิวเผิน มีความสับสนในทฤษฎีหรือหลักการทางวิศวกรรมซอฟต์แวร์ ไม่เข้าใจเนื้อหาหลักของโครงงานตนเอง ไม่สามารถอธิบายกระบวนการทำงานได้ 2. การวิเคราะห์และเสนอทางแก้ปัญหา วิเคราะห์ปัญหาที่พบระหว่างทำโครงงานได้เฉียบคม และนำเสนอแนวทางแก้ไขที่เป็นระบบและสร้างสรรค์ วิเคราะห์ปัญหาหลักได้ถูกต้อง และนำเสนอแนวทางแก้ไขที่สมเหตุสมผล ระบุปัญหาที่เกิดขึ้นได้ แต่แนวทางแก้ไขยังเป็นการแก้ปัญหาเฉพาะหน้า ขาดความเป็นระบบ ระบุปัญหาได้ไม่ชัดเจน และไม่สามารถนำเสนอแนวทางแก้ไขที่สอดคล้องกับปัญหาได้ ไม่มีการวิเคราะห์ปัญหาที่เกิดขึ้นตลอดกระบวนการทำงาน 3. ทักษะการสื่อสารและสื่อนำเสนอ นำเสนออย่างมืออาชีพ กระชับ ตรงประเด็น ใช้สื่อนำเสนอ (Slides/Demo) ที่ช่วยให้เห็นภาพระบบได้ชัดเจนยอดเยี่ยม นำเสนอได้ชัดเจน ลำดับเรื่องราวได้ดี สื่อนำเสนอมีความถูกต้องและช่วยสนับสนุนเนื้อหา นำเสนอเนื้อหาได้ครบถ้วน แต่การลำดับเรื่องราวหรือการใช้สื่อนำเสนอยังไม่ดึงดูดหรือซับซ้อนไป การนำเสนอวกวน เข้าใจยาก สื่อนำเสนอมีข้อผิดพลาด หรืออ่านจากสไลด์เป็นหลัก ไม่สามารถสื่อสารให้ผู้ฟังเข้าใจได้ ไม่มีสื่อนำเสนอ หรือนำเสนอไม่จบตามเวลาที่กำหนด 4. การมีส่วนร่วมของทีม (ช่วงนำเสนอ) สมาชิกทุกคนแบ่งบทบาทการนำเสนออย่างลงตัว และช่วยกันเสริมข้อมูลในการตอบคำถามได้อย่างสมบูรณ์แบบ แบ่งหน้าที่การนำเสนอได้ดี สมาชิกส่วนใหญ่มีส่วนร่วมในการตอบคำถามหรือปกป้องโครงงาน สมาชิกทุกคนมีส่วนร่วมนำเสนอ แต่การตอบคำถามยังตกอยู่กับสมาชิกเพียงบางคน ภาระการนำเสนอและการตอบคำถามตกอยู่กับสมาชิกเพียง 1-2 คน สมาชิกที่เหลือไม่มีส่วนร่วม ไม่มีการแบ่งบทบาท หรือเกิดข้อขัดแย้งในการนำเสนอต่อหน้าผู้ประเมิน
ส่วนที่ 1: การประเมินกระบวนการพัฒนาซอฟต์แวร์และเอกสารโครงงาน
ประเด็นการประเมิน 5 (ดีเยี่ยม) 4 (ดีมาก) 3 (ดี) 2 (พอใช้) 1 (ต้องปรับปรุง) 1. คุณภาพซอฟต์แวร์และเอกสาร ซอฟต์แวร์ทำงานได้ครบถ้วน โค้ดมีโครงสร้างตามมาตรฐาน มีเอกสารประกอบสมบูรณ์ และระบุแหล่งที่มา/Prompt ของ AI ได้ครบถ้วน ซอฟต์แวร์ทำงานได้ครบถ้วน โค้ดอ่านง่าย เอกสารชัดเจน แต่ขาดรายละเอียดเชิงลึกบางส่วน ซอฟต์แวร์ทำงานได้ตามหลักการพื้นฐาน มีข้อบกพร่องเล็กน้อย (Bugs) เอกสารครอบคลุมเนื้อหาหลัก ซอฟต์แวร์ทำงานได้บางส่วน มีข้อผิดพลาดหลายจุด เอกสารไม่ครบถ้วนหรือไม่เป็นระบบ ซอฟต์แวร์ไม่สามารถทำงานได้ โค้ดไม่มีโครงสร้าง เอกสารไม่สมบูรณ์หรือไม่ส่งเอกสาร 2. ความรับผิดชอบต่อหน้าที่ในทีม ปฏิบัติหน้าที่ของตนครบถ้วน ส่งงานตรงเวลา 100% (ดูจากประวัติการ Commit/งานบนบอร์ด) สนับสนุนการทำงานของเพื่อนร่วมทีม ปฏิบัติหน้าที่ครบถ้วน ส่งงานตรงเวลาเป็นส่วนใหญ่ ให้ความร่วมมือกับทีมเป็นอย่างดี ปฏิบัติหน้าที่หลักสำเร็จ มีความล่าช้าบ้างแต่ไม่กระทบภาพรวมของโครงการ ทำงานที่ได้รับมอบหมายเพียงบางส่วน ต้องให้เพื่อนร่วมทีมช่วยติดตามบ่อยครั้ง ไม่ปฏิบัติหน้าที่ของตน ขาดความรับผิดชอบจนเกิดผลกระทบเชิงลบต่อโครงการ 3. จริยธรรมและการใช้เครื่องมืออย่างโปร่งใส ปฏิบัติตามกฎระเบียบ 100% ไม่ละเมิดลิขสิทธิ์ และใช้ Gen-AI อย่างโปร่งใส มีการอ้างอิงและตรวจสอบความถูกต้องด้วยตนเองทุกครั้ง ปฏิบัติตามจริยธรรมวิชาชีพ มีการใช้ Gen-AI และอ้างอิงชัดเจน แต่ขาดการตรวจสอบความถูกต้องเชิงลึก ไม่มีการคัดลอกผลงานผู้อื่น แต่การอ้างอิงแหล่งที่มาหรือการระบุการใช้ AI ยังไม่ชัดเจนหรือตกหล่น พบการคัดลอกโค้ดบางส่วน หรือใช้ผลลัพธ์จาก AI โดยไม่อ้างอิงและไม่มีการประยุกต์แก้ไข พบการทุจริต คัดลอกผลงานผู้อื่นทั้งหมด หรือใช้ผลลัพธ์จาก AI มาส่งโดยไม่มีการตรวจสอบ (Blind copy-paste) 4. วิจารณญาณเชิงวิชาชีพ ตัดสินใจเลือกสถาปัตยกรรมและแก้ปัญหาเชิงเทคนิคได้อย่างมีเหตุผล อ้างอิงข้อมูล (Data-driven) และคำนึงถึงความปลอดภัยของระบบ ตัดสินใจแก้ปัญหาได้ดี มีเหตุผลรองรับทางวิชาการและวิชาชีพ ตัดสินใจได้ตามมาตรฐานทั่วไป แต่ขาดการวิเคราะห์ถึงความเสี่ยงหรือผลกระทบระยะยาว การตัดสินใจแก้ปัญหาขาดความรอบคอบ ขาดเหตุผลทางวิชาการรองรับ ไม่สามารถวิเคราะห์และตัดสินใจแก้ปัญหาเชิงเทคนิคได้ ส่งผลให้โครงการหยุดชะงัก
ส่วนที่ 2: การประเมินการนำเสนอและการปกป้องโครงงาน
ประเด็นการประเมิน 5 (ดีเยี่ยม) 4 (ดีมาก) 3 (ดี) 2 (พอใช้) 1 (ต้องปรับปรุง) 1. ความรู้ความเข้าใจในเนื้อหา อธิบายหลักการทำงาน กระบวนการ QA และตอบคำถามเชิงลึก (ทำไมถึงเลือกวิธีนี้) ได้อย่างแม่นยำและมั่นใจ อธิบายกระบวนการพัฒนาและเนื้อหาหลักได้ชัดเจน ตอบคำถามได้ถูกต้องเป็นส่วนใหญ่ เข้าใจภาพรวมของระบบและอธิบายเนื้อหาพื้นฐานได้ แต่อาจตอบคำถามเชิงลึกไม่ได้ อธิบายเนื้อหาได้เพียงผิวเผิน มีความสับสนในทฤษฎีหรือหลักการทางวิศวกรรมซอฟต์แวร์ ไม่เข้าใจเนื้อหาหลักของโครงงานตนเอง ไม่สามารถอธิบายกระบวนการทำงานได้ 2. การวิเคราะห์และเสนอทางแก้ปัญหา วิเคราะห์ปัญหาที่พบระหว่างทำโครงงานได้เฉียบคม และนำเสนอแนวทางแก้ไขที่เป็นระบบและสร้างสรรค์ วิเคราะห์ปัญหาหลักได้ถูกต้อง และนำเสนอแนวทางแก้ไขที่สมเหตุสมผล ระบุปัญหาที่เกิดขึ้นได้ แต่แนวทางแก้ไขยังเป็นการแก้ปัญหาเฉพาะหน้า ขาดความเป็นระบบ ระบุปัญหาได้ไม่ชัดเจน และไม่สามารถนำเสนอแนวทางแก้ไขที่สอดคล้องกับปัญหาได้ ไม่มีการวิเคราะห์ปัญหาที่เกิดขึ้นตลอดกระบวนการทำงาน 3. ทักษะการสื่อสารและสื่อนำเสนอ นำเสนออย่างมืออาชีพ กระชับ ตรงประเด็น ใช้สื่อนำเสนอ (Slides/Demo) ที่ช่วยให้เห็นภาพระบบได้ชัดเจนยอดเยี่ยม นำเสนอได้ชัดเจน ลำดับเรื่องราวได้ดี สื่อนำเสนอมีความถูกต้องและช่วยสนับสนุนเนื้อหา นำเสนอเนื้อหาได้ครบถ้วน แต่การลำดับเรื่องราวหรือการใช้สื่อนำเสนอยังไม่ดึงดูดหรือซับซ้อนไป การนำเสนอวกวน เข้าใจยาก สื่อนำเสนอมีข้อผิดพลาด หรืออ่านจากสไลด์เป็นหลัก ไม่สามารถสื่อสารให้ผู้ฟังเข้าใจได้ ไม่มีสื่อนำเสนอ หรือนำเสนอไม่จบตามเวลาที่กำหนด 4. การมีส่วนร่วมของทีม (ช่วงนำเสนอ) สมาชิกทุกคนแบ่งบทบาทการนำเสนออย่างลงตัว และช่วยกันเสริมข้อมูลในการตอบคำถามได้อย่างสมบูรณ์แบบ แบ่งหน้าที่การนำเสนอได้ดี สมาชิกส่วนใหญ่มีส่วนร่วมในการตอบคำถามหรือปกป้องโครงงาน สมาชิกทุกคนมีส่วนร่วมนำเสนอ แต่การตอบคำถามยังตกอยู่กับสมาชิกเพียงบางคน ภาระการนำเสนอและการตอบคำถามตกอยู่กับสมาชิกเพียง 1-2 คน สมาชิกที่เหลือไม่มีส่วนร่วม ไม่มีการแบ่งบทบาท หรือเกิดข้อขัดแย้งในการนำเสนอต่อหน้าผู้ประเมิน
1. มีความรู้และความเข้าใจอย่างลึกซึ้ง ในหลักการ ทฤษฎี และวงจรการพัฒนาซอฟต์แวร์ (SDLC) ทั้งแนวทางแบบดั้งเดิม (Traditional) และแนวปฏิบัติสมัยใหม่ (เช่น Agile, DevOps) ตลอดจนเข้าใจสถาปัตยกรรมระบบ (เช่น Microservices) และกระบวนการประกันคุณภาพ (QA)
2. มีความรู้และสามารถอธิบาย กระบวนการวิศวกรรมความต้องการ (Requirements Engineering) การประเมินความเสี่ยง และการจัดทำข้อกำหนดของระบบซอฟต์แวร์ (Software Specifications) ที่สอดคล้องกับเป้าหมายทางธุรกิจได้อย่างถูกต้อง
3. มีความรู้ความเข้าใจในหลักการทำงาน ของเครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ ได้แก่ ระบบควบคุมเวอร์ชัน (Version Control) เครื่องมือทดสอบและการวิเคราะห์ (Static/Dynamic Analysis) รวมถึงหลักการทำงานของเทคโนโลยีปัญญาประดิษฐ์เชิงรู้สร้าง (Generative AI) ที่ใช้สนับสนุนการพัฒนาซอฟต์แวร์
4. มีความรู้และตระหนักถึง มาตรฐานสากลทางวิศวกรรมซอฟต์แวร์ กฎหมายเทคโนโลยีสารสนเทศ (เช่น กฎหมายคุ้มครองข้อมูลส่วนบุคคล) และจรรยาบรรณวิชาชีพ เพื่อใช้เป็นฐานคิดในการวิเคราะห์ผลกระทบทางสังคม เศรษฐกิจ และความมั่นคงปลอดภัย (Security)
5. มีความรู้ในการบูรณาการ ศาสตร์วิศวกรรมซอฟต์แวร์เข้ากับองค์ความรู้ในสาขาอื่นที่เกี่ยวข้อง เพื่อเป็นรากฐานในการออกแบบนวัตกรรมและการตัดสินใจที่ขับเคลื่อนด้วยข้อมูล (Data-driven decision making) ได้แก่
5.1 วิทยาการคอมพิวเตอร์
5.2 การบริหารจัดการโครงการ
5.3 การจัดการคุณภาพและกระบวนการ
5.4 จริยธรรมและกฎหมายไซเบอร์
2. มีความรู้และสามารถอธิบาย กระบวนการวิศวกรรมความต้องการ (Requirements Engineering) การประเมินความเสี่ยง และการจัดทำข้อกำหนดของระบบซอฟต์แวร์ (Software Specifications) ที่สอดคล้องกับเป้าหมายทางธุรกิจได้อย่างถูกต้อง
3. มีความรู้ความเข้าใจในหลักการทำงาน ของเครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ ได้แก่ ระบบควบคุมเวอร์ชัน (Version Control) เครื่องมือทดสอบและการวิเคราะห์ (Static/Dynamic Analysis) รวมถึงหลักการทำงานของเทคโนโลยีปัญญาประดิษฐ์เชิงรู้สร้าง (Generative AI) ที่ใช้สนับสนุนการพัฒนาซอฟต์แวร์
4. มีความรู้และตระหนักถึง มาตรฐานสากลทางวิศวกรรมซอฟต์แวร์ กฎหมายเทคโนโลยีสารสนเทศ (เช่น กฎหมายคุ้มครองข้อมูลส่วนบุคคล) และจรรยาบรรณวิชาชีพ เพื่อใช้เป็นฐานคิดในการวิเคราะห์ผลกระทบทางสังคม เศรษฐกิจ และความมั่นคงปลอดภัย (Security)
5. มีความรู้ในการบูรณาการ ศาสตร์วิศวกรรมซอฟต์แวร์เข้ากับองค์ความรู้ในสาขาอื่นที่เกี่ยวข้อง เพื่อเป็นรากฐานในการออกแบบนวัตกรรมและการตัดสินใจที่ขับเคลื่อนด้วยข้อมูล (Data-driven decision making) ได้แก่
5.1 วิทยาการคอมพิวเตอร์
5.2 การบริหารจัดการโครงการ
5.3 การจัดการคุณภาพและกระบวนการ
5.4 จริยธรรมและกฎหมายไซเบอร์
เพื่อให้ผู้เรียนบรรลุผลลัพธ์การเรียนรู้ด้านความรู้ตามที่กำหนด รายวิชานี้ใช้วิธีการจัดการเรียนการสอนที่เน้นผู้เรียนเป็นศูนย์กลางและเน้นการลงมือปฏิบัติจริง (Active Learning) ดังนี้
1. การบรรยายเชิงปฏิสัมพันธ์ (Interactive Lecture) อธิบายหลักการ ทฤษฎี และแนวปฏิบัติทางวิศวกรรมซอฟต์แวร์ (เช่น SDLC, Agile, สถาปัตยกรรมสมัยใหม่) โดยกระตุ้นให้ผู้เรียนมีส่วนร่วมในการตั้งคำถามและแสดงความคิดเห็นระหว่างชั้นเรียน
2. การเรียนรู้โดยใช้กรณีศึกษาเป็นฐาน (Case-Based Learning) นำเสนอกรณีศึกษาจากอุตสาหกรรมซอฟต์แวร์จริง (เช่น โครงการที่ประสบความสำเร็จ หรือกรณีความล้มเหลวระดับโลก) เพื่อให้นักศึกษาวิเคราะห์สาเหตุ ปัญหา และกระบวนการควบคุมคุณภาพซอฟต์แวร์
3. การเรียนรู้เชิงปฏิบัติและบูรณาการเทคโนโลยี (Practical Application & Technology Integration) สาธิตและมอบหมายงานให้ผู้เรียนฝึกปฏิบัติการใช้เครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ (เช่น Version Control, Testing Tools) รวมถึงการประยุกต์ใช้ Generative AI (เช่น AI-assisted coding) เพื่อเป็นเครื่องมือสนับสนุนการเรียนรู้และการทำงานอย่างถูกต้อง
4. การศึกษาค้นคว้าด้วยตนเอง (Self-Directed Learning) มอบหมายโจทย์ที่กระตุ้นให้นักศึกษาต้องไปสืบค้นข้อมูลเพิ่มเติมจากแหล่งเรียนรู้ระดับสากล เช่น บทความทางวิชาการ คู่มือทางเทคนิคของเทคโนโลยีต่างๆ หรือการวิเคราะห์โครงงานซอฟต์แวร์แบบโอเพนซอร์ส (Open Source Projects)
1. การบรรยายเชิงปฏิสัมพันธ์ (Interactive Lecture) อธิบายหลักการ ทฤษฎี และแนวปฏิบัติทางวิศวกรรมซอฟต์แวร์ (เช่น SDLC, Agile, สถาปัตยกรรมสมัยใหม่) โดยกระตุ้นให้ผู้เรียนมีส่วนร่วมในการตั้งคำถามและแสดงความคิดเห็นระหว่างชั้นเรียน
2. การเรียนรู้โดยใช้กรณีศึกษาเป็นฐาน (Case-Based Learning) นำเสนอกรณีศึกษาจากอุตสาหกรรมซอฟต์แวร์จริง (เช่น โครงการที่ประสบความสำเร็จ หรือกรณีความล้มเหลวระดับโลก) เพื่อให้นักศึกษาวิเคราะห์สาเหตุ ปัญหา และกระบวนการควบคุมคุณภาพซอฟต์แวร์
3. การเรียนรู้เชิงปฏิบัติและบูรณาการเทคโนโลยี (Practical Application & Technology Integration) สาธิตและมอบหมายงานให้ผู้เรียนฝึกปฏิบัติการใช้เครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ (เช่น Version Control, Testing Tools) รวมถึงการประยุกต์ใช้ Generative AI (เช่น AI-assisted coding) เพื่อเป็นเครื่องมือสนับสนุนการเรียนรู้และการทำงานอย่างถูกต้อง
4. การศึกษาค้นคว้าด้วยตนเอง (Self-Directed Learning) มอบหมายโจทย์ที่กระตุ้นให้นักศึกษาต้องไปสืบค้นข้อมูลเพิ่มเติมจากแหล่งเรียนรู้ระดับสากล เช่น บทความทางวิชาการ คู่มือทางเทคนิคของเทคโนโลยีต่างๆ หรือการวิเคราะห์โครงงานซอฟต์แวร์แบบโอเพนซอร์ส (Open Source Projects)
1. การสอบกลางภาคและปลายภาค ใช้ข้อสอบแบบปรนัยและอัตนัยที่ผสมผสานระหว่างการวัดความจำ ความเข้าใจ และการวิเคราะห์สถานการณ์จำลอง เพื่อประเมินความรู้เชิงลึกในหลักการและกระบวนการทางวิศวกรรมซอฟต์แวร์
2. การทดสอบย่อย ประเมินความรู้ความเข้าใจของนักศึกษาในเนื้อหาแต่ละสัปดาห์ (เช่น หลักการอไจล์, สถาปัตยกรรมระบบ, การจัดการคุณภาพ) เพื่อติดตามความก้าวหน้าและปรับปรุงการเรียนการสอนให้ทันท่วงที
3. การประเมินผลจากการศึกษาค้นคว้าและการวิเคราะห์ ตรวจสอบความเข้าใจและการบูรณาการความรู้ ผ่านการตรวจรายงานผลการวิเคราะห์กรณีศึกษา หรืองานที่มอบหมายให้ค้นคว้าด้วยตนเองจากเอกสารวิชาการ
4. การประเมินการมีส่วนร่วมในชั้นเรียน สังเกตพฤติกรรมและประเมินความเข้าใจของนักศึกษาผ่านการมีส่วนร่วมในชั้นเรียน การตั้งคำถาม การอภิปรายแลกเปลี่ยนความคิดเห็นเชิงวิชาการ และการตอบคำถามระหว่างการบรรยาย
2. การทดสอบย่อย ประเมินความรู้ความเข้าใจของนักศึกษาในเนื้อหาแต่ละสัปดาห์ (เช่น หลักการอไจล์, สถาปัตยกรรมระบบ, การจัดการคุณภาพ) เพื่อติดตามความก้าวหน้าและปรับปรุงการเรียนการสอนให้ทันท่วงที
3. การประเมินผลจากการศึกษาค้นคว้าและการวิเคราะห์ ตรวจสอบความเข้าใจและการบูรณาการความรู้ ผ่านการตรวจรายงานผลการวิเคราะห์กรณีศึกษา หรืองานที่มอบหมายให้ค้นคว้าด้วยตนเองจากเอกสารวิชาการ
4. การประเมินการมีส่วนร่วมในชั้นเรียน สังเกตพฤติกรรมและประเมินความเข้าใจของนักศึกษาผ่านการมีส่วนร่วมในชั้นเรียน การตั้งคำถาม การอภิปรายแลกเปลี่ยนความคิดเห็นเชิงวิชาการ และการตอบคำถามระหว่างการบรรยาย
1. คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ โดยสามารถวิเคราะห์โครงสร้างของระบบซอฟต์แวร์ ประเมินความเสี่ยง และตัดสินใจเลือกใช้กระบวนการพัฒนา (เช่น Agile, การพัฒนาแบบวนซ้ำ) ตลอดจนการออกแบบสถาปัตยกรรมระบบได้อย่างมีเหตุผลทางวิศวกรรมรองรับ
2. สามารถสืบค้น ตีความ และประเมินสารสนเทศ เพื่อใช้ในการแก้ปัญหาอย่างสร้างสรรค์ รวมถึงสามารถค้นคว้าเอกสารทางเทคนิคระดับสากล และมีวิจารณญาณในการประเมิน ตรวจสอบความถูกต้อง (Verification & Validation) ของข้อมูลและผลลัพธ์ที่ได้จากการใช้เทคโนโลยีปัญญาประดิษฐ์ (Generative AI) เพื่อนำมาประยุกต์แก้ปัญหาในโครงงานได้อย่างรู้เท่าทัน
3. สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ ในบริบทของกระบวนการวิศวกรรมความต้องการ (Software Requirements Engineering) เพื่อทำความเข้าใจผู้มีส่วนได้ส่วนเสีย และจัดทำข้อกำหนดคุณลักษณะซอฟต์แวร์ที่ตอบโจทย์เป้าหมายทางธุรกิจ
4. สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางคอมพิวเตอร์ได้อย่างเหมาะสม ผ่านการบูรณาการหลักการ ทฤษฎี และเครื่องมือทางวิศวกรรมซอฟต์แวร์ (เช่น เครื่องมือวิเคราะห์โค้ด, เครื่องมือควบคุมเวอร์ชัน) เพื่อออกแบบ พัฒนา และทดสอบซอฟต์แวร์ที่สามารถแก้ไขปัญหาในโลกจริงได้อย่างมีประสิทธิภาพและปลอดภัย
2. สามารถสืบค้น ตีความ และประเมินสารสนเทศ เพื่อใช้ในการแก้ปัญหาอย่างสร้างสรรค์ รวมถึงสามารถค้นคว้าเอกสารทางเทคนิคระดับสากล และมีวิจารณญาณในการประเมิน ตรวจสอบความถูกต้อง (Verification & Validation) ของข้อมูลและผลลัพธ์ที่ได้จากการใช้เทคโนโลยีปัญญาประดิษฐ์ (Generative AI) เพื่อนำมาประยุกต์แก้ปัญหาในโครงงานได้อย่างรู้เท่าทัน
3. สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ ในบริบทของกระบวนการวิศวกรรมความต้องการ (Software Requirements Engineering) เพื่อทำความเข้าใจผู้มีส่วนได้ส่วนเสีย และจัดทำข้อกำหนดคุณลักษณะซอฟต์แวร์ที่ตอบโจทย์เป้าหมายทางธุรกิจ
4. สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางคอมพิวเตอร์ได้อย่างเหมาะสม ผ่านการบูรณาการหลักการ ทฤษฎี และเครื่องมือทางวิศวกรรมซอฟต์แวร์ (เช่น เครื่องมือวิเคราะห์โค้ด, เครื่องมือควบคุมเวอร์ชัน) เพื่อออกแบบ พัฒนา และทดสอบซอฟต์แวร์ที่สามารถแก้ไขปัญหาในโลกจริงได้อย่างมีประสิทธิภาพและปลอดภัย
1. การเรียนรู้โดยใช้ปัญหาและโครงงานเป็นฐาน มอบหมายโจทย์ปัญหาทางวิศวกรรมซอฟต์แวร์ที่ซับซ้อน (เช่น การออกแบบสถาปัตยกรรมระบบ การรวบรวมความต้องการของผู้ใช้) เพื่อส่งเสริมให้นักศึกษาฝึกกระบวนการคิดวิเคราะห์ สังเคราะห์ และบูรณาการความรู้เพื่อแก้ไขปัญหาอย่างเป็นระบบ
2. การวิเคราะห์กรณีศึกษา นำเสนอกรณีศึกษาจากอุตสาหกรรมซอฟต์แวร์จริง (Real-world scenarios) เพื่อให้นักศึกษาได้ประเมินสารสนเทศ ฝึกตีความ วิเคราะห์ความเสี่ยง และตัดสินใจเลือกแนวทางแก้ไขปัญหาที่เหมาะสมที่สุดภายใต้ข้อจำกัด
3. การศึกษาค้นคว้า การจัดทำรายงาน และการนำเสนอผลงาน มอบหมายงานให้ผู้เรียนสืบค้นเทคโนโลยีหรือเครื่องมือใหม่ๆ (เช่น การใช้เทคโนโลยี Generative AI ในกระบวนการพัฒนาซอฟต์แวร์) โดยมุ่งเน้นการประเมินความน่าเชื่อถือของข้อมูล สังเคราะห์องค์ความรู้ และนำเสนอแนวคิดอย่างสร้างสรรค์
4. การสอนแบบตั้งคำถามเชิงวิเคราะห์ใช้การตั้งคำถามปลายเปิดระหว่างการบรรยายและการทำกิจกรรมกลุ่ม เพื่อกระตุ้นให้นักศึกษาใช้ทักษะการคิดอย่างมีวิจารณญาณ (Critical Thinking) เช่น การถกเถียงถึงข้อดีข้อเสียระหว่างระเบียบวิธีวิศวกรรมซอฟต์แวร์แบบต่างๆ
2. การวิเคราะห์กรณีศึกษา นำเสนอกรณีศึกษาจากอุตสาหกรรมซอฟต์แวร์จริง (Real-world scenarios) เพื่อให้นักศึกษาได้ประเมินสารสนเทศ ฝึกตีความ วิเคราะห์ความเสี่ยง และตัดสินใจเลือกแนวทางแก้ไขปัญหาที่เหมาะสมที่สุดภายใต้ข้อจำกัด
3. การศึกษาค้นคว้า การจัดทำรายงาน และการนำเสนอผลงาน มอบหมายงานให้ผู้เรียนสืบค้นเทคโนโลยีหรือเครื่องมือใหม่ๆ (เช่น การใช้เทคโนโลยี Generative AI ในกระบวนการพัฒนาซอฟต์แวร์) โดยมุ่งเน้นการประเมินความน่าเชื่อถือของข้อมูล สังเคราะห์องค์ความรู้ และนำเสนอแนวคิดอย่างสร้างสรรค์
4. การสอนแบบตั้งคำถามเชิงวิเคราะห์ใช้การตั้งคำถามปลายเปิดระหว่างการบรรยายและการทำกิจกรรมกลุ่ม เพื่อกระตุ้นให้นักศึกษาใช้ทักษะการคิดอย่างมีวิจารณญาณ (Critical Thinking) เช่น การถกเถียงถึงข้อดีข้อเสียระหว่างระเบียบวิธีวิศวกรรมซอฟต์แวร์แบบต่างๆ
1. การประเมินจากการวิเคราะห์กรณีศึกษา ตรวจสอบกระบวนการคิดวิเคราะห์อย่างเป็นระบบ ผ่านผลงานที่มอบหมายทั้งแบบรายบุคคลและรายกลุ่ม
2. การประเมินโครงงานและการนำเสนอ ประเมินจากผลลัพธ์ของโครงงานพัฒนาระบบซอฟต์แวร์ การจัดทำเอกสารประกอบ และความสามารถในการตอบคำถามเชิงวิเคราะห์ (Defense) เพื่อปกป้องแนวคิดในการออกแบบของตนเอง
3. การประเมินพฤติกรรมการมีส่วนร่วมประเมินจากการตั้งคำถาม การแสดงความคิดเห็นเชิงวิพากษ์ และการร่วมแก้ปัญหาเฉพาะหน้าในชั้นเรีย
2. การประเมินโครงงานและการนำเสนอ ประเมินจากผลลัพธ์ของโครงงานพัฒนาระบบซอฟต์แวร์ การจัดทำเอกสารประกอบ และความสามารถในการตอบคำถามเชิงวิเคราะห์ (Defense) เพื่อปกป้องแนวคิดในการออกแบบของตนเอง
3. การประเมินพฤติกรรมการมีส่วนร่วมประเมินจากการตั้งคำถาม การแสดงความคิดเห็นเชิงวิพากษ์ และการร่วมแก้ปัญหาเฉพาะหน้าในชั้นเรีย
1. สามารถสื่อสารกับกลุ่มคนหลากหลาย และสามารถสนทนาทั้งภาษาไทยและภาษาต่างประเทศอย่างมีประสิทธิภาพ โดยสามารถสื่อสารแนวคิดทางเทคนิคเชิงลึก (Technical Concepts) ให้ผู้มีส่วนได้ส่วนเสีย ที่ไม่มีพื้นฐานทางเทคโนโลยีเข้าใจได้ รวมถึงสามารถสืบค้นและสื่อสารด้วยภาษาอังกฤษในการทำงานกับคู่มือทางเทคนิคระดับสากลได้
2. สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานการณ์ต่าง ๆ ในกลุ่ม ทั้งในบทบาทของผู้นำหรือในบทบาทของผู้ร่วมทีมทำงาน สอดคล้องกับการทำงานเป็นทีมตามแนวปฏิบัติอไจล์ (Agile/Scrum Practices) ที่นักศึกษาสามารถสลับบทบาทในการสนับสนุนเพื่อนร่วมทีม และช่วยขจัดอุปสรรคในการพัฒนาระบบร่วมกัน
3. สามารถใช้ความรู้ในศาสตร์มาชี้นำสังคมในประเด็นที่เหมาะสม โดยใช้ความรู้ทางวิศวกรรมซอฟต์แวร์มาสร้างสรรค์ระบบที่แก้ปัญหาสังคม หรือให้คำแนะนำที่ถูกต้องแก่ส่วนรวมในประเด็นด้านเทคโนโลยี (เช่น ความตระหนักรู้ด้านความปลอดภัยทางไซเบอร์ หรือผลกระทบของ AI)
4. มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม แสดงออกผ่านการส่งมอบงานในส่วนที่ตนรับผิดชอบ (เช่น การเขียนโค้ด, การทดสอบ) ให้เสร็จสิ้นตามกำหนดเวลาของการทำงานในแต่ละรอบ (Sprint) โดยไม่ปล่อยให้เป็นภาระของเพื่อนร่วมทีม
5. สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวม พร้อมทั้งแสดงจุดยืนอย่างพอเหมาะทั้งของตนเองและของกลุ่ม สามารถเสนอแนวทางการแก้ปัญหาเชิงสถาปัตยกรรมซอฟต์แวร์ กล้าท้วงติงในกระบวนการทบทวนโค้ด (Code Review) อย่างสร้างสรรค์ และประนีประนอมเพื่อหาข้อสรุปที่ดีที่สุดสำหรับโครงการ
6. มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่อง หมั่นติดตามและปรับตัวให้เข้ากับเทคโนโลยี เครื่องมือ เฟรมเวิร์กใหม่ๆ และแนวปฏิบัติในอุตสาหกรรมซอฟต์แวร์ (เช่น การบูรณาการ Generative AI เข้ากับการทำงาน) ที่มีการเปลี่ยนแปลงอย่างรวดเร็ว
2. สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานการณ์ต่าง ๆ ในกลุ่ม ทั้งในบทบาทของผู้นำหรือในบทบาทของผู้ร่วมทีมทำงาน สอดคล้องกับการทำงานเป็นทีมตามแนวปฏิบัติอไจล์ (Agile/Scrum Practices) ที่นักศึกษาสามารถสลับบทบาทในการสนับสนุนเพื่อนร่วมทีม และช่วยขจัดอุปสรรคในการพัฒนาระบบร่วมกัน
3. สามารถใช้ความรู้ในศาสตร์มาชี้นำสังคมในประเด็นที่เหมาะสม โดยใช้ความรู้ทางวิศวกรรมซอฟต์แวร์มาสร้างสรรค์ระบบที่แก้ปัญหาสังคม หรือให้คำแนะนำที่ถูกต้องแก่ส่วนรวมในประเด็นด้านเทคโนโลยี (เช่น ความตระหนักรู้ด้านความปลอดภัยทางไซเบอร์ หรือผลกระทบของ AI)
4. มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม แสดงออกผ่านการส่งมอบงานในส่วนที่ตนรับผิดชอบ (เช่น การเขียนโค้ด, การทดสอบ) ให้เสร็จสิ้นตามกำหนดเวลาของการทำงานในแต่ละรอบ (Sprint) โดยไม่ปล่อยให้เป็นภาระของเพื่อนร่วมทีม
5. สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวม พร้อมทั้งแสดงจุดยืนอย่างพอเหมาะทั้งของตนเองและของกลุ่ม สามารถเสนอแนวทางการแก้ปัญหาเชิงสถาปัตยกรรมซอฟต์แวร์ กล้าท้วงติงในกระบวนการทบทวนโค้ด (Code Review) อย่างสร้างสรรค์ และประนีประนอมเพื่อหาข้อสรุปที่ดีที่สุดสำหรับโครงการ
6. มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่อง หมั่นติดตามและปรับตัวให้เข้ากับเทคโนโลยี เครื่องมือ เฟรมเวิร์กใหม่ๆ และแนวปฏิบัติในอุตสาหกรรมซอฟต์แวร์ (เช่น การบูรณาการ Generative AI เข้ากับการทำงาน) ที่มีการเปลี่ยนแปลงอย่างรวดเร็ว
1. การเรียนรู้ผ่านโครงงานกลุ่มเชิงวิศวกรรม มอบหมายโครงงานพัฒนาระบบซอฟต์แวร์ตลอดภาคการศึกษา โดยให้นักศึกษาแบ่งบทบาทหน้าที่การทำงานร่วมกันอย่างชัดเจน (เช่น ผู้จัดการโครงการ, นักวิเคราะห์ระบบ, นักพัฒนา, ผู้ทดสอบ) เพื่อฝึกความรับผิดชอบต่องานที่ตนได้รับมอบหมาย และตระหนักว่าความสำเร็จของระบบขึ้นอยู่กับความร่วมมือของทั้งทีม
2. การประยุกต์ใช้กระบวนการทำงานแบบอไจล์ นำกิจกรรมของแนวปฏิบัติอไจล์มาใช้ในการติดตามงาน เช่น การประชุมความคืบหน้าระยะสั้น (Daily Stand-up แบบจำลอง) และการประชุมสะท้อนผลการทำงาน (Sprint Retrospective) เพื่อส่งเสริมให้นักศึกษากล้าสื่อสารปัญหา อุปสรรค และเสนอแนวทางแก้ไขร่วมกันอย่างโปร่งใส
3. การทบทวนผลงานร่วมกันอย่างสร้างสรรค์ จัดกิจกรรมให้นักศึกษาสลับกันตรวจสอบคุณภาพเอกสารความต้องการ (Requirements) และตรวจสอบรหัสคำสั่ง (Code Review) ของเพื่อนร่วมทีม เพื่อฝึกทักษะการให้ข้อเสนอแนะเชิงวิจารณ์ (Constructive Feedback) การยอมรับฟังความคิดเห็น และการบริหารข้อขัดแย้งเชิงเทคนิคด้วยความประนีประนอม
4. การจำลองสถานการณ์ปฏิสัมพันธ์กับผู้มีส่วนได้ส่วนเสีย จัดกิจกรรมจำลองการสัมภาษณ์เพื่อรวบรวมความต้องการ (Requirements Elicitation) โดยให้นักศึกษาฝึกทักษะการสื่อสารกับกลุ่มคนหลากหลาย ปรับระดับภาษาในการอธิบายแนวคิดทางเทคโนโลยีให้ผู้ใช้งานทั่วไปเข้าใจได้ง่าย และฝึกการตั้งคำถามเพื่อแก้ปัญหาอย่างตรงจุด
5. การกำหนดกติกาความรับผิดชอบร่วมกัน ก่อนเริ่มโครงงาน ให้นักศึกษาแต่ละกลุ่มร่วมกันร่าง "ข้อตกลงการทำงานร่วมกัน" ซึ่งครอบคลุมถึงวินัยในการเข้าประชุม การส่งงาน และกติกาในการใช้เครื่องมือสนับสนุน เช่น การใช้ Generative AI ในงานกลุ่มต้องได้รับความเห็นชอบและตรวจสอบโดยสมาชิกในทีมเสมอ
2. การประยุกต์ใช้กระบวนการทำงานแบบอไจล์ นำกิจกรรมของแนวปฏิบัติอไจล์มาใช้ในการติดตามงาน เช่น การประชุมความคืบหน้าระยะสั้น (Daily Stand-up แบบจำลอง) และการประชุมสะท้อนผลการทำงาน (Sprint Retrospective) เพื่อส่งเสริมให้นักศึกษากล้าสื่อสารปัญหา อุปสรรค และเสนอแนวทางแก้ไขร่วมกันอย่างโปร่งใส
3. การทบทวนผลงานร่วมกันอย่างสร้างสรรค์ จัดกิจกรรมให้นักศึกษาสลับกันตรวจสอบคุณภาพเอกสารความต้องการ (Requirements) และตรวจสอบรหัสคำสั่ง (Code Review) ของเพื่อนร่วมทีม เพื่อฝึกทักษะการให้ข้อเสนอแนะเชิงวิจารณ์ (Constructive Feedback) การยอมรับฟังความคิดเห็น และการบริหารข้อขัดแย้งเชิงเทคนิคด้วยความประนีประนอม
4. การจำลองสถานการณ์ปฏิสัมพันธ์กับผู้มีส่วนได้ส่วนเสีย จัดกิจกรรมจำลองการสัมภาษณ์เพื่อรวบรวมความต้องการ (Requirements Elicitation) โดยให้นักศึกษาฝึกทักษะการสื่อสารกับกลุ่มคนหลากหลาย ปรับระดับภาษาในการอธิบายแนวคิดทางเทคโนโลยีให้ผู้ใช้งานทั่วไปเข้าใจได้ง่าย และฝึกการตั้งคำถามเพื่อแก้ปัญหาอย่างตรงจุด
5. การกำหนดกติกาความรับผิดชอบร่วมกัน ก่อนเริ่มโครงงาน ให้นักศึกษาแต่ละกลุ่มร่วมกันร่าง "ข้อตกลงการทำงานร่วมกัน" ซึ่งครอบคลุมถึงวินัยในการเข้าประชุม การส่งงาน และกติกาในการใช้เครื่องมือสนับสนุน เช่น การใช้ Generative AI ในงานกลุ่มต้องได้รับความเห็นชอบและตรวจสอบโดยสมาชิกในทีมเสมอ
1. การประเมินโดยเพื่อนร่วมทีมและการประเมินตนเองให้นักศึกษาประเมินตนเองและประเมินเพื่อนร่วมทีม เมื่อสิ้นสุดแต่ละรอบการทำงาน (Sprint) หรือเมื่อจบโครงงาน โดยใช้แบบประเมินแบบรูบริก (Rubric) ที่อิงตาม "ข้อตกลงการทำงานร่วมกัน (Team Contract)" เพื่อวัดความรับผิดชอบต่องาน ความตรงต่อเวลา และการให้ความช่วยเหลือสมาชิกในทีม
2. การติดตามร่องรอยการทำงานผ่านระบบดิจิทัล ประเมินความรับผิดชอบรายบุคคลผ่านเครื่องมือทางวิศวกรรมซอฟต์แวร์อย่างเป็นรูปธรรม (Objective Measurement) เช่น การตรวจสอบประวัติการส่งโค้ด (Git Commit History) และการเคลื่อนย้ายการ์ดงานในระบบกระดานคัมบัง (Kanban Board เช่น Trello หรือ Jira) เพื่อยืนยันว่านักศึกษามีการทำงานตามหน้าที่ที่ได้รับมอบหมายจริง
3. การสังเกตพฤติกรรมในกิจกรรมจำลองและกระบวนการอไจล์ ผู้สอนประเมินทักษะการสื่อสาร ความเป็นผู้นำ และการแก้ปัญหาเฉพาะหน้า ผ่านการสังเกตการมีส่วนร่วมในกิจกรรมกลุ่ม ได้แก่ การจำลองการสัมภาษณ์ผู้ใช้งาน (Stakeholder Role-Playing) และการประชุมสะท้อนผลการทำงาน (Sprint Retrospective) ว่านักศึกษาสามารถสื่อสารเชิงบวกและรับฟังความคิดเห็นผู้อื่นได้ดีเพียงใด
4. การประเมินคุณภาพของการให้ข้อเสนอแนะ ประเมินวุฒิภาวะทางอารมณ์และทักษะมนุษยสัมพันธ์ผ่าน "คุณภาพของคำวิจารณ์" โดยตรวจสอบว่านักศึกษาสามารถให้ข้อเสนอแนะเชิงสร้างสรรค์ (Constructive Feedback) ในขั้นตอนการทบทวนเอกสารหรือรหัสคำสั่ง (Code Review) ของเพื่อนร่วมทีมได้โดยไม่ใช้ถ้อยคำรุนแรง และช่วยชี้แนะแนวทางแก้ไขอย่างมีวิจารณญาณ
2. การติดตามร่องรอยการทำงานผ่านระบบดิจิทัล ประเมินความรับผิดชอบรายบุคคลผ่านเครื่องมือทางวิศวกรรมซอฟต์แวร์อย่างเป็นรูปธรรม (Objective Measurement) เช่น การตรวจสอบประวัติการส่งโค้ด (Git Commit History) และการเคลื่อนย้ายการ์ดงานในระบบกระดานคัมบัง (Kanban Board เช่น Trello หรือ Jira) เพื่อยืนยันว่านักศึกษามีการทำงานตามหน้าที่ที่ได้รับมอบหมายจริง
3. การสังเกตพฤติกรรมในกิจกรรมจำลองและกระบวนการอไจล์ ผู้สอนประเมินทักษะการสื่อสาร ความเป็นผู้นำ และการแก้ปัญหาเฉพาะหน้า ผ่านการสังเกตการมีส่วนร่วมในกิจกรรมกลุ่ม ได้แก่ การจำลองการสัมภาษณ์ผู้ใช้งาน (Stakeholder Role-Playing) และการประชุมสะท้อนผลการทำงาน (Sprint Retrospective) ว่านักศึกษาสามารถสื่อสารเชิงบวกและรับฟังความคิดเห็นผู้อื่นได้ดีเพียงใด
4. การประเมินคุณภาพของการให้ข้อเสนอแนะ ประเมินวุฒิภาวะทางอารมณ์และทักษะมนุษยสัมพันธ์ผ่าน "คุณภาพของคำวิจารณ์" โดยตรวจสอบว่านักศึกษาสามารถให้ข้อเสนอแนะเชิงสร้างสรรค์ (Constructive Feedback) ในขั้นตอนการทบทวนเอกสารหรือรหัสคำสั่ง (Code Review) ของเพื่อนร่วมทีมได้โดยไม่ใช้ถ้อยคำรุนแรง และช่วยชี้แนะแนวทางแก้ไขอย่างมีวิจารณญาณ
1. มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์ สามารถใช้งานเครื่องมือทางวิศวกรรมซอฟต์แวร์สมัยใหม่ได้อย่างคล่องแคล่ว เช่น ระบบควบคุมเวอร์ชัน (Version Control Systems) เครื่องมือพัฒนาอัตโนมัติ (IDEs/CI/CD) รวมถึงการประยุกต์ใช้เทคโนโลยีปัญญาประดิษฐ์ (Generative AI) เป็นเครื่องมือสนับสนุนการทำงานและการสืบค้นทางเทคนิคอย่างรู้เท่าทัน
2. สามารถแนะนำประเด็นการแก้ไขปัญหาโดยใช้สารสนเทศทางคณิตศาสตร์หรือการแสดงสถิติประยุกต์ต่อปัญหาที่เกี่ยวข้องอย่างสร้างสรรค์ สามารถประยุกต์ใช้ข้อมูลเชิงตัวเลขและมาตรวัดซอฟต์แวร์ (Software Metrics เช่น Code Complexity, Test Coverage, Performance Benchmarks) มาวิเคราะห์ ประเมินความเสี่ยง และประกอบการตัดสินใจเชิงวิศวกรรมได้อย่างมีเหตุผล
3. สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียน เลือกใช้รูปแบบของสื่อการนำเสนออย่างเหมาะสม สามารถเขียนเอกสารทางเทคนิค (Technical Documentation) อธิบายข้อกำหนดของระบบ รายงานสรุปผลโครงงาน และนำเสนอผลงานปากเปล่าต่อผู้มีส่วนได้ส่วนเสีย (Stakeholders) โดยเลือกใช้สื่อเทคโนโลยี (เช่น Slides, System Demos) ได้อย่างสอดคล้องกับกลุ่มเป้าหมาย
4. สามารถใช้สารสนเทศและเทคโนโลยีสื่อหรือใช้อย่างเหมาะสม มีความสามารถในการสืบค้น คัดกรอง และประเมินความน่าเชื่อถือของสารสนเทศจากแหล่งข้อมูลสากล (เช่น คู่มือทางเทคนิค Official Documentation และบทความวิชาการ) ตลอดจนการใช้งานเทคโนโลยีสารสนเทศด้วยความรับผิดชอบและเคารพกฎหมายลิขสิทธิ์
2. สามารถแนะนำประเด็นการแก้ไขปัญหาโดยใช้สารสนเทศทางคณิตศาสตร์หรือการแสดงสถิติประยุกต์ต่อปัญหาที่เกี่ยวข้องอย่างสร้างสรรค์ สามารถประยุกต์ใช้ข้อมูลเชิงตัวเลขและมาตรวัดซอฟต์แวร์ (Software Metrics เช่น Code Complexity, Test Coverage, Performance Benchmarks) มาวิเคราะห์ ประเมินความเสี่ยง และประกอบการตัดสินใจเชิงวิศวกรรมได้อย่างมีเหตุผล
3. สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียน เลือกใช้รูปแบบของสื่อการนำเสนออย่างเหมาะสม สามารถเขียนเอกสารทางเทคนิค (Technical Documentation) อธิบายข้อกำหนดของระบบ รายงานสรุปผลโครงงาน และนำเสนอผลงานปากเปล่าต่อผู้มีส่วนได้ส่วนเสีย (Stakeholders) โดยเลือกใช้สื่อเทคโนโลยี (เช่น Slides, System Demos) ได้อย่างสอดคล้องกับกลุ่มเป้าหมาย
4. สามารถใช้สารสนเทศและเทคโนโลยีสื่อหรือใช้อย่างเหมาะสม มีความสามารถในการสืบค้น คัดกรอง และประเมินความน่าเชื่อถือของสารสนเทศจากแหล่งข้อมูลสากล (เช่น คู่มือทางเทคนิค Official Documentation และบทความวิชาการ) ตลอดจนการใช้งานเทคโนโลยีสารสนเทศด้วยความรับผิดชอบและเคารพกฎหมายลิขสิทธิ์
1. การจัดการเรียนรู้ที่ขับเคลื่อนด้วยข้อมูลเชิงตัวเลข มอบหมายโจทย์ที่ให้นักศึกษาต้องเก็บรวบรวม วิเคราะห์ และใช้ข้อมูลเชิงตัวเลข (เช่น ผลการทดสอบประสิทธิภาพระบบ, อัตราความผิดพลาดของโค้ด) มาประกอบการตัดสินใจปรับปรุงสถาปัตยกรรมซอฟต์แวร์
2. การฝึกทักษะการสืบค้นและเข้าถึงสารสนเทศทางเทคนิค แนะนำและสาธิตเทคนิคการสืบค้นข้อมูลขั้นสูง (Advanced Search Strategies) การใช้คีย์เวิร์ดที่แม่นยำเพื่อค้นหาคู่มือทางเทคนิค (Documentation) และการประเมินความถูกต้องของชุดข้อมูลที่ได้จากทั้งอินเทอร์เน็ตและเครื่องมือ Gen-AI
3. การปฏิบัติการจัดทำเอกสารและสื่อสารทางเทคนิค จัดกิจกรรมฝึกปฏิบัติการเขียนเอกสารวิศวกรรมซอฟต์แวร์และการเลือกใช้เครื่องมือดิจิทัลในการนำเสนอข้อมูล เพื่อพัฒนาทักษะการสื่อสารทั้งรูปแบบลายลักษณ์อักษรและการนำเสนอด้วยวาจา
4. การอภิปรายกลุ่มและการนำเสนอผลงานผ่านสื่อเทคโนโลยี เปิดโอกาสให้นักศึกษาได้อภิปรายแลกเปลี่ยนความคิดเห็นเชิงวิชาการ และนำเสนอความคืบหน้าของโครงงานโดยใช้สื่อและเครื่องมือเทคโนโลยีสารสนเทศที่ทันสมัย พร้อมเปิดให้มีการซักถามและวิพากษ์ร่วมกันในชั้นเรียน
2. การฝึกทักษะการสืบค้นและเข้าถึงสารสนเทศทางเทคนิค แนะนำและสาธิตเทคนิคการสืบค้นข้อมูลขั้นสูง (Advanced Search Strategies) การใช้คีย์เวิร์ดที่แม่นยำเพื่อค้นหาคู่มือทางเทคนิค (Documentation) และการประเมินความถูกต้องของชุดข้อมูลที่ได้จากทั้งอินเทอร์เน็ตและเครื่องมือ Gen-AI
3. การปฏิบัติการจัดทำเอกสารและสื่อสารทางเทคนิค จัดกิจกรรมฝึกปฏิบัติการเขียนเอกสารวิศวกรรมซอฟต์แวร์และการเลือกใช้เครื่องมือดิจิทัลในการนำเสนอข้อมูล เพื่อพัฒนาทักษะการสื่อสารทั้งรูปแบบลายลักษณ์อักษรและการนำเสนอด้วยวาจา
4. การอภิปรายกลุ่มและการนำเสนอผลงานผ่านสื่อเทคโนโลยี เปิดโอกาสให้นักศึกษาได้อภิปรายแลกเปลี่ยนความคิดเห็นเชิงวิชาการ และนำเสนอความคืบหน้าของโครงงานโดยใช้สื่อและเครื่องมือเทคโนโลยีสารสนเทศที่ทันสมัย พร้อมเปิดให้มีการซักถามและวิพากษ์ร่วมกันในชั้นเรียน
1. การประเมินรายงานทางเทคนิคและสื่อเทคโนโลยีนำเสนอ ประเมินจากคุณภาพของเอกสารโครงงาน รายงานการวิเคราะห์ระบบ และความเหมาะสมในการเลือกใช้สื่อเทคโนโลยี (เช่น แพลตฟอร์มนำเสนอ, วิดีโอเดโมระบบ) ในการสื่อสารข้อมูลเชิงเทคนิคให้เข้าใจง่าย
2. การประเมินการวิเคราะห์ข้อมูลเชิงตัวเลขในโครงงาน ประเมินความสามารถในการนำเสนอและอธิบายข้อมูลเชิงตัวเลข มาตรวัดซอฟต์แวร์ หรือสถิติประยุกต์ที่ใช้ในการแก้ปัญหาหรือวัดผลความสำเร็จของระบบซอฟต์แวร์ในโครงงาน
3. การประเมินทักษะการสื่อสารผ่านการนำเสนอและตอบข้อซักถาม ประเมินความชัดเจน ความกระชับ และความมั่นใจในการนำเสนอด้วยวาจา รวมถึงความสามารถในการตอบคำถามและอธิบายเหตุผลทางเทคนิคต่อหน้าผู้ประเมิน
4. การประเมินการมีส่วนร่วมในกิจกรรมอภิปราย ประเมินจากคุณภาพของการตั้งคำถาม การร่วมแสดงความคิดเห็น และการแลกเปลี่ยนองค์ความรู้ในชั้นเรียนหรือผ่านช่องทางออนไลน์ของรายวิชา
2. การประเมินการวิเคราะห์ข้อมูลเชิงตัวเลขในโครงงาน ประเมินความสามารถในการนำเสนอและอธิบายข้อมูลเชิงตัวเลข มาตรวัดซอฟต์แวร์ หรือสถิติประยุกต์ที่ใช้ในการแก้ปัญหาหรือวัดผลความสำเร็จของระบบซอฟต์แวร์ในโครงงาน
3. การประเมินทักษะการสื่อสารผ่านการนำเสนอและตอบข้อซักถาม ประเมินความชัดเจน ความกระชับ และความมั่นใจในการนำเสนอด้วยวาจา รวมถึงความสามารถในการตอบคำถามและอธิบายเหตุผลทางเทคนิคต่อหน้าผู้ประเมิน
4. การประเมินการมีส่วนร่วมในกิจกรรมอภิปราย ประเมินจากคุณภาพของการตั้งคำถาม การร่วมแสดงความคิดเห็น และการแลกเปลี่ยนองค์ความรู้ในชั้นเรียนหรือผ่านช่องทางออนไลน์ของรายวิชา
1. มีความคล่องแคล่วในการใช้เครื่องมือและสภาพแวดล้อมการพัฒนาซอฟต์แวร์สมัยใหม่ สามารถติดตั้ง ตั้งค่า และใช้งานเครื่องมือวิศวกรรมซอฟต์แวร์ได้อย่างคล่องแคล่ว เช่น ระบบควบคุมเวอร์ชัน (Git), เครื่องมือสร้างอัตโนมัติ (Build Tools), และแพลตฟอร์มการพัฒนา (IDEs / Cloud Workspaces)
2. มีทักษะปฏิบัติในการเขียนโค้ดและการทดสอบซอฟต์แวร์ตามมาตรฐาน สามารถเขียนโค้ดที่มีโครงสร้างถูกต้องตามหลักการออกแบบ (Design Patterns) พร้อมทั้งปฏิบัติการเขียนชุดทดสอบอัตโนมัติ (Automated Unit Tests) และการวิเคราะห์โค้ดด้วยเครื่องมือทางสถิติต่างๆ ได้จริง
3. สามารถบูรณาการและใช้งานเครื่องมือ Generative AI ในกระบวนการปฏิบัติงานจริง มีทักษะภาคปฏิบัติในการออกคำสั่ง (Prompting Engineering) ตรวจสอบ แก้ไข และ refactor โค้ดที่สร้างจาก AI ให้สอดคล้องกับข้อกำหนดทางวิศวกรรมได้อย่างปลอดภัยและแม่นยำ
4. มีความชำนาญในการจัดทำเอกสารและการนำเสนอระบบงาน สามารถปฏิบัติการจัดทำแผนภาพสถาปัตยกรรมระบบ (UML/Architecture Diagrams) เอกสารข้อกำหนดความต้องการ และการสาธิตการทำงานของซอฟต์แวร์ (System Demo) ได้อย่างเป็นระบบ
2. มีทักษะปฏิบัติในการเขียนโค้ดและการทดสอบซอฟต์แวร์ตามมาตรฐาน สามารถเขียนโค้ดที่มีโครงสร้างถูกต้องตามหลักการออกแบบ (Design Patterns) พร้อมทั้งปฏิบัติการเขียนชุดทดสอบอัตโนมัติ (Automated Unit Tests) และการวิเคราะห์โค้ดด้วยเครื่องมือทางสถิติต่างๆ ได้จริง
3. สามารถบูรณาการและใช้งานเครื่องมือ Generative AI ในกระบวนการปฏิบัติงานจริง มีทักษะภาคปฏิบัติในการออกคำสั่ง (Prompting Engineering) ตรวจสอบ แก้ไข และ refactor โค้ดที่สร้างจาก AI ให้สอดคล้องกับข้อกำหนดทางวิศวกรรมได้อย่างปลอดภัยและแม่นยำ
4. มีความชำนาญในการจัดทำเอกสารและการนำเสนอระบบงาน สามารถปฏิบัติการจัดทำแผนภาพสถาปัตยกรรมระบบ (UML/Architecture Diagrams) เอกสารข้อกำหนดความต้องการ และการสาธิตการทำงานของซอฟต์แวร์ (System Demo) ได้อย่างเป็นระบบ
1. การสาธิตการปฏิบัติจริงโดยผู้สอน ผู้สอนสาธิตขั้นตอนการใช้งานเครื่องมือ กระบวนการเขียนโค้ด การทำ Code Review และการใช้เครื่องมือ AI ในสถานการณ์จริง เพื่อให้นักศึกษาเห็นรูปแบบการปฏิบัติที่ถูกต้อง
2. ปฏิบัติการในห้องเรียนและห้องปฏิบัติการคอมพิวเตอร์ จัดกิจกรรมฝึกปฏิบัติรายสัปดาห์ ให้นักศึกษาได้ลงมือทำจริง (Learning by Doing) กับโจทย์ที่จำลองมาจากสถานการณ์ในอุตสาหกรรมซอฟต์แวร์
3. การพัฒนาโครงงานระยะยาว มอบหมายให้พัฒนาระบบซอฟต์แวร์ผ่านรอบการทำงาน (Sprints) เพื่อฝึกฝนทักษะการปฏิบัติงานจริงอย่างต่อเนื่องตลอดภาคการศึกษา
4. การให้คำปรึกษาและแก้ไขปัญหาร่วมกัน สนับสนุนการทำงานร่วมกันผ่านเทคนิคจับคู่เขียนโค้ด เพื่อถ่ายทอดทักษะความชำนาญและแก้ไขข้อผิดพลาดทางเทคนิคระหว่างปฏิบัติงาน
2. ปฏิบัติการในห้องเรียนและห้องปฏิบัติการคอมพิวเตอร์ จัดกิจกรรมฝึกปฏิบัติรายสัปดาห์ ให้นักศึกษาได้ลงมือทำจริง (Learning by Doing) กับโจทย์ที่จำลองมาจากสถานการณ์ในอุตสาหกรรมซอฟต์แวร์
3. การพัฒนาโครงงานระยะยาว มอบหมายให้พัฒนาระบบซอฟต์แวร์ผ่านรอบการทำงาน (Sprints) เพื่อฝึกฝนทักษะการปฏิบัติงานจริงอย่างต่อเนื่องตลอดภาคการศึกษา
4. การให้คำปรึกษาและแก้ไขปัญหาร่วมกัน สนับสนุนการทำงานร่วมกันผ่านเทคนิคจับคู่เขียนโค้ด เพื่อถ่ายทอดทักษะความชำนาญและแก้ไขข้อผิดพลาดทางเทคนิคระหว่างปฏิบัติงาน
1. การประเมินจากชิ้นงานโค้ดและระบบซอฟต์แวร์ที่ใช้งานได้จริง ตรวจสอบความถูกต้องของซอฟต์แวร์ โครงสร้างโค้ด (Source Code Quality) และผลลัพธ์การทำงานของระบบที่พัฒนาขึ้นตามโจทย์ที่กำหนด
2. การประเมินทักษะผ่านร่องรอยการปฏิบัติงานดิจิทัล ประเมินทักษะการใช้เครื่องมือผ่านประวัติการใช้งานจริง เช่น ตรวจสอบ Commit History ใน Git, การจัดการ Issue บน Kanban Board และหลักฐานการทำ Test Automation
3. การประเมินผ่านการสอบปฏิบัติและทดสอบการเขียนโค้ด ทดสอบทักษะความชำนาญรายบุคคลผ่านโจทย์ปฏิบัติการจำกัดเวลา เพื่อวัดความสามารถในการประยุกต์ใช้เครื่องมือและแก้ไขปัญหาหน้างาน
4. การประเมินคุณภาพเอกสารทางวิศวกรรมและเดโมระบบ ตรวจสอบความสมบูรณ์ของแผนภาพสถาปัตยกรรม คู่มือการใช้งาน และทักษะการสาธิตการทำงานของซอฟต์แวร์ต่อหน้าผู้ประเมิน
2. การประเมินทักษะผ่านร่องรอยการปฏิบัติงานดิจิทัล ประเมินทักษะการใช้เครื่องมือผ่านประวัติการใช้งานจริง เช่น ตรวจสอบ Commit History ใน Git, การจัดการ Issue บน Kanban Board และหลักฐานการทำ Test Automation
3. การประเมินผ่านการสอบปฏิบัติและทดสอบการเขียนโค้ด ทดสอบทักษะความชำนาญรายบุคคลผ่านโจทย์ปฏิบัติการจำกัดเวลา เพื่อวัดความสามารถในการประยุกต์ใช้เครื่องมือและแก้ไขปัญหาหน้างาน
4. การประเมินคุณภาพเอกสารทางวิศวกรรมและเดโมระบบ ตรวจสอบความสมบูรณ์ของแผนภาพสถาปัตยกรรม คู่มือการใช้งาน และทักษะการสาธิตการทำงานของซอฟต์แวร์ต่อหน้าผู้ประเมิน
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
| กลุ่มวิชา | 1.คุณธรรมจริยธรรม | 2.ความรู้ | 3.ทักษะทางปัญญา | 4.ทักษะความสัมพันธ์ระหว่างบุคลและความรับผิดชอบ | 5. ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และการใช้เทคโนโลยีสารสนเทศ | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ลำดับ | รหัสวิชา | ชื่อวิชา | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 |
| 1 | BSCCS304 | วิศวกรรมซอฟต์แวร์ | |||||||||||||||||||||||||||||
| กิจกรรมที่ | ผลการเรียนรู้ * | วิธีการประเมินผลนักศึกษา | สัปดาห์ที่ประเมิน | สัดส่วนของการประเมินผล |
|---|---|---|---|---|
| 1 | 1. คุณธรรมและจริยธรรม 2. ความรู้ 3. ทักษะทางปัญญา 6. ทักษะปฏิบัติ | การเข้าชั้นเรียน การส่งรายงานตรงเวลา การแสดงความคิดเห็นในชั้นเรียน | 1-15 | 10% |
| 2 | 2.ทักษะทางปัญญา 4. ทักษะความสัมพันธ์ระหว่างบุคคลและความรับผิดชอบ | การมีส่วนร่วมกิจกรรมในชั้นเรียน และการทำแบบฝึกหัด | ทุกสัปดาห์ | 10% |
| 3 | 2. ความรู้ 3. ทักษะทางปัญญา 5. ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และการใช้เทคโนโลยีสารสนเทศ 6. ทักษะปฏิบัติ | การทดสอบย่อย ภาคทฤษฎี การทดสอบย่อย ภาคปฏิบัติ | 4, 7, 10, 13 | 20% |
| 4 | 2. ความรู้ 3. ทักษะทางปัญญา | การสอบกลางภาค | 8 | 20% |
| 5 | 4. ทักษะความสัมพันธ์ระหว่างบุคคลและความรับผิดชอบ 5. ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และการใช้เทคโนโลยีสารสนเทศ | การนำเสนองาน/การรายงาน | 14 | 20% |
| 6 | 2. ความรู้ 3. ทักษะทางปัญญา 5. ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และการใช้เทคโนโลยีสารสนเทศ | การสอบปลายภาค | 16 | 20% |
1) หนังสือบังคับ
1.1.ISO/IEC. (2020). ISO/IEC 29110-4-1: Systems and software engineering — Lifecycle profiles for Very Small Entities (VSEs) — Management and engineering guide: Basic profile. International Organization for Standardization
1.2 ธนาวัฒน์ ศิริวรางกูร. (2565). วิศวกรรมซอฟต์แวร์: แนวคิดและการประยุกต์ใช้. กรุงเทพฯ: สำนักพิมพ์มหาวิทยาลัยเกษตรศาสตร์.
1.3. Bass, L., Clements, P., & Kazman, R. (2021). Software architecture in practice (4th ed.). Addison-Wesley Professional.
1.4. Ford, N., Richards, M., Sadalage, P., & Dehghani, Z. (2021). Software architecture: The hard parts: Modern trade-off analyses for distributed architectures. O'Reilly Media.
1.5. Newman, S. (2021). Building microservices: Designing fine-grained systems (2nd ed.). O'Reilly Media.
1.6. Richards, M., & Ford, N. (2020). Fundamentals of software architecture: An engineering approach. O'Reilly Media.
2) หนังสือเพิ่มเติม
2.1 ThaiDev.org. (2566). คู่มือ Domain-Driven Design ฉบับนักพัฒนาไทย. กรุงเทพฯ: สำนักพิมพ์ ThaiDev.
2.2 Robert C. Martin. (2564). เขียนโค้ดให้ดี: Clean Code ฉบับภาษาไทย (วีรพงศ์ พลนิกรกิจ, ผู้แปล). กรุงเทพฯ: โปรวิชั่น. (ต้นฉบับพิมพ์ครั้งแรกในปี 2008)
2.3 IEEE Computer Society. (2021). SWEBOK: Guide to the software engineering body of knowledge (Version 3.0). IEEE Press.
2.4 ISO/IEC. (2020). ISO/IEC 29110-4-1: Systems and software engineering — Lifecycle profiles for Very Small Entities (VSEs) — Management and engineering guide: Basic profile. International Organization for Standardization
1.1.ISO/IEC. (2020). ISO/IEC 29110-4-1: Systems and software engineering — Lifecycle profiles for Very Small Entities (VSEs) — Management and engineering guide: Basic profile. International Organization for Standardization
1.2 ธนาวัฒน์ ศิริวรางกูร. (2565). วิศวกรรมซอฟต์แวร์: แนวคิดและการประยุกต์ใช้. กรุงเทพฯ: สำนักพิมพ์มหาวิทยาลัยเกษตรศาสตร์.
1.3. Bass, L., Clements, P., & Kazman, R. (2021). Software architecture in practice (4th ed.). Addison-Wesley Professional.
1.4. Ford, N., Richards, M., Sadalage, P., & Dehghani, Z. (2021). Software architecture: The hard parts: Modern trade-off analyses for distributed architectures. O'Reilly Media.
1.5. Newman, S. (2021). Building microservices: Designing fine-grained systems (2nd ed.). O'Reilly Media.
1.6. Richards, M., & Ford, N. (2020). Fundamentals of software architecture: An engineering approach. O'Reilly Media.
2) หนังสือเพิ่มเติม
2.1 ThaiDev.org. (2566). คู่มือ Domain-Driven Design ฉบับนักพัฒนาไทย. กรุงเทพฯ: สำนักพิมพ์ ThaiDev.
2.2 Robert C. Martin. (2564). เขียนโค้ดให้ดี: Clean Code ฉบับภาษาไทย (วีรพงศ์ พลนิกรกิจ, ผู้แปล). กรุงเทพฯ: โปรวิชั่น. (ต้นฉบับพิมพ์ครั้งแรกในปี 2008)
2.3 IEEE Computer Society. (2021). SWEBOK: Guide to the software engineering body of knowledge (Version 3.0). IEEE Press.
2.4 ISO/IEC. (2020). ISO/IEC 29110-4-1: Systems and software engineering — Lifecycle profiles for Very Small Entities (VSEs) — Management and engineering guide: Basic profile. International Organization for Standardization
1. ACM/IEEE SE2014 (Software Engineering Curriculum Guidelines)
2. SWEBOK (Guide to the Software Engineering Body of Knowledge)
3. Agile Manifesto & Principles
2. SWEBOK (Guide to the Software Engineering Body of Knowledge)
3. Agile Manifesto & Principles
เว็บไซด์ต่างๆ โดยใช้ คำสำคัญ “วิศวกรรมซอฟต์แวร์” และคำสำคัญประจำบท ตามเนื้อหาของแต่ละบท เพื่อใช้ในการค้นหา
1. การประเมินผู้สอนและรายวิชาผ่านระบบประเมินออนไลน์ของมหาวิทยาลัย (End-of-Course Evaluation) ในช่วงท้ายภาคการศึกษา ทั้งในส่วนของเนื้อหา สื่อการสอน และวิธีการจัดการเรียนรู้
2 การเปิดรับข้อเสนอแนะและความคิดเห็นจากนักศึกษาผ่านช่องทางระหว่างภาคการศึกษา (Continuous Feedback) เช่น การพูดคุยสะท้อนความรู้สึกหลังคาบเรียน หรือการประเมินความเข้าใจกลางภาค
3 การประเมินผ่านกระบวนการสะท้อนคิด (Student Reflection) ในรายงานโครงงานกลุ่ม เพื่อรับฟังมุมมองของนักศึกษาต่อความคุ้มค่าและความยากง่ายของเนื้อหาและแบบฝึกหัด
2 การเปิดรับข้อเสนอแนะและความคิดเห็นจากนักศึกษาผ่านช่องทางระหว่างภาคการศึกษา (Continuous Feedback) เช่น การพูดคุยสะท้อนความรู้สึกหลังคาบเรียน หรือการประเมินความเข้าใจกลางภาค
3 การประเมินผ่านกระบวนการสะท้อนคิด (Student Reflection) ในรายงานโครงงานกลุ่ม เพื่อรับฟังมุมมองของนักศึกษาต่อความคุ้มค่าและความยากง่ายของเนื้อหาและแบบฝึกหัด
1. ประเมินจากผลการประเมินการสอนของนักศึกษา ทั้งด้านเทคนิคการถ่ายทอด การบริหารเวลา และความเหมาะสมของสื่อการสอน
2. ประเมินจากสถิติและผลการเรียนรู้ของนักศึกษา เพื่อวิเคราะห์ว่าสัดส่วนคะแนนและการกระจายตัวของเกรดสะท้อนถึงประสิทธิภาพการสอนหรือไม่
3 การประเมินตนเอง (Self-Assessment) และการแลกเปลี่ยนเรียนรู้การสอนร่วมกับคณาจารย์ในสาขาวิชา (Peer Observation / Faculty Feedback)
2. ประเมินจากสถิติและผลการเรียนรู้ของนักศึกษา เพื่อวิเคราะห์ว่าสัดส่วนคะแนนและการกระจายตัวของเกรดสะท้อนถึงประสิทธิภาพการสอนหรือไม่
3 การประเมินตนเอง (Self-Assessment) และการแลกเปลี่ยนเรียนรู้การสอนร่วมกับคณาจารย์ในสาขาวิชา (Peer Observation / Faculty Feedback)
1. นำผลการประเมินการสอน ผลการเรียน และข้อเสนอแนะจากนักศึกษาในปีก่อนหน้า มาวิเคราะห์เพื่อปรับปรุงแผนการสอน เนื้อหาในหนังสือ และสื่อการเรียนรู้ให้ทันสมัยอยู่เสมอ
2. จัดการประชุมเชิงปฏิบัติการ (Workshop) หรือการประชุมร่วมกับคณาจารย์ในหลักสูตร/เขตพื้นที่ เพื่อทบทวนและพัฒนาแนวทางการจัดการเรียนรู้เชิงรุก (Active Learning) ให้สอดคล้องกับบริบทเทคโนโลยีที่เปลี่ยนแปลง
3. ปรับปรุงรูปแบบการบ้าน แบบฝึกหัด หรือโจทย์โครงงาน ให้มีความเหมาะสมกับระดับศักยภาพของผู้เรียนและสอดคล้องกับอุตสาหกรรมซอฟต์แวร์ปัจจุบัน (เช่น การประยุกต์ใช้ Gen-AI อย่างถูกต้อง)
2. จัดการประชุมเชิงปฏิบัติการ (Workshop) หรือการประชุมร่วมกับคณาจารย์ในหลักสูตร/เขตพื้นที่ เพื่อทบทวนและพัฒนาแนวทางการจัดการเรียนรู้เชิงรุก (Active Learning) ให้สอดคล้องกับบริบทเทคโนโลยีที่เปลี่ยนแปลง
3. ปรับปรุงรูปแบบการบ้าน แบบฝึกหัด หรือโจทย์โครงงาน ให้มีความเหมาะสมกับระดับศักยภาพของผู้เรียนและสอดคล้องกับอุตสาหกรรมซอฟต์แวร์ปัจจุบัน (เช่น การประยุกต์ใช้ Gen-AI อย่างถูกต้อง)
1. แต่งตั้งคณะกรรมการทวนสอบภายในสาขาวิชา เพื่อสุ่มตรวจผลงาน คะแนนสอบ แบบฝึกหัด และเกณฑ์การให้คะแนน (Rubrics) ของนักศึกษาในระดับคะแนนต่างๆ (ดีเยี่ยม, ปานกลาง, ต้องปรับปรุง)
2. ตรวจสอบความสอดคล้องระหว่างข้อสอบ แบบฝึกหัด กับผลการเรียนรู้ที่คาดหวังของรายวิชา (CLOs)
3. เปรียบเทียบผลสัมฤทธิ์ทางการเรียน (Grades Distribution) ย้อนหลัง เพื่อรักษามาตรฐานการวัดและประเมินผลให้อยู่ในระดับสากล
2. ตรวจสอบความสอดคล้องระหว่างข้อสอบ แบบฝึกหัด กับผลการเรียนรู้ที่คาดหวังของรายวิชา (CLOs)
3. เปรียบเทียบผลสัมฤทธิ์ทางการเรียน (Grades Distribution) ย้อนหลัง เพื่อรักษามาตรฐานการวัดและประเมินผลให้อยู่ในระดับสากล
1. นำผลการประเมินระหว่างภาคการศึกษา (Formative Feedback) มาปรับปรุงเนื้อหาหรือวิธีการสอนในสัปดาห์ถัดไปทันที เพื่อแก้ไขจุดที่นักศึกษายังมีความเข้าใจคลาดเคลื่อน
2. เมื่อสิ้นสุดภาคการศึกษา นำผลสรุปจากการประเมินทั้งหมดมาจัดทำรายงานผลการดำเนินการรายวิชา (มคอ. 5) และนำข้อค้นพบไปวางแผนปรับปรุงหลักสูตร เอกสารประกอบการสอน และแผนการสอนสำหรับใช้ในปีการศึกษาถัดไป
2. เมื่อสิ้นสุดภาคการศึกษา นำผลสรุปจากการประเมินทั้งหมดมาจัดทำรายงานผลการดำเนินการรายวิชา (มคอ. 5) และนำข้อค้นพบไปวางแผนปรับปรุงหลักสูตร เอกสารประกอบการสอน และแผนการสอนสำหรับใช้ในปีการศึกษาถัดไป
