การเขียนโปรแกรมเชิงวัตถุ

Object Oriented Programming

เพื่อให้เข้าใจแนวคิดเชิงวัตถุ ของอาลัน เคย์ (Object Oriented Concept : Alan Kay) และความสำคัญของ การเขียนโปรแกรมเชิงวัตถุ เพื่อให้เข้าใจถึงหลักการพื้นฐาน การเขียนโปรแกรมเชิงวัตถุ ลักษณะ ความสำคัญของคลาส (class) ความสัมพันธ์ระหว่างคลาส (composition, aggregation และ association) และคุณลักษณะอื่น ๆ เช่น อ๊อบเจ็กต์ (Object) ความสามารถในการสร้างตัวแทน (instance) การซ่อนสารสนเทศ (information hiding) การห่อหุ้ม (encapsulation) การรับทอดคุณสมบัติ (inheritance) และภาวะการมีหลายรูป (polymorphism) ได้ เพื่อให้เข้าใจแนวคิด หลักการวิเคราะห์และออกแบบเชิงวัตถุ (OOAD: Object Oriented Analysis and Design) ด้วยภาษาสัญลักษณ์ที่ใช้ในการอธิบายแบบจำลอง (Model) โดยใช้ Diagram ต่าง ๆ ดังต่อไปนี้ Use Case Diagram, Class Diagram, Sequence Diagram เป็นต้น เพื่อให้สามารถวิเคราะห์และออกแบบคลาส (ต้นแบบของวัตถุ) ได้ตรงตามความต้องการ และนำไปเขียนโปรแกรม ตามที่ออกแบบไว้ได้ สามารถนำความรู้ที่ได้ไปวิเคราะห์ ออกแบบ และพัฒนาซอฟต์แวร์ ในอนาคตได้

 
เพื่อให้สอดคล้องกับสาระวิชาในกรอบหลักสูตรมาตรฐาน ด้านระบบสารสนเทศของสำนักงานคณะกรรมการการอุดมศึกษา
แนวคิดเชิงวัตถุ (Object Oriented Concept) คลาส (class) ออบเจ็กต์ (object) การซ่อนสารสนเทศ (information hiding) การห่อหุ้ม (encapsulation) ความสามารถในการสร้างตัวแทน (instance) กรรมวิธีการถ่ายทอดคุณสมบัติ (inheritance) ภาวะที่มีหลายรูปแบบ (polymorphism) ยูเอ็มแอล (UML: Unified Modeling Language) และ ภาษาสัญลักษณ์ที่ใช้ในการอธิบายโมเดล และ การเขียนโปรแกรม การเขียนโปรแกรมโดยใช้แนวคิดเชิงวัตถุ
อาจารย์จัดเวลาให้คำปรึกษาเป็นรายบุคคลตามต้องการ โดยกำหนดไว้ 1 ชั่วโมงต่อสัปดาห์
(เฉพาะรายที่ต้องการ)
 
อาจารย์ประจำวิชา ประกาศเวลาให้คำปรึกษานักศึกษา ผ่าน facebook https://www.facebook.com/groups/897994420252281/
โดยนักศึกษาสามารถค้นหาจากกลุ่ม ชื่อ OOP Dr.Nitisak Charoenroop
™ ตระหนักในคุณค่าและคุณธรรม จริยธรรม เสียสละ และซื่อสัตย์สุจริต (1.1) ˜ มีวินัย ตรงต่อเวลา และความรับผิดชอบต่อตนเองและสังคม (1.2) ™ ภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นทีม และสามารถแก้ไขและลำดับความสำคัญ (1.3) ™ เคารพสิทธิ์และรับฟังความคิดเห็นของผู้อื่น รวมทั้งเคารพในคุณค่าและความเป็นมนุษย์ (1.4) l เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม (1.5) ™ สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคลองค์กรและสังคม (1.6) ™ มีจรรยาบรรณทางวิชาการและวิชาชีพ (1.7)
บรรยายถึงความสำคัญของการศึกษา เพื่อให้นักศึกษาตระหนักถึงความสำคัญการเรียนรู้ การเรียนรู้ด้วยตนเอง การทำแบบฝึกหัด ใบงาน รวมถึงโครงงาน เพื่อให้นักศึกษาเห็นความสำคัญของความรู้ มากกว่าคะแนนหรือเกรด (1.1) เพราะว่า ถ้านักศึกษาให้ความสำคัญกับ ความรู้มากกว่าคะแนนหรือเกรดแล้ว นักศึกษา จะตระหนักว่ากระบวนการทำแบบฝึกหัด ใบงาน หรือโครงงานเป็นการฝึกให้นักศึกษามีความรู้และประสบการณ์ และกระบวนการสอบย่อย สอบปฏิบัติ สอบกลางภาค และสอบปลายภาค เป็นกระบวนการหนึ่งในการวัดความรู้ของตัวนักศึกษา ส่งผลให้การลอกแบบฝึกหัด ใบงาน หรือโครงงาน รวมถึงการลอกข้อสอบของนักศึกษาลดลง อาจส่งผลให้นักศึกษา มีคุณธรรม และจริยธรรม เพิ่มมากขึ้น (1.1) (1.5) เมื่อการคัดลอก แบบฝึกหัด ใบงาน หรือโครงงาน หรือข้อสอบของนักศึกษาลดลงแล้ว ความซื่อสัตย์ต่อตัวเองของนักศึกษาน่าจะเพิ่มขึ้น (1.1) บรรยายในเรื่องของจิตสาธารณะ[1] เพื่อให้นักศึกษาให้ความสำคัญกับ การทำงานเพื่อส่วนรวม เพื่อหมู่คณะ เพื่อมหาวิทยาลัย หรือเพื่อหน่วยงานเพิ่มขึ้น นอกเหนือจากมองในเรื่องของส่วนตัว วิธีการฝึกจิตสาธารณะ จะฝึกในกระบวนการเรียนการสอนโดยให้ นักศึกษาช่วยกันดูแลห้องปฏิบัติการ โดยการให้นักศึกษา ติดตั้งโปรแกรมในห้องปฏิบัติการด้วยกัน และ เปิดโอกาสให้นักศึกษาที่เรียนเก่ง ได้มีโอกาสสอนเสริมเพิ่มเติมความรู้ ให้กับเพื่อนที่เรียนอ่อน ภายในชั่วโมงสอน และนอกห้องเรียน เพราะถ้าฝึกในเรื่องของจิตสาธารณะได้แล้ว การเสียสละของนักศึกษาเพื่อทำงานให้ส่วนรวม จะเพิ่มมากขึ้น (1.1)

 

แจ้ง กฎระเบียบ ข้อควรปฏิบัติ และข้อบังคับต่าง ๆ ในการมาเรียน ข้อควรปฏิบัติในการส่งงานที่ได้รับมอบหมาย (แบบฝึกหัด ใบงาน หรือรายงาน) ข้อควรปฏิบัติในการแต่งกาย และข้อควรปฏิบัติการใช้ห้องปฏิบัติการ (1.2) และให้ อาจารย์ และนักศึกษาถือปฏิบัติอย่างเคร่งครัด มอบหมายงานให้กับนักศึกษาทำเป็นโครงงานเป็นกลุ่ม ในรูปแบบ (Problem Based Learning และ Project Based Learning) เพื่อให้นักศึกษาวิเคราะห์ ออกแบบ และพัฒนาโปรแกรมเชิงวัตถุ (ตามโจทย์ที่มอบหมาย) และให้นักศึกษานำเสนอผลงานที่ได้รับมอบหมาย โดยสังเกต พฤติกรรม เป็นรายบุคคล และรายกลุ่ม และการแบ่งหน้าที่การทำงาน และเปิดโอกาสให้นักศึกษาภายในห้อง (ผู้ฟัง) ได้มีมีการอภิปราย และแสดงความคิดเห็นร่วมกัน อย่างเหมาะสม (1.3), (1.4) บรรยายเกี่ยวกับ ข้อควรปฏิบัติการเข้าชั้นเรียน, การใช้ห้องปฏิบัติการคอมพิวเตอร์ และข้อควรปฏิบัติการสอบย่อย สอบกลางภาค และสอบปลายภาคเรียน (1.5) อธิบายถึงจรรยาบรรณทางวิชาการ และวิชาชีพ (System Analysis & Programmer Ethics)และผลกระทบในการละเมิดจรรยาบรรณทางวิชาการและวิชาชีพ (1.7) ในกระบวนการเรียนการสอน บรรยายเพิ่มเติมในเรื่องของ ลิขสิทธิ์ของซอฟต์แวร์ แชร์แวร์ หรือซอฟต์แวร์ที่ให้ใช้ฟรี (Open Source) และส่งเสริมให้นักศึกษาใช้ซอฟต์แวร์ฟรี (Open Source) หรือซอฟต์แวร์ในกลุ่มกนู (GNU) ในงานที่ได้รับมอบหมาย เพื่อลดการละเมิดลิขสิทธิ์ และทรัพย์สินทางปัญญา (1.7) บรรยายเพิ่มเติมเกี่ยวกับประเด็นทางจริยธรรมทางการศึกษา การวิจัยและการพัฒนา การลอกเลียนวรรณกรรม (paragism) ทรัพย์สินทางปัญญา และการละเมิดลิขสิทธิ์ ให้กับนักศึกษาเข้าใจ พร้อมทั้งอธิบายข้อควรปฏิบัติในการอ้างอิงผลงานทางวิชาการ และผลงานการวิจัย มาใช้ในการจัดทำรายงาน (โครงงานของนักศึกษา) การเขียนโปรแกรม ในรูปแบบของแวนคูเวอร์ (vancuver) (1.7)

 

[1] ประกาศมหาวิทยาลัยเทคโนโลยีราชมงคลล้านนา เรื่อง มาตรฐานผลการเรียนรู้ของมหาวิทยาลัยฯ ณ วันที่ 18 พฤศจิกายน 2552
ประเมินจากความเสียสละ การมีจิตสาธารณะ ทำงานเพื่อส่วนรวม สาขาวิชา หรือมหาวิทยาลัย การร่วมกิจกรรมของสาขาวิชา คณะ หรือมหาวิทยาลัย (1.1) ประเมินจากพฤติกรรมการเรียน การสอบ และการคัดลอก งานที่ได้รับมอบหมายของนักศึกษา (1.1) (1.5) ประเมินจากการเข้าชั้นเรียนของนักศึกษาแต่ละบุคคล และการมาเรียนไม่น้อยกว่าร้อยละ 80 ของเวลาเรียนทั้งหมด จึงจะมีสิทธิ์ สอบกลางภาค และปลายภาคเรียน (1.2) (1.5) โดยใช้ระบบที่พัฒนาขึ้นโดยนักศึกษา สาขาวิชาระบบสารสนเทศ (Finger Scan) โดยแสดงผล ในรูปแบบแนวโน้มการมาเรียนของนักศึกษาเป็นรายบุคคล (ปี 2556) (แสดงผลเป็นรูปแบบกราฟ เป็นรายบุคคล 18 สัปดาห์) reference ชื่อระบบ .... ประเมินจากการแต่งกายมาเรียนของนักศึกษา และปฏิบัติตามกฎข้อบังคับในห้องปฏิบัติการคอมพิวเตอร์ (1.2) (1.5) ประเมินจากการส่งงานที่ได้รับมอบหมายของนักศึกษา (แบบฝึกหัด ใบงาน หรือโครงงานที่มอบหมาย) ภายในกำหนดเวลา ไม่น้อยกว่าร้อยละ 80 (1.2) (1.5) ประเมินผลจากระบบ Moodle ในการรับและส่งงาน การส่งงานผ่านระบบ Google Document (ภายในวันและเวลาที่กำหนด) และการส่งงานผ่าน email ชื่อ dr.nitisak@gmail.com ประเมินจากพฤติกรรมการมีส่วนในชั้นเรียน เช่น การตั้งคำถาม การตอบคำถาม การเฉลยแบบฝึกหัด ใบงาน การนำเสนองานที่มอบหมายจากการทำงานกลุ่ม การให้ข้อเสนอแนะ การรับฟังความคิดเห็น และการปรับปรุงแก้ไขผลงานตามข้อเสนอแนะ (1.3), (1.4) ประเมินจากการใช้ซอฟต์แวร์ถูกต้องตามลิขสิทธิ์ หรืออยู่ในกลุ่ม GNU, Open Source ในการนำเสนอผลงาน การวิเคราะห์ ออกแบบ พัฒนาซอฟต์แวร์เชิงวัตถุ ของนักศึกษา (1.7) Star UML2 (http://staruml.io/) ในการออกแบบระบบ Class Diagram JDK: Java SE Development Kit 8 (http://www.oracle.com/technetwork/java /javase /downloads/jdk8-downloads-2133151.html) Eclipse (https://eclipse.org/downloads/)

ประเมินจากการอ้างอิงผลงานทางวิชาการในบรรณานุกรม ที่นักศึกษาจัดทำรายงาน (ใบงานโครงงาน การวิจัย รวมถึงการเขียนโปรแกรม) ว่าถูกต้อง ครบถ้วน ตามรูปแบบของ รูปแบบ (vancuver) หรือไม่ (1.7)
      มีความรู้และเข้าใจการเขียนโปรแกรมเชิงวัตถุ (OOP: Object Oriented Programming) ความเป็นมาของภาษาโปรแกรมเชิงวัตถุ หลักการพื้นฐานเชิงวัตถุ (Object oriented) และ อธิบายหลักการที่สำคัญ ยกตัวอย่างเช่น ลักษณะความสำคัญของคลาส (class) ออบเจ็กต์ (object) การสร้างตัวอย่าง (instance) ภาวะพหุสันฐาน (polymorphism) การห่อหุ้ม (encapsulation) และการรับทอดคุณสมบัติ (inheritance) แนวคิดการวิเคราะห์และออกแบบเชิงวัตถุ (OOAD: Object Oriented Analysis and Design) คุณลักษณะความสัมพันธ์ระหว่างคลาสกับออบเจ็กต์ การเขียนการจำลองเชิงวัตถุด้วย UML ได้ทั้ง Use Case Diagram, Class Diagram, Sequence Diagram, State Transition Diagram และ Activity Diagram สามารถเลือกใช้ Case Tool ต่าง ๆ มาช่วยในการเขียน UML สามารถวิเคราะห์ออกแบบระบบให้ตรงตามความต้องการ และสามารถนำไปพัฒนาการเขียนโปรแกรมเชิงวัตถุต่อไปในอนาคต ซึ่งตลอดกระบวนการเรียนการสอนใช้ตัวอย่างกรณีศึกษาทางบริหารธุรกิจ และสาขาวิชาอื่น ๆ เช่น ตัวอย่างทางคณิตศาสตร์พื้นฐาน เพื่อให้นักศึกษาเข้าใจรายละเอียดเนื้อหาง่ายยิ่งขึ้น
      ซึ่งในกระบวนการจัดการเรียนการสอน สอนให้นักศึกษาใช้ โปรแกรมประยุกต์ (Software) ประเภทฟรีแวร์ (Open Source) หรือ ประเภทจีนิว หรือ จีนู (GNU : General Public License) เพื่อลดการละเมิดลิขสิทธิ์ทางปัญญา
 
     ในส่วนของการพัฒนาผลการเรียนรู้ ในด้านความรู้ของนักศึกษา ให้ความสำคัญกับความรู้ที่ต้องพัฒนา โดยมีรายละเอียดตามหัวข้อดังต่อไปนี้

˜ มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้อหาสาขาวิชาที่ศึกษา (2.1) ™ สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ ทักษะ และการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญหา (2.2) ™ สามารถวิเคราะห์ ออกแบบ ติดตั้ง ปรับปรุงและ/หรือ ประเมินระบบ องค์ประกอบต่าง ๆ ของระบบคอมพิวเตอร์ให้ตรงตามข้อกำหนด (2.3) ˜ สามารถติดตามความก้าวหน้าทางวิชาการและวิวัฒนาการคอมพิวเตอร์ รวมทั้งการนำไปประยุกต์ (2.4) รู้เข้าใจและสนใจพัฒนาความรู้ ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง (2.5) (ไม่มี) ™ มีความรู้ในแนวกว้างของสาขาวิชาที่ศึกษาเพื่อให้เล็งเห็นการเปลี่ยนแปลง และเข้าใจผลกระทบของเทคโนโลยีใหม่ ๆ (2.6) มีประสบการณ์ในการพัฒนาและ/หรือการประยุกต์ซอฟต์แวร์ที่ใช้งานได้จริง (2.7) (ไม่มี) สามารถบูรณาการความรู้ในสาขาวิชาที่ศึกษากับความรู้ในศาสตร์อื่นๆ ที่เกี่ยวข้อง (2.8) (ไม่มี)
Learning Pyramid
      กระบวนการเรียนการสอน ใช้หลักการสอนในรูปแบบของพีรามิดการเรียนรู้ (Learning Pyramid) โดยมีแนวความคิดที่น่าสนใจดังนี้

ถ้านักศึกษาเรียนเรียนในห้องเรียน (Lecture) นั่งฟังบรรยาย จดจำได้เพียง 5% ถ้านักศึกษาการอ่านด้วยตัวเอง (Reading) หรือ อ่านที่จดบันทึก จดจำได้เพิ่มขึ้นเป็น 10% ถ้านักศึกษาได้ฟังและได้เห็นภาพ (Audiovisual) จากการยกตัวอย่างกรณีศึกษาทางธุรกิจ หรือกรณีศึกษาทางคณิตศาสตร์ สามารถช่วยให้จดจำได้ 20% ถ้านักศึกษาได้ฝึกประสบการณ์ การเขียนโปรแกรมตามกรณีตัวอย่าง (Case Study) การแสดงตัวอย่าง (Demonstration) สามารถช่วยให้จำได้ 30% ถ้านักศึกษาการได้แลกเปลี่ยนพูดคุยกันภายในกลุ่ม (Discussion Group) การจัดทำรายงานร่วมกัน การอภิปรายร่วมกัน ช่วยให้จำได้ถึง 50% ถ้านักศึกษาการได้ทดลองปฏิบัติเอง (Practice by doing) เขียนโปรแกรมตามโจทย์ที่ตั้งขึ้น ช่วยจำได้ถึง 75% และถ้านักศึกษาได้นำ โปรแกรมที่เขียนขึ้นเอง มาอธิบายให้เพื่อน ๆ (การได้สอนผู้อื่น) (Teaching) เช่น ช่วยให้จำได้ถึง 90%

      จากภาพพีรามิดแห่งการเรียนรู้พบว่า การเรียนจะมีประสิทธิภาพมากยิ่งขึ้นเมื่อผู้เรียนมีส่วนร่วมในการเรียนเพิ่มมากขึ้น ดังนั้น ผู้สอนจึงนำความคิดนี้มาใช้สอนวิชาการเขียนโปรแกรมเชิงวัตถุ โดยมีรายละเอียดดังต่อไปนี้
      ในสัปดาห์แรกใช้การเรียนการสอนในรูปแบบของครูเป็นศูนย์กลาง (Teacher Based Learning) ในการบรรยาย โดยบรรยาย (Text Based Learning) เกี่ยวกับวิวัฒนาการภาษาจาวา ตั้งแต่อดีตถึงปัจจุบันและแนวโน้มการพัฒนาภาษาจาวาในอนาคต เพื่อให้นักศึกษาตระหนักถึง ความสำคัญในการติดตามความก้าวหน้าทางเทคโนโลยี เพื่อให้ทันต่อการเปลี่ยนแปลงในอนาคต (mobile application) และเข้าใจถึงผลกระทบที่จะเกิดขึ้นกับเทคโนโลยีที่เปลี่ยนแปลงไป (2.4) (2.6) สัปดาห์ต่อไปใช้การเรียนการสอนอยู่บนฐานความคิดที่เน้นผู้เรียนเป็นศูนย์กลาง (Student Centered หรือ Child Centered) โดยการส่งเสรมให้ผู้เรียนมีส่วนร่วม (Active Learning) โดยการจัดการเรียนรู้ในรูปแบบดังต่อไปนี้ 1) การเรียนรู้แบบย้อนกลับเป็นฐาน (Reverse Based Learning) 2) การเรียนรู้แบบปฏิบัติการ(Laboratory) 3) การเรียนรู้โดยใช้กรณีศึกษา (Case Base Learning, CBL) 4) การเรียนรู้โดยใช้ปัญหาเป็นฐาน (Problem Based Learning, PBL) และ 5) การเรียนรู้โดยใช้โครงงานเป็นฐาน (Project Base Learning) ซึ่งการประยุกต์ใช้รูปแบบการเรียนรู้ทั้ง 5 แบบนั้น จะเริ่มจากกระบวนการเรียนรู้จากง่ายไปยาก กล่าวคือ ตั้งแต่กระบวนการบรรยาย ปฏิบัติการในห้องปฏิบัติการ ยกตัวอย่างประกอบเนื้อหาในรูปแบบกรณีศึกษา ให้นักศึกษาฝึกแก้ไขปัญหา และ ให้ทำโครงงานที่นักศึกษาสนใจด้วยตนเอง โดยมีรายละเอียด เนื้อหาและรูปแบบการสอนดังต่อไปนี้
      การสอนแบบย้อนกลับเป็นฐาน (Reverse Based Learning, RBL) เป็นกระบวนการสอนที่กลับจากรูปแบบการสอนปกติ คือ นักศึกษาจะต้องเป็นผู้ศึกษา (อ่านและทำความเข้าใจ) เนื้อหาที่มอบหมายที่บ้าน และทำแบบฝึกหัด (ปฏิบัติ) ร่วมกันในห้องเรียน เพื่อที่อาจารย์สามารถสังเกตพฤติกรรมการเรียน (การฝึกปฏิบัติ) และความเข้าใจของนักศึกษาได้ ซึ่งการสอนในรูปแบบนี้ เป็นการฝึกให้นักศึกษามีการเตรียมตัวก่อนการมาเรียนในครั้งนั้น ๆ สำหรับการเรียนการสอนในหัวข้อนี้ อาจารย์มอบหมายให้นักศึกษา ไปค้นคว้าหาความรู้เกี่ยวกับ วิธีการติดตั้งภาษาจาวา (JDK) และ eclipse และการตรวจสอบรายละเอียดการติดตั้งอื่น ๆ เช่น path ของภาษาจาวา หรือ workspace ของโปรแกรม eclipse โดยให้นักศึกษามาปฏิบัติ (ติดตั้ง) กันภายในห้องปฏิบัติการได้ (2.2) (2.3)
      การสอนแบบ (Reverse Based Learning) จะใช้สอนอีกครั้งในบทที่ 6 ในหัวข้อการเขียนคำสั่งในเงื่อนไข (การตัดสินใจ) (decision statement) ยกตัวอย่างเช่น if, switch และการเขียนคำสั่งแบบทำซ้ำ (iteration Statement) ยกตัวอย่างเช่น for, while, do… while ซึ่งทั้ง 2 หัวข้อนี้ เป็นหัวข้อที่ไม่ยากต่อการทำความเข้าใจ และนักศึกษาสามารถหาเนื้อหาอ่านประกอบเพิ่มเติมได้จากอินเตอร์เน็ต รวมทั้ง นักศึกษาเคยศึกษาทั้ง 2 หัวข้อมาก่อนแล้วในรายวิชาเกี่ยวกับการเขียนโปรแกรมภาษาอื่น ๆ สำหรับการสอนในครั้งนี้ ผู้สอนจะทำการทดสอบ (pretest) เพื่อวัดความรู้ความเข้าใจของนักศึกษาในหัวข้อต่าง ๆ และแจ้งผลการสอบให้นักศึกษาทราบ หลังจากนั้น จะให้นักศึกษาภายในห้องอภิปรายเนื้อหาเพิ่มเติม (สอนกันเองเพิ่มเติม) เพื่อเป็นการเติมเต็มความรู้ให้กับเพื่อนนักศึกษา สำหรับในหัวข้อ ที่ขาด ผู้สอนจะเป็นผู้ให้ข้อมูลเพิ่มเติมในหัวข้อนั้น ๆ และท้ายชั่วโมงจะมีการสอบย่อย (posttest) อีกครั้ง เพื่อประเมินถึงความเข้าใจในเนื้อหาต่าง ๆ ของนักศึกษาอีกครั้งว่านักศึกษามีความเข้าใจในเนื้อหาต่าง ๆ เหล่านั้นครบถ้วนสมบูรณ์หรือไม่
 
      การเรียนรู้แบบปฏิบัติการ (Laboratory) คือ การเรียนการสอนที่ให้ความสำคัญกับการปฏิบัติ โดยผู้สอนทำหน้าที่กำกับ แนะนำการปฏิบัติการของนักศึกษา สามารถกระทำได้ทั้งรายบุคคล หรือกลุ่ม หัวข้อที่ใช้ในกระบวนการเรียนการสอนแบบปฏิบัติการนี้ ใช้ฝึกปฏิบัติในหัวข้อย่อย ๆ เช่น คุณลักษณะของคลาส (class) ออบเจกต์ (object) ความสามารถในการสร้างตัวแทน (instance) การซ่อนสารสนเทศ (information hiding) การห่อหุ้ม (encapsulation) การสืบทอดคุณสมบัติ (inheritance) และภาวะการมีหลายรูป (polymorphism) เป็นต้น
      หลังจากที่นักศึกษาได้ปฏิบัติเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุในหัวข้อต่าง ๆ แล้ว อาจารย์จะยกตัวอย่างกรณีศึกษา ประกอบการเรียนการสอน การวิเคราะห์ ออกแบบ การเขียนโปรแกรมเชิงวัตถุอีกครั้ง โดยใช้ การเรียนรู้โดยใช้กรณีศึกษา (Case Based Learning, CBL) ซึ่งวิธีการนี้ อาจารย์ผู้สอนนำเสนอกรณีศึกษา หรือตัวอย่างในสาขาต่าง ๆ เพื่อให้นักศึกษาเข้าใจในเนื้อหา และหลักการของการเขียนโปรแกรมเชิงวัตถุ เพื่อนำไปประยุกต์ไปใช้กับศาสตร์ต่าง ๆ โดยใช้กระบวนการคิดวิเคราะห์ อภิปราย แลกเปลี่ยนความรู้ เพื่อหาแนวทางการแก้ปัญหาร่วมกันระหว่างอาจารย์กับนักศึกษา ซึ่งเป็นแนวทางหนึ่งที่ทำให้นักศึกษาได้เข้าใจพื้นฐานของปัญหาและสามารถหาแนวทางการตัดสินใจด้วยตนเอง สำหรับการเรียนรู้แบบนี้ อาจารย์ผู้สอนยกตัวอย่างกรณีศึกษาทางสาขาวิชาบริหารธุรกิจ และทางสาขาคณิตศาสตร์ เพื่อเป็นตัวอย่างหรือกรณีศึกษาให้นักศึกษามีความเข้าใจเพิ่มมากขึ้น (2.8) ดังนี้ สาขาวิชาบริหารธุรกิจ จะยกตัวอย่าง การเขียนโปแกรมเกี่ยวกับระบบเงินฝากธนาคาร ซึ่งประกอบไปด้วย บัญชีประเภทออมทรัพย์ เงินฝากกระแสรายวันเป็นต้น และยกตัวอย่างกรณีศึกษาทางคณิตศาสตร์ เกี่ยวกับการหาพื้นที่ รูปทรง 2 มิติ ต่าง ๆ เช่น รูปทรงสามเหลี่ยม สี่เหลี่ยม หรือวงกลม และสอนเกี่ยวกับการหาปริมาตรรูปทรง 3 มิติเพิ่มเติม ซึ่งเป็นการขยายขอบเขตความสามารถของรูปทรง 2 มิติ เป็นต้น เพื่อให้นักศึกษานำความรู้ที่ได้ ไปสรุปเป็นแนวทางการเขียนโปรแกรมเชิงวัตถุในหัวข้อที่เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุข้างต้น (2.3) (2.8) การสอนครั้งนี้ ผู้สอน จะใส่เนื้อหาในเรื่องของการคิดอย่างเป็นระบบ ด้วย (เป็นการฝึกการเขียนโปรแกรมอย่างเป็นระบบ ตั้งแต่กระบวนการวิเคราะห์ ออกแบบระบบ และพัฒนาโปรแกรมเชิงวัตถุ) การอธิบายจากการออกแบบระบบก่อน และจึงนำไปพัฒนาโปรแกรมตามลำดับ
      หลังจากที่นักศึกษาเข้าใจหลักการเขียนโปรแกรมเชิงวัตถุ และยกตัวอย่างกรณีศึกษาประกอบแล้ว ผู้สอน จะกำหนดโจทย์ (ปัญหา) เกี่ยวกับทางสาขาวิชาบริหารธุรกิจ และสาขาวิชาคณิตศาสตร์ เพิ่มเติมให้กับนักศึกษาไปแก้ไข โดยใช้กระบวนการเรียนรู้โดยใช้ปัญหาเป็นฐาน (Problem Based Learning, PBL) ซึ่งเป็นการจัดการศึกษาที่ใช้ปัญหาเป็นโจทย์ เพื่อให้นักศึกษาได้เรียนรู้วิธีการแก้ปัญหา ค้นหาความรู้ เพื่อแก้ไขปัญหาตามสถานการณ์ หรือกรณีศึกษาที่กำหนดให้ โดยอาจารย์ผู้สอนจะเป็นผู้จัดเตรียมสิ่งอำนวยความสะดวกต่อการเรียนรู้ การเรียนรู้รูปแบบนี้ฝึกให้นักศึกษาแก้ปัญหาเกี่ยวกับการเขียนโปรแกรมขนาดเล็ก ๆ ตามความต้องการของผู้สอน เป็นการเพิ่มความมั่นใจให้กับนักศึกษาก่อนไปแก้ไขในการเรียนรู้โดยใช้โครงงานเป็นฐาน (2.7) (เป็นกระบวนการสอนคิดอย่างเป็นระบบในหัวข้อที่ 3) และเพื่อให้นักศึกษาสามารถเข้าใจ และจดจำมากยิ่งขึ้นการจัดสอนในรูปแบบของ (Problem Based Learning) และ (Project Based Learning) จะให้ความสำคัญกับการนำเสนอผลงานของนักศึกษา เพื่อเปิดโอกาสให้นักศึกษามีโอกาสแลกเปลี่ยนความรู้กับอาจารย์ และเพื่อน ๆ ภายในห้องเรียน
 
      การเรียนรู้โดยใช้โครงงานเป็นฐาน (Project Based Learning) เป็นการจัดการเรียนที่ให้นักศึกษาทำโครงงาน ตามที่ได้รับมอบหมาย เป็นการเขียนโปรแกรมตามโครงงานที่นักศึกษามีความสนใจ โดยกำหนดให้ต้องมี Class อย่างน้อย 3 คลาส และมีความสัมพันธ์กัน มีการติดต่อเชื่อมโยงซึ่งกันและกัน (2.7)
                    ซึ่งการจัดการเรียนการสอนในรูปแบบที่กล่าวมาแล้วข้างต้น ส่วนใหญ่แล้วเป็นการจัดการเรียนการสอนที่เน้นผู้เรียนเป็นศูนย์กลาง (ผู้เรียนเป็นสำคัญ) เพื่อเป็นการกระตุ้นให้นักศึกษาสนใจกับการเรียน และพัฒนาตนเอง และเป็นการฝึกให้นักศึกษาเป็นบุคคลที่เรียนรู้ตลอดชีวิต
วิธีการประเมินผลการเรียนรู้ ทำโดยการวัดผล 3 ส่วนคือ อาจารย์ นักศึกษา และประเมินผลการปฏิบัติงานของสมาชิกภายในกลุ่ม ซึ่งการประเมินนี้ใช้วัดผลความก้าวหน้าของนักศึกษาว่าได้เรียนรู้อะไร และยังบกพร่องในจุดใด (Pretest และ Posttest) โดยเน้นประเมินกระบวนการเรียนรู้ และสรุปข้อมูลให้นักศึกษาได้ทราบและพัฒนาตัวเองขึ้นไป มากกว่าจะเน้นการประเมินผลในภาพรวม (summative evaluation) เพียงอย่างเดียว ที่มา: การจัดการเรียนการสอนแบบกรณีศึกษา

จากการทำแบบฝึกหัด ใบงานฝึกปฏิบัติ และโครงงานที่ได้รับมอบหมาย รวมถึง การนำเสนอโครงงานภายในชั้นเรียน (ร้อยละของการส่งงานตามเกณฑ์ที่กำหนด) (2.1) (เขียน อธิบาย Diagram, เขียนโปรแกรม) และการตรวจงานที่ส่งผ่านระบบ Google Document โดยประเมินเป็นรายหัวข้อของงานที่มอบหมาย เกณฑ์ผ่าน ร้อยละ 50 ของนักศึกษาทั้งหมด จากการสอบย่อย (pretest/posttest) สอบปฏิบัติ สอบกลางภาคเรียน และสอบปลายภาคเรียน (2.1) ประเมินจากการนำเสนอ งานที่มอบหมายในรูปแบบของ (Problem Based Learning) และ (Project Based Learning) ที่ให้นักศึกษาวิเคราะห์ ออกแบบและพัฒนาโปรแกรมเชิงวัตถุ และการนำเสนอหน้าชั้นเรียน และการตอบคำถามของเพื่อนๆ (2.3) (2.8)
™ คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ (3.1) สามารถสืบค้น ตีความและประเมินสารสนเทศ เพื่อใช้ในการแก้ไขอย่างสร้างสรรค์ (3.2) (ไม่มี) ™ สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ (3.3) ™ สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางคอมพิวเตอร์ได้ (3.4)
จัดการเรียนการสอนที่เน้นให้นักศึกษา คิดอย่างเป็นระบบ โดยเริ่มตั้งแต่ การวิเคราะห์และออกแบบระบบ (OOAD: Object Oriented Analysis and Design) (3.2) กระบวนการเขียนโปรแกรม (OOP: Object Oriented Programming) (3.1) สิ้นสุดที่กระบวนการทดสอบและปรับปรุงระบบ โดยใช้กระบวนจัดการเรียนการสนในรูปแบบ Case Based Learning, Problem Based Learnng และ Project Based Learning (ดังที่ได้ยกตัวอย่างในหัวข้อที่ 2.2)
ประเมินจากการสอบย่อย สอบปฏิบัติ ในหัวข้อต่าง ๆ สอบกลางภาค และสอบปลาย (3.1) มีจำนวนผู้สอบผ่าน ในแต่ละครั้งไม่น้อยกว่าร้อยละ 50 (ของจำนวนนักศึกษาที่เข้าสอบ) ประเมินผลจากความถูกต้อง ของการวิเคราะห์ ออกแบบ และเขียนโปรแกรม (ได้ตรงตามความต้องการของระบบ/โครงงานที่มอบหมาย) Cased Based Learning, Problem Based Learning และ Project Based Learning จำนวนกลุ่ม/นักศึกษา ที่ผ่านเกณฑ์ อย่างน้อยร้อยละ 50 โดยใช้เกณฑ์ความพึงพอใจในความถูกต้องของระบบอย่างน้อยร้อยละ 60 (3.1) (3.3) (3.4) ประเมินจากการตอบคำถาม และการแสดงความคิดเห็นของผู้เรียน (3.1)
มีความรับผิดชอบในงานตนเอง และงานกลุ่มที่ได้รับมอบหมาย สามารถเรียนรู้ และให้ความรู้กับบุคคลอื่น ยอมรับฟังความคิดเห็นของผู้อื่น จากการทำงานกลุ่ม ทั้ง 3 รูปแบบ คือ Case Based Learning, Problem Based Learning และ Project Based Learning

™ สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานการณ์ต่าง ๆ ในกลุ่มทั้งในบทบาทของผู้นำ หรือในบทบาทของผู้ร่วมทีมทำงาน (4.2) ™ มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม (4.4) ™ สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวม พร้อมทั้งแสดงจุดยืนอย่างพอเหมาะทั้งของตนเองและของกลุ่ม (4.5) ™ มีความรับผิดชอบของการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่อง (4.6)
จัดให้นักศึกษามีการเรียนรู้ และทำงานเป็นกลุ่ม (Case Based Learning, Problem Based Learning & Project Based Learning) ร่วมกัน (ดังรายละเอียดในหัวข้อ 2.2) เพื่อวิเคราะห์ โจทย์กรณีศึกษา และให้นักศึกษาแสดงความคิดเห็นในการเขียนโปรแกรมเชิงวัตถุ โดยมีการแบ่งหน้าที่รับผิดชอบของแต่ละบุคคลอย่างชัดเจน และให้นักศึกษาแสดงความคิดเห็นต่อระบบงานที่นำเสนอ ส่งเสริมกิจกรรมที่เสริมสร้างการเรียนรู้และเปิดโอกาสให้นักศึกษาได้แสดงความคิดเห็นเพื่อแลกเปลี่ยนความรู้ความเข้าใจและฝึกให้ยอมรับความคิดเห็น และการทำงานเป็นทีม
ประเมินจากการมีส่วนร่วมในชั้นเรียน ในการแลกเปลี่ยนเรียนรู้ และการตอบข้อซักถามของอาจารย์ และนักศึกษา ประเมินจากความรับผิดชอบ ในหน้าที่รับผิดชอบของนักศึกษา และความสมบูรณ์ของงานที่ได้รับมอบหมายฃ

การมีสวนรวมในการอภิปรายและวิธีการอภิปราย
˜ มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานเกี่ยวกับคอมพิวเตอร์ (5.1) ™ สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียน เลือกใช้รูปแบบของการสื่อสารการนำเสนอได้อย่างเหมาะสม (5.3) ™ สามารถใช้สารสนเทศและเทคโนโลยีสื่อสารอย่างเหมาะสม (5.4)
แบ่งกลุ่มให้นักศึกษาทำงานเป็นกลุ่มร่วมกันคิดวิเคราะห์ และออกแบบระบบเชิงวัตถุ ตามโจทย์ที่กำหนดโดยเน้นการคำนวณทางคอมพิวเตอร์ การรับและการแสดงผลข้อมูล เพื่อเรียนรู้เกี่ยวกับวิธีการติดต่อสื่อสารระหว่างคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ ส่งเสริมให้นักศึกษาค้นหาข้อมูลจากแหล่งที่น่าเชื่อถือ พร้อมนำเสนองานที่ทำหน้าชั้นเพื่อแบ่งปันเทคนิค การหาข้อมูล แนวคิดการคิดวิเคราะห์ และนำข้อเสนอแนะไปพัฒนาปรับปรุงงานต่อไปในอนาคต

สอนการใช้สื่อเพื่อนำเสนออย่างเหมาะสม (Microsoft Powerpoint) (5.1) สอนทักษะการใช้เทคโนโลยีสารสนเทศ ในการติดต่อสื่อสารอย่างเหมาะสม เช่น การสืบค้นข้อมูล การติดต่อสื่อสารผ่านทางสังคมออนไลน์ (facebook) หรือทางอื่น ๆ เป็นต้น
ประเมินจากการวิเคราะห์และออกแบบ การเขียนโปรแกรมเชิงวัตถุตามโจทย์ที่ได้รับมอบหมาย และนำเสนอโดยใช้สื่อเทคโนโลยี ร่วมกับซอฟต์แวร์ที่เกี่ยวข้องอย่างเหมาะสม Visio, Star UML, eclipse, JDK และ Microsoft Powerpoint เป็นต้น (5.1) (5.3) ประเมินจากการติดต่อสื่อสารผ่านทางสังคมออนไลน์ การรับรู้ และการแสดงผลผ่านสื่อสังคมออนไลน์ (5.4)
นักศึกษาสามารถเขียนโปรแกรมเชิงวัตถุ และเข้าใจหลักการ  

เขียนโปรแกรมเชิงวัตถุ ของอาลัน เคย์ (Object Oriented Concept : Alan Kay) และความสำคัญของ การเขียนโปรแกรมเชิงวัตถุ หลักการพื้นฐาน การเขียนโปรแกรมเชิงวัตถุ ลักษณะ ความสำคัญของคลาส (class) ความสัมพันธ์ระหว่างคลาส (composition, aggregation และ association) และคุณลักษณะอื่น ๆ เช่น อ๊อบเจ็กต์ (Object) ความสามารถในการสร้างตัวแทน (instance) การซ่อนสารสนเทศ (information hiding) การห่อหุ้ม (encapsulation) การรับทอดคุณสมบัติ (inheritance) และภาวะการมีหลายรูป (polymorphism) ได้
มอบหมายงานการเขียนโปรแกรมเชิงวัตถุ

เขียนโปรแกรมเชิงวัตถุ ของอาลัน เคย์ (Object Oriented Concept : Alan Kay) และความสำคัญของ การเขียนโปรแกรมเชิงวัตถุ หลักการพื้นฐาน การเขียนโปรแกรมเชิงวัตถุ ลักษณะ ความสำคัญของคลาส (class) ความสัมพันธ์ระหว่างคลาส (composition, aggregation และ association) และคุณลักษณะอื่น ๆ เช่น อ๊อบเจ็กต์ (Object) ความสามารถในการสร้างตัวแทน (instance) การซ่อนสารสนเทศ (information hiding) การห่อหุ้ม (encapsulation) การรับทอดคุณสมบัติ (inheritance) และภาวะการมีหลายรูป (polymorphism) ได้
ให้ทำรายงานและนำเสนอ โดยประเมินตามหลักการที่สำคัญการเขียนโปรแกรมเชิงวัตถุ 2 ประการ  

เขียนโปรแกรมเชิงวัตถุ ของอาลัน เคย์ (Object Oriented Concept : Alan Kay) และความสำคัญของ การเขียนโปรแกรมเชิงวัตถุ หลักการพื้นฐาน การเขียนโปรแกรมเชิงวัตถุ ลักษณะ ความสำคัญของคลาส (class) ความสัมพันธ์ระหว่างคลาส (composition, aggregation และ association) และคุณลักษณะอื่น ๆ เช่น อ๊อบเจ็กต์ (Object) ความสามารถในการสร้างตัวแทน (instance) การซ่อนสารสนเทศ (information hiding) การห่อหุ้ม (encapsulation) การรับทอดคุณสมบัติ (inheritance) และภาวะการมีหลายรูป (polymorphism) ได้
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
กลุ่มวิชา 1.1 ตระหนักในคุณค่าและคุณธรรม จริยธรรม เสียสละ และซื่อสัตย์สุจริต (1.1) 1.2 มีวินัย ตรงต่อเวลา และความรับผิดชอบต่อตนเองและสังคม 1.3 ภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นทีม และสามารถแก้ไขและลำดับความสำคัญ 1.4 เคารพสิทธิ์และรับฟังความคิดเห็นของผู้อื่น รวมทั้งเคารพในคุณค่าและความเป็นมนุษย์ 1.5 เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม 1.7 มีจรรยาบรรณทางวิชาการและวิชาชีพ
ลำดับ รหัสวิชา ชื่อวิชา - บรรยายถึงความสำคัญของการศึกษา เพื่อให้นักศึกษาตระหนักถึงความสำคัญการเรียนรู้ การเรียนรู้ด้วยตนเอง การทำแบบฝึกหัด ใบงาน รวมถึงโครงงาน เพื่อให้นักศึกษาเห็นความสำคัญของความรู้ มากกว่าคะแนนหรือเกรด (1.1) เพราะว่า ถ้านักศึกษาให้ความสำคัญกับ ความรู้มากกว่าคะแนนหรือเกรดแล้ว นักศึกษา จะตระหนักว่ากระบวนการทำแบบฝึกหัด ใบงาน หรือโครงงานเป็นการฝึกให้นักศึกษามีความรู้และประสบการณ์ และกระบวนการสอบย่อย สอบปฏิบัติ สอบกลางภาค และสอบปลายภาค เป็นกระบวนการหนึ่งในการวัดความรู้ของตัวนักศึกษา ส่งผลให้การลอกแบบฝึกหัด ใบงาน หรือโครงงาน รวมถึงการลอกข้อสอบของนักศึกษาลดลง อาจส่งผลให้นักศึกษา มีคุณธรรม และจริยธรรม เพิ่มมากขึ้น (1.1) (1.5) เมื่อการคัดลอก แบบฝึกหัด ใบงาน หรือโครงงาน หรือข้อสอบของนักศึกษาลดลงแล้ว ความซื่อสัตย์ต่อตัวเองของนักศึกษาน่าจะเพิ่มขึ้น (1.1) - บรรยายในเรื่องของจิตสาธารณะ เพื่อให้นักศึกษาให้ความสำคัญกับ การทำงานเพื่อส่วนรวม เพื่อหมู่คณะ เพื่อมหาวิทยาลัย หรือเพื่อหน่วยงานเพิ่มขึ้น นอกเหนือจากมองในเรื่องของส่วนตัว วิธีการฝึกจิตสาธารณะ จะฝึกในกระบวนการเรียนการสอนโดยให้ นักศึกษาช่วยกันดูแลห้องปฏิบัติการ โดยการให้นักศึกษา ติดตั้งโปรแกรมในห้องปฏิบัติการด้วยกัน และ เปิดโอกาสให้นักศึกษาที่เรียนเก่ง ได้มีโอกาสสอนเสริมเพิ่มเติมความรู้ ให้กับเพื่อนที่เรียนอ่อน ภายในชั่วโมงสอน และนอกห้องเรียน เพราะถ้าฝึกในเรื่องของจิตสาธารณะได้แล้ว การเสียสละของนักศึกษาเพื่อทำงานให้ส่วนรวม จะเพิ่มมากขึ้น (1.1) - แจ้ง กฎระเบียบ ข้อควรปฏิบัติ และข้อบังคับต่าง ๆ ในการมาเรียน ข้อควรปฏิบัติในการส่งงานที่ได้รับมอบหมาย (แบบฝึกหัด ใบงาน หรือรายงาน) ข้อควรปฏิบัติในการแต่งกาย และข้อควรปฏิบัติการใช้ห้องปฏิบัติการ (1.2) และให้ อาจารย์ และนักศึกษาถือปฏิบัติอย่างเคร่งครัด - มอบหมายงานให้กับนักศึกษาทำเป็นโครงงานเป็นกลุ่ม ในรูปแบบ (Problem Based Learning และ Project Based Learning) เพื่อให้นักศึกษาวิเคราะห์ ออกแบบ และพัฒนาโปรแกรมเชิงวัตถุ (ตามโจทย์ที่มอบหมาย) และให้นักศึกษานำเสนอผลงานที่ได้รับมอบหมาย โดยสังเกต พฤติกรรม เป็นรายบุคคล และรายกลุ่ม และการแบ่งหน้าที่การทำงาน และเปิดโอกาสให้นักศึกษาภายในห้อง (ผู้ฟัง) ได้มีมีการอภิปราย และแสดงความคิดเห็นร่วมกัน อย่างเหมาะสม (1.3), (1.4) - มอบหมายงานให้กับนักศึกษาทำเป็นโครงงานเป็นกลุ่ม ในรูปแบบ (Problem Based Learning และ Project Based Learning) เพื่อให้นักศึกษาวิเคราะห์ ออกแบบ และพัฒนาโปรแกรมเชิงวัตถุ (ตามโจทย์ที่มอบหมาย) และให้นักศึกษานำเสนอผลงานที่ได้รับมอบหมาย โดยสังเกต พฤติกรรม เป็นรายบุคคล และรายกลุ่ม และการแบ่งหน้าที่การทำงาน และเปิดโอกาสให้นักศึกษาภายในห้อง (ผู้ฟัง) ได้มีมีการอภิปราย และแสดงความคิดเห็นร่วมกัน อย่างเหมาะสม (1.3), (1.4) - บรรยายเกี่ยวกับ ข้อควรปฏิบัติการเข้าชั้นเรียน, การใช้ห้องปฏิบัติการคอมพิวเตอร์ และข้อควรปฏิบัติการสอบย่อย สอบกลางภาค และสอบปลายภาคเรียน (1.5) - อธิบายถึงจรรยาบรรณทางวิชาการ และวิชาชีพ (System Analysis & Programmer Ethics)และผลกระทบในการละเมิดจรรยาบรรณทางวิชาการและวิชาชีพ (1.7) - ในกระบวนการเรียนการสอน บรรยายเพิ่มเติมในเรื่องของ ลิขสิทธิ์ของซอฟต์แวร์ แชร์แวร์ หรือซอฟต์แวร์ที่ให้ใช้ฟรี (Open Source) และส่งเสริมให้นักศึกษาใช้ซอฟต์แวร์ฟรี (Open Source) หรือซอฟต์แวร์ในกลุ่มกนู (GNU) ในงานที่ได้รับมอบหมาย เพื่อลดการละเมิดลิขสิทธิ์ และทรัพย์สินทางปัญญา (1.7) - บรรยายเพิ่มเติมเกี่ยวกับประเด็นทางจริยธรรมทางการศึกษา การวิจัยและการพัฒนา การลอกเลียนวรรณกรรม (paragism) ทรัพย์สินทางปัญญา และการละเมิดลิขสิทธิ์ ให้กับนักศึกษาเข้าใจ พร้อมทั้งอธิบายข้อควรปฏิบัติในการอ้างอิงผลงานทางวิชาการ และผลงานการวิจัย มาใช้ในการจัดทำรายงาน (โครงงานของนักศึกษา) การเขียนโปรแกรม ในรูปแบบของแวนคูเวอร์ (vancuver) (1.7)
1 12031307 การเขียนโปรแกรมเชิงวัตถุ
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
1 คะแนนผลการเรียนรู้ด้านคุณธรรม จริยธรรม เวลาเรียน/ตรวจสอบการอ้างอิงข้อมูล การคัดลอกผลงาน ตลอดหลักสูตร 10
2 คะแนนด้านความรู้ สอบย่อย/สอบกลางภาค/สอบปลายภาค สัปดาห์ที่ 9 และ 17 ในส่วนของสอบย่อย จะสอบในสัปดาห์ที่ 4 และ 12 40
3 คะแนนด้านทักษะทางปัญญา งานที่มอบหมาย ตลอดหลักสูตร 40
4 คะแนนด้านทักษะความสัมพันธ์ระหว่างบุคคล จากความสัมพันธ์ภายในกลุ่ม รวมถึงการให้ความร่วมมือระหว่างการเรียน ตลอดหลักสูตร 5
5 คะแนนด้านทักษะการวิเคราะห์เชิงตัวเลข การใช้เทคโนโลยีสารสนเทศ การนำเสนอ และการใช้ตัวเลข ตลอดหลักสูตร 5
กิตติ ภักดีวัฒนะกุล(2547). UML วิเคราะห์และออกแบบระบบเชิงวัตถุ พิมพ์ครั้งที่ ๒. กรุงเทพฯ: บริษัท เคทีพี คอมพ์ แอนท์ คอนซัลท์ จำกัด. xxx หน้า
    ธีรวัฒน์ ประกอบผล. (2554). Java OOP. กรุงเทพฯ: ซิมพลิฟรย. 396 หน้า
    ธีรวัฒน์ ประกอบผล. (2555). คู่มือการเขียนโปรแกรมภาษาจาวา. กรุงเทพฯ: ซิมพลิฟราย. 440 หน้า
    สุดา เธียรมนตรี (2555). คู่มือการเขียนโปรแกรมภาษาจาวา. กรุงเทพฯ: ไอดีซี. 416 หน้า
    อรพิน ประวัติบริสุทธิ์ (). คู่มือเขียนโปรแกรมด้วยภาษา JAVA. กรุงเทพฯ: บริษัท โปรวิชั่น จำกัด xxx หน้า
    Y. Daniel Liang, Introduction to Java Programming, Comprehensive Version, 9th Edition, Prentice Hall, 2012, International Edition. (ISBN: 978-0-273-77138-8)
Java Documentation 1.8 JDK ติดตั้งตัวประมวลผลภาษา Java ดาว์นโหลด ได้ที่ http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Eclipse เครื่องมือช่วยในการเขียนโปรแกรมภาษา จาวา ดาว์นโหลด ได้ที่

    https://www.eclipse.org/downloads/
Sharon Biocca Zakhour, Sowmya Kannan, and Raymond Gallardo, The Java Tutorial A short Course on the Basics, 2013, 5th Edition, Addison-Wesley. (ISBN: 978-0-13-276169-7) Lewis & Loftus, Java Software Solutions: Foundations of Program Design, 2012, 7th Edition, Addison-Wesley. (ISBN: 978-0-13-214918-1) Ralph Bravaco & Shai Simonson, Java Programming From the Ground Up, 2010, McGraw-Hill, International Edition. (ISBN:978-0-07-018139-7) Horstmann, Cay S., Java Concepts: compatible with Java 5, 6, and 7, 6th Edition, 2010, Wiley. (ISBN: 978-0-470-50947-0) Savitch Walter, Absolute Java, 4th Edition, 2010, Pearson. (ISBN:978-0-136-08382-5)