โครงสร้างข้อมูลและขั้นตอนวิธี

Data Structures and Algorithms

เพื่อให้นักศึกษามีความรู้ ความเข้าใจและทักษะในการปฏิบัติการเกี่ยวกับ การแทนที่ข้อมูล โครงสร้างและการออกแบบ ข้อมูลแบบอาร์เรย์ สแต็ก คิว ลิงค์ลิสต์ ต้นไม้ กราฟ การจัดเรียงข้อมูล การค้นหาข้อมูล และการวิเคราะห์ขั้นตอนวิธี
เพื่อให้นักศึกษา มีความรู้และทักษะในการปฏิบัติการเกี่ยวกับการแทนที่ข้อมูล โครงสร้างและการออกแบบ ข้อมูลแบบอาร์เรย์ สแต็ก คิว ลิงค์ลิสต์ ต้นไม้ กราฟ การจัดเรียงข้อมูล การค้นหาข้อมูล และการวิเคราะห์ขั้นตอนวิธีที่เหมาะสม การประยุกต์ใช้ฐานข้อมูลต่อสถานการณ์โลก และสามารถประยุกต์ใช้ข้อมูลเพื่อลดต้นทุนด้านต่างๆ
ศึกษาและฝึกปฏิบัติการเกี่ยวกับการแทนข้อมูล โครงสร้างและการออกแบบข้อมูลแบบอาร์เรย์ สแต็ก คิว ลิงค์ลิสต์ ต้นไม้ กราฟ การจัดเรียงข้อมูล การค้นหาข้อมูล การวิเคราะห์ขั้นตอนวิธี
อาจารย์จัดเวลาให้คำปรึกษา เป็นกลุ่มหรือเฉพาะราย ตามความต้องการ ผ่าน เครื่องมือการสื่อสารออนไลน์ ที่ https://www.facebook.com/groups/310903312254221/
พัฒนาผู้เรียนให้มีความรับผิดชอบ มีวินัย มีจรรยาบรรณวิชาชีพ เคารพในสิทธิของข้อมูลส่วนบุคคล การไม่เปิดเผยข้อมูล การไม่ละเมิดลิขสิทธิ์ทางซอฟแวร์  และไม่ละเมิดลิขสิทธิ์ทางปัญญา  มีความซื่อสัตย์ในการเขียนโปรแกรมอย่างมีคุณภาพ โดยมีคุณธรรม จริยธรรมตามคุณสมบัติหลักสูตร  ดังนี้

ตระหนักในคุณค่าและคุณธรรม จริยธรรม เสียสละ และซื่อสัตย์สุจริต มีวินัย  ตรงต่อเวลา และความรับผิดชอบต่อตนเองและสงคม มีภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นทีมและสามารถแก้ไขข้อขัดแย้งและลำดับความสำคัญ เคารพสิทธิและรับฟังความคิดเห็นผู้อื่น  รวมทั้งเคารพในคุณค่าและศักดิ์ศรีของความเป็นมนุษย์ เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคคลองค์กรและสังคม มีจรรยาบรรณทางวิชาการและวิชาชีพ
บรรยายพร้อมยกตัวอย่างกรณีศึกษา เกี่ยวกับประเด็นทางจริยธรรมที่เกี่ยวข้องกับการใช้เทคโนโลยีสารสนเทศ   เช่น การใช้ Wed-board โดยมีวัตถุประสงค์ไม่สุจริต หรือจากมิจฉาชีพ การป้องกันตนเอง นักศึกษาต้องมีความรับผิดชอบในการทำงานกลุ่มผึกให้รู้หน้าที่ที่ได้รับมอบหมาย ฝึกการเป็นผู้นำ และผู้ตาม ไม่กระทำกรทุจริตในการสอบหรือ ลอกงานของผู้อื่น อาจารย์ผู้สอนสอดแทรกเรื่องคุณธรรม จริยธรรมในการสอน รวมทั้งมีการยกย่องนักศึกษาที่ทำดี เสียสละ ทำประโยชน์แก่ส่วนรวม และสังคม
1.3.1 พฤติกรรมการเข้าเรียนและส่งงานที่ได้รับมอบหมายตามขอบเขตที่ให้และตรงเวลา
1.3.2 มีการอ้างอิงเอกสารที่ได้นำมาทำรายงาน อย่างถูกต้องและเหมาะสม
1.3.3 ประเมินผลการวิเคราะห์กรณีศึกษา
1.3.4 ประเมินผลการนำเสนอรายงานที่มอบหมาย
2.1.  มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้องหาสาขาวิศวกรรมคอมพิวเตอร์
2.2. สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางวิศวกรรมคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ทักษะ และการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญหา
2.3. สามารถวิเคราะห์ ออกแบบตัิดตั้งปรับปรุ่งและ/หรือประเมินระบบองค์ประกอบต่างๆ ของระบบเทคโนโลยีอุตสาหกรรมให้ตรงตามข้อกำหนด
2.4. สามารถติดตามความก้าวหน้าและวิวัฒนาการคอมพิวเตอร์ รวมทั้งการนำไปประยุกต์
2.5. รู้ เข้าใจและสนใจพัฒนาความรู้ ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง
2.6. มีความรู้ในแนวกว้างของสาขาวิศวกรรมคอมพิวเตอร์ เล็งเห็นการเปลี่ยนแปลงและเข้าใจผลกระทบของเทคโนโลยีต่างๆ
2.7. มีประสบการณ์ในกาพัฒนาและ /หรือการประยุกต์ใช้เครื่องมืออุปกรณ์และเทคโนโลยีที่ใช้งานได้จริง
2.8. สามารถบูรณรการความรู้ในสาขาวิศวกรรมคอมพิวเตอร์กับความรู้ในศาสตร์อื่นๆ ที่เกี่ยวข้อง
บรรยาย วิเคราะห์กรณีศึกษา และมอบหมายให้วิเคราะห์และประเมินหลักการในการแก้ปัญหาพื้นฐานในระบบคอมพิวเตอร์ของระบบปฏิบัติการ อันเป็นการศึกษาโดยใช้ปัญหาเป็นตัวกำหนด (Problem – based Learning) และเน้นผู้เรียนเป็นสำคัญ
2.3.1   สอบกลางภาค สอบปลายภาค ด้วยข้อสอบที่เน้นการวัดหลักการและทฤษฏี
2.3.2   มอบหมายงานในการพัฒนาโปรแกรมโดยใช้แนวคิดในการแก้ปัญหาพื้นฐานในระบบคอมพิวเตอร์ของระบบปฏิบัติการ  กรณีศึกษา หรือโจทย์จาก Problem – based Learning
3.1. คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ
3.2. สามารถสืบค้น ตีความและประเมินอุตสาหกรรมโดยใช้สารสนเทศ เพื่อใช้ในการแก้ไขปัญหาอย่างสร้างสรรค์
3.3. สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ
3.4. สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางอุตสาหกรรมได้อย่างเหมาะสม
3.2.1   การมอบให้นักศึกษาทำหัวข้อหรืองานที่ให้วิเคราะห์และแก้ไขปัญหา
3.2.2   ยกตัวอย่าง ถาม-ตอบ
3.2.3   วิเคราะห์กรณีศึกษา  และอภิปราย
3.3.1   สอบกลางภาคและปลายภาค  โดยเน้นข้อสอบที่มีการวิเคราะห์ ต้องใช้แนวคิดในแก้ปัญหาในระบบคอมพิวเตอร์ของระบบปฏิบัติการ การประยุกต์ใช้คำสั่งของภาษาโปรแกรมเชิงวัตถุ และการประยุกต์ใช้อัลกอริทึมเพื่อแก้ปัญหาทางคอมพิวเตอร์ ตามหลักการแก้ปัญหาของระบบปฏิบัติการ
3.3.2   วัดผลจากการประเมินโครงการ  การนำเสนอผลงานที่มอบหมาย
3.3.3   สังเกตพฤติกรรมการแก้ไขปัญหา
4.1. สามารถสื่อสารกับกลุ่มคนหลากหลายและสามารถสนทนาทั้งภาษไทยและภาษาต่างประเทศอย่างมีประสิทธิภาพ
4.2. สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานกาณณ์ต่างๆ ในกลุ่มทั้งในบทบาทของผู้นำ หรือในบทบาทของผู้ร่วมทีมทำงาน
4.3. สามารถใช้ความรู้ในศสาตร์มาชี้นำสังคมในประเด็นที่เหมาะสม
4.4. มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม
4.5. สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวม พร้อมทั้งแสดงจุดยืนอย่างเหมาะสมของตนเองและของกลุ่ม
4.6.มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางิวชาชีพอย่างต่อเนื่องคุณสมบัติต่างๆ นี้สามารถวัดระหว่างการทำกิจกรรมร่วมกัน
4.2.1   จัดกิจกรรมกลุ่มในการวิเคราะห์กรณีศึกษา
4.2.2   มอบหมายงานรายกลุ่มและรายบุคคล ที่เกี่ยวข้องกับการเขียนโปรแกรมตามแนวคิดการแก้ปัญหาพื้นฐานในระบบคอมพิวเตอร์ของระบบปฏิบัติการ
4.3.1   ประเมินจากรายงานที่นำเสนอ  พฤติกรรมการทำงานเป็นทีม
4.3.2   ประเมินจากผลงานที่ได้รับมอบหมาย  
5.1. มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์
5.2. สามารถแนะนำประเด็นการแก้ไขปัญหาดดยใช้สารสนเทศทางคณิตศาสตร์หรือการแสดงสถิติประยุกต์ต่อปัญหาที่เกี่ยวข้องอย่างสร้างสรรค์
5.3. สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียน เลือกใช้รูปแแบของสื่อการนำเสนอ อย่างเหมาะสม
5.4. สามารถใช้สารสนเทศและเทคโนโลยีสื่ออย่างเหมาะสม
5.2.1 มอบหมายงานให้ศึกษาค้นคว้าด้วยตนเองจากเว็บไซต์ และทำรายงานโดยเน้นการนำตัวเลข หรือมีสถิติอ้างอิง จากแหล่งที่มาข้อมูลที่น่าเชืี่อถือ
5.2.2 นำเสนอโดยรูปแบบและเทคโนโลยีที่เหมาะสม
5.3.1   ประเมินจากรายงาน และรูปแบบการนำเสนอด้วยสื่อเทคโนโลยี
5.3.2   ประเมินจากการมีส่วนร่วมในการอภิปรายและวิธีการอภิปราย
6.1.1. มีทักษะในการบริหารจัดการในด้านเวลา เครื่องมือ อุปกรณ์และวิธีการได้อย่างมีประสิทธิภาพ
6.1.2. มีทักษะในการปฏิบัติงานกลุ่ม มีการแบ่งหน้าที่ความรับผิดชอบ และมีความร่วมมือกันเป็นอย่างดี
ใช้การเรียนการสอนที่หลากหลายโดยเน้นผู้เรียนเป็นสำคัญ การจัดกิจกรรมการเรียนรู้
ทักษะการปฏิบัติในรายวิชาต่าง ๆ ให้นักศึกษาได้ปฏิบัติอย่างสม่ำเสมอ
การวัดและประเมินผลตามสภาพจริงจากผลงาน และทักษะการปฏิบัติของนักศึกษา ดังนี้

จากประสิทธิภาพในทักษะการปฏิบัติ  ความถูกต้อง การแก้ปัญหาเฉพาะหน้า และความสามารถในการตัดสินใจ พฤติกรรมที่แสดงออกในการเข้าร่วมกิจกรรมต่างๆ
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
กลุ่มวิชา 4. ทักษะความสัมพันธ์ระหว่างบุคคล และความรับผิดชอบ 5. ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และเทคโนโลยีสารสนเทศ 6. ทักษะพิสัย 1. คุณธรรม จริยธรรม 2. ความรู้ 3. ทักษะทางปัญญา
ลำดับ รหัสวิชา ชื่อวิชา 4.1. สามารถสื่อสารกับกลุ่มคนหลากหลายและสามารถสนทนาทั้งภาษไทยและภาษาต่างประเทศอย่างมีประสิทธิภาพ 4.2. สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานกาณณ์ต่างๆ ในกลุ่มทั้งในบทบาทของผู้นำ หรือในบทบาทของผู้ร่วมทีมทำงาน 4.3. สามารถใช้ความรู้ในศสาตร์มาชี้นำสังคมในประเด็นที่เหมาะสม 4.4. มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม 4.5. สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวม พร้อมทั้งแสดงจุดยืนอย่างเหมาะสมของตนเองและของกลุ่ม 4.6.มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางิวชาชีพอย่างต่อเนื่องคุณสมบัติต่างๆ นี้สามารถวัดระหว่างการทำกิจกรรมร่วมกัน 5.1. มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์ 5.2. สามารถแนะนำประเด็นการแก้ไขปัญหาดดยใช้สารสนเทศทางคณิตศาสตร์หรือการแสดงสถิติประยุกต์ต่อปัญหาที่เกี่ยวข้องอย่างสร้างสรรค์ 5.3. สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียน เลือกใช้รูปแแบของสื่อการนำเสนอ อย่างเหมาะสม 5.4. สามารถใช้สารสนเทศและเทคโนโลยีสื่ออย่างเหมาะสม 6.1. มีทักษะในการบริหารจัดการในด้านเวลา เครื่องมือ อุปกรณ์และวิธีการได้อย่างมีประสิทธิภาพ 6.2. มีทักษะในการปฏิบัติงานกลุ่ม มีการแบ่งหน้าที่ความรับผิดชอบ และมีความร่วมมือกันเป็นอย่างดี 1.1 ตระหนักในคุณค่าและคุณธรรม จริยธรรม เสียสละ และซื่อสัตย์สุจริต 1.2. มีวินัย ตรงต่อเวลา และความรับผิดชอบต่อตนเองและสงคม 1.3. มีภาวะความเป็นผู้นำและผู้ตามสามารถทำงานเป็นทีมและสามารถแก้ไขข้อขัดแย้งและลำดับความสำคัญ 1.4. เคารพสิทธิและรับฟังความคิดเห็นผู้อื่น รวมทั้งเคารพในคุณค่าและศักดิ์ศรีของความเป็นมนุษย์ 1.5. เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม 1.6. สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคคลองค์กรและสังคม 1.7. มีจรรยาบรรณทางวิชาการและวิชาชีพ 2.1. มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้องหาสาขาวิศวกรรมคอมพิวเตอร์ 2.2. สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางวิศวกรรมคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ทักษะ และการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญหา 2.3. สามารถวิเคราะห์ ออกแบบตัิดตั้งปรับปรุ่งและ/หรือประเมินระบบองค์ประกอบต่างๆ ของระบบเทคโนโลยีอุตสาหกรรมให้ตรงตามข้อกำหนด 2.4. สามารถติดตามความก้าวหน้าและวิวัฒนาการคอมพิวเตอร์ รวมทั้งการนำไปประยุกต์ 2.5. รู้ เข้าใจและสนใจพัฒนาความรู้ ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง 2.6. มีความรู้ในแนวกว้างของสาขาวิศวกรรมคอมพิวเตอร์ เล็งเห็นการเปลี่ยนแปลงและเข้าใจผลกระทบของเทคโนโลยีต่างๆ 2.7. มีประสบการณ์ในกาพัฒนาและ /หรือการประยุกต์ใช้เครื่องมืออุปกรณ์และเทคโนโลยีที่ใช้งานได้จริง 2.8. สามารถบูรณรการความรู้ในสาขาวิศวกรรมคอมพิวเตอร์กับความรู้ในศาสตร์อื่นๆ ที่เกี่ยวข้อง 3.1. คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ 3.2. สามารถสืบค้น ตีความและประเมินอุตสาหกรรมโดยใช้สารสนเทศ เพื่อใช้ในการแก้ไขปัญหาอย่างสร้างสรรค์ 3.3. สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ 3.4. สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางอุตสาหกรรมได้อย่างเหมาะสม
1 ENGCE124 โครงสร้างข้อมูลและขั้นตอนวิธี
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
1 1.1,1.6, 1.7,2.1, 2.4-2.6,3.2 ทดสอบย่อยครั้งที่ 1 สอบกลางภาค ทดสอบย่อยครั้งที่ 2 สอบปลายภาค 4 8 12 17 10% 25% 10% 25%
2 1.1,1.6,1.7,2.1, 2.4-2.6, 3.2,4.1-4.6,5.3-5.4 วิเคราะห์กรณีศึกษาค้นคว้า การนำเสนอ รายงาน การทำงานกลุ่มและผลงาน การอ่านและสรุปบทความ การส่งงานตามที่มอบหมาย ตลอดภาคการศึกษา 20%
3 1.1-1.7, 3.1 การเข้าชั้นเรียน การมีส่วนร่วม อภิปราย เสนอความคิดเห็นในชั้นเรียน ตลอดภาคการศึกษา 10%
1. Michael T. Goodrich , Roberto Tamassia John Wiley & Sons, Inc.(2001) Data Structures and Algorithms in Java 2. Sartaj Sahni , McGRAW-HILL (2000), Data Structures, Algorithms, and Applications in Java
3. Anany Levitin, Addison Wesley (2003), Introduction to The Design & Analysis of Algorithms
4. Gilles Brassard and Paul Bratley, Prentice-Hall Intermational, Inc. (1996), Fundamentals of Algorithms
5. Seymour Lipschutz, McGRAW-HILL (1988), Theory and problems of Data Structures
6. ดร.สุชาย ธนวเสถียร, วิชัย จิวังกูร, บริษัท ซีเอ็ดยูเคชั่น จากัด (มหาชน) (2546), โครงสร้างข้อมูล เพื่อการออกแบบโปรแกรมคอมพิวเตอร์
6. ผศ. นิสาชล โตอดิเทพย์, สานักพิมพ์โอเดียนสโตร์ (2537), โครงสร้างข้อมูล
ไม่มี
https://www.facebook.com/groups/310903312254221/
การประเมินประสิทธิผลรายวิชานี้ ที่จัดทำโดยนักศึกษา ได้จัดกิจกรรมในการนำแนวคิดและความเห็นจากนักศึกษาได้ดังนี้

การสนทนากลุ่มระหว่างผู้สอนและผู้เรียน แบบประเมินผู้สอน และแบบประเมินรายวิชา ข้อเสนอแนะผ่านเว็บบอร์ด  ที่อาจารย์ผู้สอนได้จัดทำเป็นช่องทางการสื่อสารกับนักศึกษา
ในการเก็บข้อมูลเพื่อประเมินการสอน ได้มีกลยุทธ์  ดังนี้
2.1   การสังเกตการณ์สอนของผู้ร่วมทีมสอน
2.2   ผลการเรียนของนักศึกษา
2.3   การทวนสอบผลประเมินการเรียนรู้
หลังจากผลการประเมินการสอนในข้อ  2 จึงมีการปรับปรุงการสอน โดยการจัดกิจกรรมในการระดมสมอง และหาข้อมูลเพิ่มเติมในการปรับปรุงการสอน  ดังนี้
3.1   สัมมนาการจัดการเรียนการสอน
3.2   การวิจัยในและนอกชั้นเรียน
ในระหว่างกระบวนการสอนรายวิชา มีการทวนสอบผลสัมฤทธิ์ในรายหัวข้อ ตามที่คาดหวังจากการเรียนรู้ในวิชา ได้จาก การสอบถามนักศึกษา หรือการสุ่มตรวจผลงานของนักศึกษา รวมถึงพิจารณาจากผลการ ทดสอบย่อย และหลังการออกผลการเรียนรายวิชา มีการทวนสอบผลสัมฤทธิ์โดยรวมในวิชาได้ดังนี้
4.1  การทวนสอบการให้คะแนนจากการสุ่มตรวจผลงานของนักศึกษาโดยอาจารย์อื่น หรือผู้ทรงคุณวุฒิ ที่ไม่ใช่อาจารย์ประจำหลักสูตร
4.2   มีการตั้งคณะกรรมการในสาขาวิชา  ตรวจสอบผลการประเมินการเรียนรู้ของนักศึกษา โดยตรวจสอบข้อสอบ รายงาน วิธีการให้คะแนนสอบ และการให้คะแนนพฤติกรรม
จากผลการประเมิน และทวนสอบผลสัมฤทธิ์ประสิทธิผลรายวิชา  ได้มีการวางแผนการปรับปรุงการสอนและรายละเอียดวิชา  เพื่อให้เกิดคุณภาพมากขึ้น  ดังนี้
5.1   ปรับปรุงรายวิชาทุก 3 ปี หรือตามข้อเสนอแนะและผลการทวนสอบมาตรฐานผลสัมฤทธิ์ตามข้อ 4
5.2   เปลี่ยนหรือสลับอาจารย์ผู้สอน เพื่อให้นักศึกษามีมุมมองในเรื่องการประยุกต์ความรู้นี้กับปัญหาที่มาจากงานวิจัยของอาจารย์หรืออุตสาหกรรมต่าง ๆ