การเขียนโปรแกรมสำหรับวิศวกรคอมพิวเตอร์

Computer Programming for Computer Engineer

1.1 ศึกษาและฝึกปฏิบัติเกี่ยวกับแนวคิดการเปลี่ยนผ่านจากโปรแกรมเชิงโครงสร้างไปยังการโปรแกรมเชิงวัตถุ 1.2 ทำความเข้าใจรูปแบบการโปรแกรมเชิงลึก การใช้งานเครื่องมือเพื่อสร้างโปรแกรมเชิงวัตถุ 1.3 เรียนรู้ภาษาที่ใช้เขียนโปรแกรมในปัจจุบัน เครื่องมือที่ใช้ในการพัฒนาซอฟต์แวร์ ตลอดจนระบบควบคุมเวอร์ชันโปรแกรม 
การพัฒนาและปรับปรุงรายวิชาในครั้งนี้ได้พิจารณาให้สอดคล้องกับองค์ความรู้ของหลักสูตร เทคโนโลยีและนวัตกรรมใหม่ สภาพการศึกษาของชาติและภาคอุตสาหกรรม และปรับปรุงรายวิชาให้สอดคล้องกับปรัชญาของมหาวิทยาลัยที่ให้เป็นบัณฑิตนักปฏิบัติและเป็นผู้ใช้เครื่องมือทางด้านเทคโนโลยีต่าง ๆ โดยคาดว่าผลที่ได้รับจะส่งผลช่วยให้การจัดการศึกษาได้พัฒนานักศึกษาที่มีคุณภาพ และมีประสิทธิภาพตอบสนองความต้องการของตลาดแรงงาน เป็นกำลังสำคัญในการพัฒนาชุมชนและสังคม
ศึกษาและฝึกปฏิบัติการเกี่ยวกับหลักการเขียนโปรแกรมเชิงลึกเกี่ยวกับ พอยน์เตอร์ และอาเรย์ การจองหน่วยความจ า ไฟล์อินพุต-เอาต์พุต ฟังก์ชันเรียกตัวเอง การเขียน และออกแบบโปรแกรมเชิงวัตถุ การซ่อนข้อมูล การสืบทอด การพ้องรูป คลาส นามธรรม การเขียนโปรแกรมแบบหลายเทรด การพัฒนาส่วนติดต่อกับผู้ใช้ การ ทดสอบซอฟต์แวร์ เครื่องมือที่ใช้ในการพัฒนาซอฟต์แวร์ ระบบควบคุมเวอร์ชัน Study and practice of advanced programming concepts on pointers and arrays, memory allocation, file I/O, recursive function, object-oriented programming and design, encapsulation, inheritance, polymorphism, abstract class, multithreaded programming, graphical user interface, software testing, software development tools, version control systems.
อาจารย์จัดเวลาให้คำปรึกษาเป็นรายบุคคล หรือรายกลุ่มตามความต้องการ 2 ชั่วโมง/สัปดาห์ (เฉพาะรายที่ต้องการ)
พัฒนาผู้เรียนให้มีความรับผิดชอบ มีวินัย มีจรรยาบรรณวิชาชีพ โดยมีคุณธรรม จริยธรรมตามคุณสมบัติหลักสูตร ดังนี้
1.1.1 เข้าใจและซาบซึ้งในวัฒนธรรมไทย ตระหนักในคุณค่าของระบบคุณธรรม จริยธรรม เสียสละ และ ซื่อสัตย์สุจริต
1.1.2 มีวินัย ตรงต่อเวลา รับผิดชอบต่อตนเองและสังคม เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม
1.1.3 มีภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นหมู่คณะ สามารถแก้ไขข้อขัดแย้งตามลำดับความสำคัญ เคารพสิทธิและรับฟังความคิดเห็นของผู้อื่น รวมทั้งเคารพในคุณค่าและศักดิ์ศรีของความเป็นมนุษย์
1.1.4 สามารถวิเคราะห์และประเมินผลกระทบจากการใช้ความรู้ทางวิศวกรรมต่อบุคคล องค์กร สังคม และสิ่งแวดล้อม
1.1.5 มีจรรยาบรรณทางวิชาการและวิชาชีพ และมีความรับผิดชอบในฐานะผู้ประกอบวิชาชีพ รวมถึงเข้าใจถึงบริบททางสังคมของวิชาชีพวิศวกรรมในแต่ละสาขา ตั้งแต่อดีตจนถึงปัจจุบัน
1.2.1 บรรยายพร้อมยกตัวอย่างกรณีศึกษา เกี่ยวกับการเขียนโปรแกรมด้วยภาษาต่าง ๆ
1.2.2 อภิปรายกลุ่ม
1.2.3 กำหนดให้นักศึกษาหาตัวอย่างที่เกี่ยวข้อง
1.2.4 กำหนดให้มีวัฒนธรรมองค์กร เพื่อเป็นการปลูกฝังให้นักศึกษามีระเบียบวินัย โดยเน้นการเข้าชั้นเรียนให้ตรงเวลาตลอดจนการแต่งกายที่เป็นไปตามระเบียบของมหาวิทยาลัย นักศึกษาต้องมีความรับผิดชอบโดยในการทำงานกลุ่มนั้นต้องฝึกให้รู้หน้าที่ของการเป็นผู้นำกลุ่มและการเป็นสมาชิกกลุ่ม มีความซื่อสัตย์โดยต้องไม่กระทำการทุจริตในการสอบหรือลอกการบ้านของผู้อื่น
1.3.1 ประเมินจากการตรงเวลาของนักศึกษาในภาพเข้าชั้นเรียน การส่งงานตามกำหนดระยะเวลาที่มอบหมายและการร่วมกิจกรรม
1.3.2 ประเมินจากการมีวินัยและพร้อมเพรียงของนักศึกษาในการเข้าร่วมกิจกรรมเสริมหลักสูตร
1.3.3 ปริมาณการกระทำทุจริตในการสอบ
1.3.4 ประเมินจากความรับผิดชอบในหน้าที่ที่ได้รับมอบหมาย
นักศึกษาต้องมีความรู้ ความเข้าใจเกี่ยวกับหลักการเขียนโปรแกรมเชิงลึกเกี่ยวกับ พอยน์เตอร์ และอาเรย์ การจองหน่วยความจ า ไฟล์อินพุต-เอาต์พุต ฟังก์ชันเรียกตัวเอง การเขียน และออกแบบโปรแกรมเชิงวัตถุ การซ่อนข้อมูล การสืบทอด การพ้องรูป คลาส นามธรรม การเขียนโปรแกรมแบบหลายเทรด การพัฒนาส่วนติดต่อกับผู้ใช้ การ ทดสอบซอฟต์แวร์ เครื่องมือที่ใช้ในการพัฒนาซอฟต์แวร์ ระบบควบคุมเวอร์ชัน
บรรยาย อภิปราย การทำงานกลุ่ม การนำเสนอรายงาน การวิเคราะห์กรณีศึกษา และมอบหมายให้ค้นหาบทความ ข้อมูลที่เกี่ยวข้อง โดยนำมาสรุปและนำเสนอ การศึกษาโดยใช้ปัญหา และโครงงาน Problem – based Learning และเน้นผู้เรียนเป็นสำคัญ
2.3.1 ทดสอบย่อย สอบกลางภาค สอบปลายภาค ด้วยข้อสอบที่เน้นการวัดหลักการและทฤษฎี
2.3.2 ประเมินจากการนำเสนอผลการค้นคว้าข้อมูล กรณีศึกษา หรือโจทย์จาก Problem – based Learning
2.3.3 ทดสอบภาคปฏิบัติ โดยเน้นการคิดวิเคราะห์
3.1.1 มีความคิดอย่างมีวิจารณญาณที่ดี
3.1.2 สามารถรวบรวม ศึกษา วิเคราะห์ และ สรุปประเด็นปัญหาและความต้องการ
3.1.3 สามารถคิด วิเคราะห์ และแก้ไขปัญหาด้านวิศวกรรมได้อย่างมีระบบรวมถึงการใช้ข้อมูลประกอบการตัดสินใจในการทำงานได้อย่างมีประสิทธิภาพ
3.1.4 มีจินตนาการและความยืดหยุ่นในการปรับใช้องค์ความรู้ที่เกี่ยวข้องอย่างเหมาะสม ในการพัฒนานวัตกรรมหรือต่อยอดองค์ความรู้จากเดิมได้อย่างสร้างสรรค์
3.1.5 สามารถสืบค้นข้อมูล และแสวงหาความรู้เพิ่มเติมได้ด้วยตนเอง เพื่อการเรียนรู้ตลอดชีวิต และทันต่อการเปลี่ยนแปลงทางองค์ความรู้และเทคโนโลยีใหม่ ๆ
3.2.1 บรรยาย อภิปราย การมอบงานให้นักศึกษาทำรายงานโครงงานพิเศษที่ให้วิเคราะห์และแก้ไขปัญหา
3.2.2 อภิปรายกลุ่ม
3.3.1 สอบกลางภาคและปลายภาค โดยเน้นข้อสอบที่มีการวิเคราะห์สถานการณ์
3.3.2 วัดผลจากการประเมินโครงการ การนำเสนอผลงาน
3.3.3 สังเกตพฤติกรรมการแก้ไขปัญหา
4.1.1 สามารถสื่อสารกับกลุ่มคนที่หลากหลาย และสามารถสนทนาทั้งภาษาไทยและภาษาต่างประเทศได้อย่างมีประสิทธิภาพ สามารถใช้ความรู้ในสาขาวิชาชีพมาสื่อสารต่อสังคมได้ในประเด็นที่เหมาะสม
4.1.2 สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์เชิงสร้างสรรค์ทั้งส่วนตัวและส่วนรวม พร้อมทั้งแสดงจุดยืนอย่างพอเหมาะทั้งของตนเองและของกลุ่ม รวมทั้งให้ความช่วยเหลือและอำนวยความสะดวกในการแก้ไขปัญหาสถานการณ์ต่าง ๆ
4.1.3 สามารถวางแผนและรับผิดชอบในการพัฒนาการเรียนรู้ทั้งของตนเอง และสอดคล้องกับทางวิชาชีพอย่างต่อเนื่อง
4.1.4 รู้จักบทบาท หน้าที่ และมีความรับผิดชอบในการทำงานตามที่มอบหมายทั้งงานบุคคลและงานกลุ่ม สามารถปรับตัวและทำงานร่วมกับผู้อื่นทั้งในฐานะผู้นำและผู้ตามได้อย่างมีประสิทธิภาพ สามารถวางตัวได้อย่างเหมาะสมกับความรับผิดชอบ
4.2.1 ปลูกฝังให้มีความรับผิดชอบต่อหน้าที่ที่ได้รับในงานกลุ่ม
4.2.2 ส่งเสริมให้นักศึกษากล้าแสดงออกและเสนอความคิดเห็นโดยการจัดอภิปรายและเสวนางานที่มอบหมายที่ให้ค้นคว้า
4.2.3 ใช้วิธีการสอนแบบเปิดโอกาสในการแสดงความคิดเห็น เพื่อฝึกการยอมรับความคิดเห็นของผู้อื่นด้วยเหตุผล
4.2.4 ส่งเสริมการเคารพสิทธิและการรับฟังความคิดเห็นของผู้อื่น
4.3.1 ประเมินตนเอง และเพื่อน ด้วยแบบฟอร์มที่กำหนด
4.3.2 ประเมินจากรายงานที่นำเสนอ พฤติกรรมการทำงานเป็นทีม
4.3.3 ประเมินจากรายงานการศึกษาด้วยตนเอง
5.1.1 มีทักษะในการสื่อสารข้อมูลทั้งทางการพูด การเขียน และการสื่อความหมายโดยใช้สัญลักษณ์
5.1.2 สามารถใช้เครื่องมือการคำนวณและเครื่องมือทางวิศวกรรม เพื่อประกอบวิชาชีพในสาขาวิศวกรรมที่เกี่ยวข้องได้
5.1.3 สามารถสืบค้น ศึกษา วิเคราะห์ และประยุกต์ใช้เทคโนโลยีเพื่อแก้ไขปัญหาอย่างเหมาะสม
5.2.1 มอบหมายงานให้ศึกษาค้นคว้าด้วยตนเอง โดยมีสถิติอ้างอิง จากแหล่งที่มาข้อมูลที่น่าเชื่อถือ
5.2.2 นำเสนอโดยรูปแบบและเทคโนโลยีที่เหมาะสม
5.3.1 ประเมินจากรายงาน และรูปแบบการนำเสนอด้วยสื่อเทคโนโลยี
5.3.2 ประเมินจากการมีส่วนร่วมในการอภิปรายและวิธีการอภิปราย
การทำงานในสถานประกอบการ หรือการประกอบอาชีพอิสระนั้นไม่ได้ใช้เพียงแค่หลักทฤษฎี แต่ส่วนใหญ่จะเน้นในด้านทักษะทางการปฏิบัติ การใช้ทักษะในการวางแผน การออกแบบ การทดสอบ และการปรับปรุงแก้ไข ซึ่งมีความสำคัญมากในการทำงาน อีกทั้งยังเป็นเครื่องมือที่จำเป็นยิ่งในการพัฒนาตนเองและความก้าวหน้าในตำแหน่งหน้าที่ของบัณฑิตวิศวกรรมคอมพิวเตอร์ ดังนั้น ในการเรียนการสอนจึงต้องให้ความสำคัญเน้นไปที่การสร้างทักษะการปฏิบัติงานทางด้านวิศวกรรมคอมพิวเตอร์ ดังข้อต่อไปนี้

มีทักษะในการบริหารจัดการในด้านเวลา เครื่องมือ อุปกรณ์และวิธีการได้อย่างมีประสิทธิภาพ มีทักษะในการปฏิบัติงานกลุ่ม มีการแบ่งหน้าที่ความรับผิดชอบ และมีความร่วมมือกันเป็นอย่างดี
จัดกิจกรรมการเรียนรู้ในรายวิชาต่างๆ ให้นักศึกษาได้ลงมือปฏิบัติจริง โดยใช้ความรู้จากวิชาต่างๆ ที่เรียนมา การวิเคราะห์เพื่อแก้ปัญหา เพื่อให้เกิดการพัฒนาการเรียนรู้ด้านทักษะพิสัย ดังข้อต่อไปนี้

สร้างทักษะในการปฏิบัติงาน สาธิตการปฏิบัติการโดยผู้เชี่ยวชาญ สนับสนุนการเข้าร่วมกิจกรรมกับหน่วยงานภายในและภายนอก จัดนิทรรศการแสดงผลงานของนักศึกษา สนับสนุนการทำโครงงาน สหกิจศึกษา/ฝึกงานทางวิศวกรรมในสถานประกอบการ
มีการประเมินพฤติกรรมการปฏิบัติงาน มีการใช้งานวิจัยของอาจารย์ประกอบการเรียนการสอน มีการประเมินผลการทำงานในภาคปฏิบัติ มีการประเมินโครงงานของนักศึกษา มีการประเมินนักศึกษาในวิชาสหกิจศึกษา/ฝึกงานทางวิศวกรรม
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
กลุ่มวิชา 1.คุณธรรม จริยธรรม 2.ความรู้ 3.ทักษะทางปัญญา 4.ทักษะความสัมพันธ์ระหว่างบุคคลและความรับผิดชอบ 5.ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และเทคโนโลยีสารสนเทศ 6.ทักษะพิสัย
ลำดับ รหัสวิชา ชื่อวิชา 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 3 4 1 2 1 2 3 4 5 6 1 2 3 4 1 2
1 ENGCE117 การเขียนโปรแกรมสำหรับวิศวกรคอมพิวเตอร์
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
1 สอบกลางภาค สอบกลางภาค 9 30%
2 สอบปลายภาค สอบปลายภาค 17 30%
3 คะแนนใบงานการเขียนโปรแกรมเชิงวัตถุ ที่มอบหมาย จากทักษะการเขียนโปรแกรม สรุปผลการทดลองในใบงาน ตลอดสัปดาห์ที่มีการเรียนการสอนใน Class เรียน 30%
4 การเข้าชั้นเรียน เช็คชื่อเข้าชั้นเรียน ตลอดสัปดาห์ที่มีการเรียนการสอนเข้า Class เรียน 10%
1.1 Introduction to Programming Using java An Object Oriented Appreach by DAVID M.ARNOW SCOTT DEXTER GERALD WEISS
1.2 UML for Java Programmers by Robert Cecil Martin, Prentice Hall, Englewood Cliffs, New Jersey 07632
1.3 The Essence of Object Oriented Programming with Java and UML by Bruce E. Wampler, Ph.D.
1.4 Object-Oriented Programming School of Computer Science University of KwaZulu-Natal FebruRY 5, 2007
1.5 Java Programming volume I, ดร.วีระศักดิ์ ซึงถาวร, ซีเอ็ดยูเคชั่น
2.1 เครื่องฉายโปรเจ็คเตอร์ (Projector) เครื่องขยายเสียง และคอมพิวเตอร์ติดตั้งโปรแกรมต่างๆดังนี้
2.2 ระบบปฏิบัติการ Windows
2.3 โปรแกรม Netbean ภาษา Java และโปรโตคอลซับเวอร์ชัน
สื่อประกอบการสอน ใบงานประกอบการทำงาน https://moodle.rmutl.ac.th/course/index.php?
เข้าคลาสเรียนแบบ Online ms-teams
การประเมินประสิทธิผลในรายวิชาทำได้โดยแบบประเมินเนื้อหาวิชาและประเมินผู้สอน ใช้รูปแบบการประเมินออนไลน์ของมหาวิทยาลัยที่ออกแบบสำหรับการประเมินการสอนของอาจารย์ผู้สอนขอเสนอแนะผ่านเว็ปบอร์ด หรือระบบ e-learning ที่อาจารย์ผู้สอนได้จัดทำเพื่อเป็นช่องทางในการสื่อสารกับนักศึกษา
ในการเก็บข้อมูลเพื่อประเมินการสอน ทำได้โดยการประเมินโดยคณาจารย์ในสาขาวิชาฯ ผลการสอบของนักศึกษา ผลการประเมินเนื้อหาวิชา ประเมินผู้สอนที่ทำโดยนักศึกษาผ่านทางระบบคอมพิวเตอร์ของมหาวิทยาลัยฯ
หลังจากผลการประเมินการสอนในข้อ 2 สามารถนำมาปรับปรุงการสอน เช่น  การทำงานเดี่ยว/คู่/กลุ่ม เพื่อกระตุ้นให้เกิดความตั้งใจเรียน การปรับเนื้อหาในบางหัวข้อให้เหมาะสมกับการนำไปใช้ นอกจากนี้อาจมีการวิจัยในชั้นเรียน การประชุมเชิงปฏิบัติการเพื่อพัฒนาการเรียนการสอน เป็นต้น
กระบวนการที่ใช้ในการทวนสอบมาตรฐานผลสัมฤทธิ์ของนักศึกษาตามมาตรฐานผลการเรียนรู้ของรายวิชา ทำได้โดย การทวนสอบจากคะแนนข้อสอบ การตั้งคณะกรรมการในสาขาวิชาฯ โดยมีการประเมินข้อสอบและการฝึกคณาจารย์ในการให้คะแนนการเขียนหรือออกแบบอัลกอริทึม เพื่อให้มีความเหมาะสมของการให้คะแนน
จากผลการประเมินการสอนโดยนักศึกษาและโดยคณาจารย์ของสาขาวิชาฯ การรายงานรายวิชาของอาจารย์รับผิดชอบรายวิชาและอาจารย์ผู้สอน และการทวนสอบผลสัมฤทธิ์ประสิทธิผลของรายวิชา อาจารย์ผู้รับผิดชอบรายวิชาและอาจารย์ผู้สอนเป็นผู้รับผิดชอบในการทบทวนเนื้อหาวิชาที่สอนและกลยุทธ์การสอนที่ใช้ และนำเสนอแนวทางในการปรับปรุงการเรียนการสอนและพัฒนารายละเอียดวิชา เพื่อนำเข้าที่ประชุมอาจารย์ประจำหลักสูตร ร่วมพิจารณาให้ความเห็นและข้อเสนอแนะเพื่อนำมาปรับปรุงรายวิชาสำหรับการใช้รอบปีการศึกษาถัดไป