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

Computer Programming for Computer Engineer

เพื่อให้ นศ. ได้มีความรู้ที่จะประกอบวิชาชีพด้านวิศวกรรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ โดยมีคุณสมบัติสนองความต้องการในตลาดแรงงานและพัฒนา อุตสาหกรรมของประเทศ มุ่งเน้นให้ นศ. สามารถปฏิบัติเกี่ยวกับหลักการเขียนโปรแกรมเชิงลึก เกี่ยวกับ การเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมแบบ multitread และรวมไปถึงการออกแบบ UI  การทดสอบซอฟต์แวร์ รวมไปถึงสามารถบริหารจัดการควบคุมเวอร์ชันซอฟต์แวร์
1. เพื่อพัฒนาหลักสูตรโดยมีพื้นฐานจากหลักสูตร ในระดับสากล (ACM / IEEE)  ที่ทันสมัย
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.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  สัมภาษณ์ และสังเกตพฤติกรรม การแก้ไขปัญหา
(6) มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพด้านวิศวกรรมคอมพิวเตอร์ได้อย่างต่อเนื่อง
4.2.1   จัดกิจกรรมกลุ่มในการวิเคราะห์กรณีศึกษา
4.2.2   มีการมอบหมายงาน และให้ส่งตามกำหนดเวลา
4.3.1  ประเมินจากคุณภาพของงานที่มอบหมาย
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 สอนเขียนโปรแกรมด้วยภาษาซี)