การเขียนโปรแกรมสำหรับวิศวกรคอมพิวเตอร์
Computer Programming for Computer Engineer
                                    เพื่อให้ นศ. ได้มีความรู้ที่จะประกอบวิชาชีพด้านวิศวกรรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ โดยมีคุณสมบัติสนองความต้องการในตลาดแรงงานและพัฒนา อุตสาหกรรมของประเทศ มุ่งเน้นให้ นศ. สามารถปฏิบัติเกี่ยวกับหลักการเขียนโปรแกรมเชิงลึก เกี่ยวกับ การเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมแบบ multitread และรวมไปถึงการออกแบบ UI  การทดสอบซอฟต์แวร์ รวมไปถึงสามารถบริหารจัดการควบคุมเวอร์ชันซอฟต์แวร์ 
                                
                            
                                    1. เพื่อพัฒนาหลักสูตรโดยมีพื้นฐานจากหลักสูตร ในระดับสากล (ACM / IEEE)  ที่ทันสมัย
2. เพื่อให้ตรงกับความเปลี่ยนแปลง ในความต้องการของผู้ประกอบการด้านวิศวกรรมคอมพิวเตอร์
                            2. เพื่อให้ตรงกับความเปลี่ยนแปลง ในความต้องการของผู้ประกอบการด้านวิศวกรรมคอมพิวเตอร์
                                    ศึกษาและฝึกปฏิบัติการเกี่ยวกับหลักการเขียนโปรแกรมเชิงลึกเกี่ยวกับ พอยน์เตอร์ และอาเรย์ การจองหน่วยความจำ ไฟล์อินพุต - เอาท์พุต ฟังก์ชันเรียกตัวเอง (recursive) การเขียนและออกแบบโปรแกรมเชิงวัตถุ การซ่อนข้อมูล การสืบทอด การพ้องรูป คลาสนามธรรม (abstract class) การเขียนโปรแกรมแบบหลายเทรด การพัฒนาส่วนติดต่อกับผู้ใช้ (Graphical User Interface)  การทดสอบซอฟต์แวร์ เครื่องมือที่ใช้ในการพัฒนาซอฟต์แวร์ ระบบควบคุมเวอร์ชัน 
                                
                            
                                    1 ชั่วโมง/สัปดาห์
ออนไลน์ หรือ ออนไซต์แล้วแต่สถานการณ์ 
                                
                            
                                        (2) มี1วินัย ตรงต่อเวลา และความรับผิดชอบต่อตนเอง วิชาชีพด้านวิศวกรรมคอมพิวเตอร์และสังคม 
                                    
                                    
                                 
                                        บรรยายหลักการเขียนโปรแกรม และสอนวิธีการเขียนโปรแกรมบนซอร์ฟแวร์ บรรยายพร้อมยกตัวอย่างกรณีศึกษา ให้นักศึกษาเห็นความสำคัญของรายวิชาเพื่อการประยุกต์ใช้งานทางด้านวิศวกรรมศาสตร์อย่างต่อเนื่อง อภิปรายกลุ่ม กำหนดให้นักศึกษาหาตัวอย่างที่เกี่ยวข้อง หรือกำหนดบทบาทสมมุติ 
                                    
                        
                                
                                        1.3.1   ประเมินจากวินัย และ พฤติกรรมการเข้าเรียนและการส่งงานที่ได้รับมอบหมายตาม                                  ขอบเขตให้ตรงเวลา
1.3.2   ประเมินผลจากคุณภาพของงานทีรับมอบหมาย และมีการอ้างอิงเอกสารที่ได้นำมาทำรายงาน อย่างถูกต้องและเหมาะสม
1.3.3   ปริมาณการกระทำทุจริตในการสอบ 
                                    
                                
                                        2.1.1 มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้อหาสาขาวิชาวิศวกรรมคอมพิวเตอร์
2.1.2 สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ ทักษะ และการใช้เครื่องมือทางคอมพิวเตอร์ที่เหมาะสมกับการแก้ไขปัญหา
                                    
                                2.1.2 สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ ทักษะ และการใช้เครื่องมือทางคอมพิวเตอร์ที่เหมาะสมกับการแก้ไขปัญหา
 
                                        2.2.1 บรรยายหลักการเขียนโปรแกรม และสอนวิธีการเขียนโปรแกรมบนซอร์ฟแวร์ (Online ตามสถานการณ์ระบาดของไวรัส Covid 2019) 2.2.2 บรรยายพร้อมยกตัวอย่างกรณีศึกษา ให้นักศึกษาเห็นความสำคัญของรายวิชาเพื่อการประยุกต์ใช้งานทางด้านวิศวกรรมศาสตร์อย่างต่อเนื่อง 2.2.3อภิปรายกลุ่ม
2.2.4 กำหนดให้นักศึกษาหาตัวอย่างที่เกี่ยวข้อง หรือกำหนดบทบาทสมมุติ 
                                    
                        
                                
                                        1.3.1   ประเมินจากวินัย และ พฤติกรรมการเข้าเรียนและการส่งงานที่ได้รับมอบหมายตาม ขอบเขตให้ตรงเวลา
1.3.2   ประเมินผลจากคุณภาพของงานทีรับมอบหมาย และมีการอ้างอิงเอกสารที่ได้นำมาทำรายงาน อย่างถูกต้องและเหมาะสม
1.3.3   ปริมาณการกระทำทุจริตในการสอบ 
                                    
                                
                                        (1) คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ 
                                    
                                    
                                 
                                        3.2.1  สอนการคิดอย่างเป็นระเบียบ โดยการยกตัวอย่างจากสภาพต่างๆ
3.2.2  วิเคราะห์ศึกษาการประยุกต์ใช้คอมพิวเตอร์ เพื่อการออกแบบและเขียนโปรแกรมคอมพิวเตอร์ โดยการนำทฤษฎีที่เหมาะสมมาใช้
3.2.3  การสะท้อนแนวคิดจากการประพฤติของนักศึกษา
3.2.4   การมอบให้นักศึกษาทำการวิเคราะห์และเขียนขั้นตอนวิธีการแก้ปัญหาทางคอมพิวเตอร์และปฎิบัติจริวด้วยการเขียนโปรแกรมคอมพิวเตอร์ 
                                    
                        
                                
                                        3.3.1  สอบย่อย สอบกลางภาคและปลายภาค โดยเน้นข้อสอบที่มีมีความเข้าใจ วิเคราะห์และการประยุกต์ใช้ทฤษฎี
3.3.2 วัดผลจากการนำเสนอผลงานตามที่ได้รับมอบหมาย
3.3.3 สัมภาษณ์ และสังเกตพฤติกรรม การแก้ไขปัญหา
                                3.3.2 วัดผลจากการนำเสนอผลงานตามที่ได้รับมอบหมาย
3.3.3 สัมภาษณ์ และสังเกตพฤติกรรม การแก้ไขปัญหา
                                        (6) มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพด้านวิศวกรรมคอมพิวเตอร์ได้อย่างต่อเนื่อง 
                                    
                                    
                                 
                                        4.2.1   จัดกิจกรรมกลุ่มในการวิเคราะห์กรณีศึกษา
4.2.2 มีการมอบหมายงาน และให้ส่งตามกำหนดเวลา
                        
                                4.2.2 มีการมอบหมายงาน และให้ส่งตามกำหนดเวลา
                                        4.3.1  ประเมินจากคุณภาพของงานที่มอบหมาย
4.3.2 ประเมินจากการนำเสนองานกลุ่ม
                                4.3.2 ประเมินจากการนำเสนองานกลุ่ม
                                        (1) มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์ 
                                    
                                    
                                 
                                        5.2.1  มอบหมายงานให้นักศึกษาค้นคว้าการณีศึกษาด้วยตนเองจากเว็บไซต์
5.2.2  อภิปรายในห้องเรียนตามเวลาและจังหวะที่เหมาะสมกับเนื้อหาแต่ละเรื่อง
5.2.3  นำเสนอโดยรูปแบบและเทคโนโลยีที่เหมาะสม 
                                    
                        
                                
                                        5.3.1  ประเมินจากคุณภาพของงานที่มอบหมาย
5.3.2  ประเมินจากการนำเสนองานกลุ่ม 
                                    
                                
                                        (1) มีทักษะในการบริหารจัดการในด้านเวลา เครื่องมือ อุปกรณ์และวิธีการได้อย่างมีประสิทธิภาพ 
                                    
                                    
                                 
                                        6.2.1   อธิบายและสาธิตการใช้อุปกรณ์ เครื่องมือในการพัฒนาโปรแกรมคอมพิวเตอร์และวิธีการให้เข้าใจและปฏิบัติถูกต้องตามหลักวาการ
6.2.2  มอบหมายให้ลงมือปฏิบัติทดลองตามกำหนดเวลา
6.2.3  ให้มีการแบ่งกลุ่มในการปฏิบัติงาน มีการแบ่งความรับผิดขอบกัน
6.2.4 นำเสนอโดยใช้รูปแบบโจทย์ปัญหาและโทคโนโลยีที่เหมาะสม เพื่อกระตุ้นให้นักศึกษาเกิดความสร้างสรรค์และลงมือเขียนโปรแกรมด้วยใจรัก 
                                    
                        
                                
                                         6.3.1   สังเกตพฤติกรรมในการปฏิบัติการใช้เครื่องมือ ในเรื่องเวลา วิธีการและผลงานที่ได้รับ การทำงานร่วมกัน
 6.3.2  พิจารณาผลการปฏิบัติการทดลอง รวมทั้งงานที่มอบหมาย
 6.3.3  สังเกตพฤติกรรมการเขียนโปรแรมและจดบันทึก
 6.3.4  พิจารณาผลการปฏบัติงานการเขียนโปรแกรม
 6.3.5  ให้คะแนนผลการปฏิบัติงานโปรแกรมต่างๆ โดยเปิดเผย 
                                    
                                | กิจกรรมที่ | ผลการเรียนรู้ * | วิธีการประเมินผลนักศึกษา | สัปดาห์ที่ประเมิน | สัดส่วนของการประเมินผล | 
|---|---|---|---|---|
| 1 | 1.1 – 1.5 3.1 – 3.5 | - สอบกลางภาค(Online หรือ Onsite ตามสถานการณ์ การระบาดของโรค Covid 2019) - สอบปลายภาค (Online หรือ Onsite ตามสถานการณ์ การระบาดของโรค Covid 2019) | 8 16 | 20% 25% | 
| 2 | 4.1 – 4.2 5.1 – 5.5 6.1 – 6.2 | - ทดสอบย่อย (Online หรือ Onsite ตามสถานการณ์ การระบาดของโรค Covid 2019) - การปฏิบัติงานตามที่มอบหมายรายบุคคล (Online หรือ Onsite ตามสถานการณ์ การระบาดของโรค Covid 2019) | ตลอดภาค การศึกษา | 45% | 
| 3 | 1.1 – 1.5 | -ความตรงต่อเวลา และซื้อสัตย์ในการทํางาน -การเข้าชั้นเรียน -การมีส่วนร่วม การอภิปราย เสนอความคิดเห็น ในชั้นเรียน | ตลอดภาค การศึกษา | 10% | 
                                    เอกสารประกอบการสอนวิชาการเขียนโปรแกรมคอมพิวเตอร์, 2559 - Lealy Anne Robertson, Simple Program Design (A Step-by-step Approach)  C&C Offset Printing, Hong Kong,  2006 - Robert Sedgewick, Algorithms in C  PART 1-4, Addison Wesley, 1998               - ดร. สุเทพ มาดารัศมี, ปรียากรทิพวัย, การเขียนโปรแกรมภาษา C, บริษัทสํานักพิมพ์ท๊อปจํากัด, 2550   - โอภาส เอี่ยวสิริวงศ์, การเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษา C, บริษัทซีเอ็ดยูชั่น จํากัด มหาชน,2552 
                                
                            
                                    - นิรุธ อํานวยศิลป์, คู่มือเขียนโปรแกรมด้วยภาษา C, บริษัท โปรวิชั่น จํากัด, 2546       - ธนัญชัย ตรีภาค, กรณีศึกษาการเขียนโปรแกรมด้วยภาษา C, บริษัทซีเอ็ดยูชั่น จํากัด มหาชน, 2555       - ผศ. สานนท์ เจริญฉาย, การเขียนโปรแกรมและอัลกอริทึมกรณีตัวอย่างภาษา C พิมพ์ครั้งที่ 8 , เชนพริ้นติ้ง, 2552 - ผศ. ดอนสัน ปงผาบ, ภาษาซีและ Arduino, สํานักพิมพ์ สสท, 2560 - โศรฎา แข็งการ, กนต์ธร ชํานิประศาสตร์, การใช้งาน matlab สําหรับงานทางวิศวกรรม, มหาวิทยาลัยเทคโนโลยี    สุรนารี, 2556  
                                
                            
                                    - http://www.ce.kmitl.ac.th/subject.php?action=view&SUBJECT_ID=129
- http://www.jk.rmutl.ac.th/ -https://www.arduino.cc/ -https://ch.mathworks.com/
-https://www.youtube.com/watchv=ZeMV0ZtixNc&list=PLpuOOb1LNswPrfGbihe4umjfmtAX8Ccwc&index=3 (SIPA สอนเขียนโปรแกรมด้วยภาษาซี) 
                                
                            