การเขียนโปรแกรมคอมพิวเตอร์ขั้นสูง

Advanced Computer Programming

เพื่อให้นักศึกษามีความเชี่ยวชาญเกี่ยวกับการเขียนโปรแกรมภาษาระดับสูง สามารถสร้างฟังก์ชัน จัดสรรหน่วยความจำด้วยพอยน์เตอร์ จัดการ ไฟล์ข้อมูล เข้าใจอัลกอริทึมเทคนิค และการเขียนโปรแกรมในการแก้ไขปัญหาทางคณิตศาสตร์
ปรับคำอธิบายวิชาให้ครอบคลุมและเติมเต็ม เพื่อให้นักศึกษามีความรู้พื้นฐาน เป็นการเตรียมความพร้อมด้านการเขียนโปรแกรมภาษาระดับสูง อัลกอริทึม นำความรู้ไปประยุกต์ใช้ในรายวิชาต่อไป ได้แก่ โครงสร้างข้อมูลและอัลกอริทึม ระบบปฏิบัติการ เป็นต้น
ศึกษาและปฏิบัติการเกี่ยวกับการทบทวนและออกแบบผังงานและเขียนโปรแกรมภาษาระดับสูง เน้นความเข้าในเกี่ยวกับฟังก์ชันพอยน์เตอร์ การจัดสรรหน่วยความจำแบบไดนามิค ประยุกต์ใช้พอยเตอร์ในการจัดการลิงค์ลิสต์ การจัดการไฟล์ข้อมูลพื้นฐาน อัลกอริทึมเทคนิค เช่น Divide and conquer, Greedy, Dynamic Algorithm Programming, Backtracking เป็นต้น รวมถึงการแก้ปัญหาเชิงคณิตศาสตร์ด้วยการเขียนโปรแกรมคอมพิวเตอร์
นักศึกษาต้องมีคุณธรรม จริยธรรมเพื่อให้สามารถดำเนินชีวิตร่วมกับผู้อื่นในสังคมอย่างราบรื่นและเป็นประโยชน์ต่อส่วนรวม
1.3. (◯) มีภาวะความเป็นผู้นำและผู้ติดตาม สามารถทำงานเป็นทีมและสามารถแก้ไขข้อขัดแย้งและลำดับความสำคัญ
1.6. [◯] สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคคลองค์กร และสังคม
1.7. [◯] มีจรรยาบรรณทางวิชาการและวิชาชีพ
ความรู้เกี่ยวกับสาขาวิชาที่ศึกษาเพื่อนำไปใช้ประกอบอาชีพและช่วยพัฒนาสังคม
2.1. (⚫) มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฏีที่สำคัญในเนื้อหาสาขาวิชาที่ศึกษา
2.2. [⚫] สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ ทักษะ และการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญหา
2.3. [⚫] สามารถวิเคราะห์ ออกแบบ ติดตั้ง ปรับปรุงและ/หรือประเมินระบบองค์ประกอบต่างๆ ของระบบคอมพิวเตอร์ให้ตรงตามข้อกำหนด
2.4. [⚫] สามารถติดตามความก้าวหน้าทางวิชาการและวิวัฒนาการคอมพิวเตอร์ รวมทั้งการนำไปประยุกต์
2.5. [◯] รู้ เข้าใจและสนใจพัฒนาความรู้ ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง
นักศึกษาต้องสามารถพัฒนาตนเองและประกอบวิชาชีพได้โดยพึ่งตนเองได้เมื่อจบการศึกษาแล้ว ดังนั้นนักศึกษาจำเป็นต้องได้รับการพัฒนาทักษะทางปัญญาไปพร้อมกับคุณธรรม จริยธรรม และความรู้ในสาขาวิชา
3.1. (⚫) คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ
3.2. [◯] สามารถสืบค้น ตีความ และประเมินสารสนเทศ เพื่อใช้ในการแก้ไขปัญหาอย่างสร้างสรรค์
3.3. [◯] สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ
3.4. [⚫] สามารถประยุกต์ความรู้และทักษะกับการแก้ปัญหาทางคอมพิวเตอร์ได้อย่างเหมาะสม
นักศึกษาต้องออกไปประกอบวิชาชีพซึ่งส่วนใหญ่ต้องเกี่ยวข้องกับคนที่ไม่รู้จักมาก่อน คนที่มาจากสถาบันอื่นๆ และคนที่จะมาเป็นผู้บังคับบัญชา หรือคนที่จะมาอยู่ใต้บังคับบัญชา ความสามารถที่จะปรับตัวให้เข้ากับกลุ่มคนต่างๆ เป็นเรื่องจำเป็นอย่างยิ่ง
4.2. (◯) สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานการณ์ต่างๆ ในกลุ่มทั้งในบทบาทของผู้นำ หรือในบทบาทของผู้ร่วมทีมทำงาน
4.4. [◯] มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม
4.6. [⚫] มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่อง
5.1. [◯] มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
ไม่มีข้อมูล
1.1. Cay S, Horstmann. Computer Concepts with C++ Essentials. USA: John Wiley & Sons, 1997.
1.2. Elaine Rich and Kevin Knight. Artificial Intelligence. 2nd ed, Singapore; McGraw-Hill, 1997.
1.3. Gilles Brassard and Paul Bratley. Fundamentals of Algorithmics. USA; Prentice-Hall, 1996.
1.4. Jeri R, Hanly, Elliot B. Koffman, and Joan C. Horvath. C Programming design for engineers USA; Addison-weslay, 1995.
1.5. Jeri R, Hanly, Elliot B. Koffman, Problem Solving and Program Design in C. 5th ed. USA; Pearson Addison-Wesley, 2007.
1.6. Robert Sedgewick, Algorithms in C. 3rd ed. USA; Addison-Wesley, 1998.
1.7. ธันวาศรีประโมง, การเขียนโปรแกรมภาษาซีสำหรับวิศวกรรม พิมพ์ครั้งที่ 4 กรุงเทพฯ: มหาวิทยาลัยเทคโนโลยีมหานคร, 2538.
1.8. วรวุฒิ เที่ยงธรรม และ รุ่งโรจน์ วนพฤกษาศิลป์, เรียนลัด Visual C++ 6.0 Visual Guide: นนทบุรี: ออฟเซทเพรส, 2542
2.1. มาตรฐานภาษา C และ C++ โดย ANSI, ISO และ IEC
2.2. มาตรฐานการจัดเก็บข้อมูลในคอมพิวเตอร์ ได้แก่ ASCII, IEEE-754
2.3. เว็บไซต์ช่วยเหลือของโปรแกรมแปลภาษา ได้แก่ MSDN, GNU C++
3.1. เว็บไซท์ประกอบการสอน ได้แก่ http://bit.ly/lungaen-slide
3.2. เว็บไซท์สืบค้น หรือสารานุกรม ได้แก่ Google, Wikipedia
จัดกิจกรรมในการรวบรวมแนวคิดและความเห็นจากนักศึกษาด้วยวิธีการดังนี้
1.1. การสนทนากลุ่มระหว่างผู้สอนและผู้เรียน
1.2. แบบประเมินผู้สอน และแบบประเมินรายวิชา
1.3. ข้อเสนอแนะผ่านเว็บบอร์ดที่อาจารย์ผู้เสนอได้จัดทำเป็นช่องทางการสื่อสารกับนักศึกษา
ในการเก็บข้อมูลเพื่อประเมินการสอนด้วยวิธีการดังนี้
2.1. การสังเกตการณ์สอนของผู้ร่วมทีมสอนหรือหัวหน้าหลักสูตร
2.2. ผลการเรียนของนักศึกษา
2.3. การทวนสอบผลประเมินการเรียนรู้
หลังจากผลการประเมินการสอนในข้อ 2 จึงมีการปรับปรุงการสอน โดยการจัดกิจกรรมในการระดมสมองและหาข้อมูลเพิ่มเติมในการปรับปรุงการสอนดังนี้
3.1. สัมมนาการจัดการเรียนการสอน
3.2. การวิจัยในและนอกชั้นเรียน
ในระหว่างกระบวนการสอนรายวิชา มีการทวนสอบผลสัมฤทธิ์ในรายหัวข้อ ตามที่คาดหวังจากการเรียนรู้ในรายวิชาได้จากการสอบถามนักศึกษาหรือการสุ่มตรวจผลงานของนักศึกษา รวมถึงพิจารณาจากผลการสอบย่อยและหลังจากการออกผลการเรียนรายวิชา มีการทวนสอบผลสัมฤทธิ์โดยรวมในรายวิชาดังนี้
4.1. การทวนสอบการให้คะแนนจากกลุ่มจากการสุ่มตรวจผลงานของนักศึกษา โดยมีอาจารย์อื่นหรือผู้ทรงคุณวุฒิที่ไม่ใช่อาจารย์ประจำหลักสูตร
4.2. มีการตั้งคณะกรรมการในสาขาวิชา ตรวจสอบผลการประเมินการเรียนรู้ของนักศึกษา โดยตรวจสอบจากข้อสอบ รายงาน วิธีการให้คะแนนสอบ และการให้คะแนนความประพฤติ
จากผลการประเมินและทวนสอบผลสัมฤทธิ์ ประสิทธิผลรายวิชา ได้มีการวางแผนการปรับปรุงการสอนและรายละเอียดวิชาเพื่อให้เกิดคุณภาพมากขึ้น ดังนี้
5.1. ปรับปรุงรายวิชาทุก 3 ปี หรือตามข้อเสนอแนะและผลการทวนสอบมาตรฐานผลสัมฤทธิ์ตามข้อ 4
5.2. เปลี่ยนหรือสลับอาจารย์ผู้สอน เพื่อให้นักศึกษามีมุมมองในเรื่องการประยุกต์ความรู้นี้กับปัญหาที่มาจากงานวิจัยของอาจารย์หรืออุตสาหกรรมต่างๆ