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

Object Oriented Programming

 


1. จุดมุ่งหมายของรายวิชา : เมื่อนักศึกษาเรียนรายวิชานี้แล้ว นักศึกษามีสมรรถนะที่ต้องการในด้านต่างๆ ดังนี้
  1.1 เพื่อให้นักศึกษามีความรู้และเข้าใจแนวคิดเกี่ยวกับหลักการทำงานเทคโนโลยี Object Oriented กับภาษาต่างๆ
  1.2 เพื่อให้นักศึกษาเข้าใจและเขียนลักษณะการทำงานของวิธีการทางคอมพิวเตอร์ในเทคโนโลยี Object Oriented อย่างถูกต้อง
  1.3 เพื่อให้นักศึกษาสามารถเอาหลักการเทคโนโลยี Object Oriented เขียนโปรแกรมเพื่อแก้ปัญหากับโปรแกรมภาษาคอมพิวเตอร์
 1.4 สามารถประยุกต์ใช้งานตามแนวคิดการพัฒนาโปรแกรมทางระบบคอมพิวเตอร์ในเทคโนโลยี   Object Oriented  อย่างมีประสิทธิภาพ
 
เพื่อให้นักศึกษามีความรู้พื้นฐาน เป็นการเตรียมความพร้อมด้านปัญหาในการนำความรู้ ความเข้าใจ ในระบบเทคโนโลยีคอมพิวเตอร์และเทคโนโลยีสารสนเทศด้านเทคโนโลยี Object Oriented เพื่อเป็นพื้นฐานการเรียนในวิชาอื่นๆ ที่เกี่ยวข้อง ทั้งนี้ ควรมีการเปลี่ยนแปลงตัวอย่างอ้างอิง ให้สอดคล้องกับแนวโน้มด้านเทคโนโลยีคอมพิวเตอร์ที่ได้มีความก้าวหน้าไปตามยุคสมัยของการพัฒนาโปรแกรม
               ศึกษาองค์ประกอบของการเขียนโปรแกรมตามแนวคิดเชิงวัตถุ เช่น คลาส ออบเจ็กต์ แอตทริบิวต์ เมธอด การสืบทอดคุณสมบัติ โพลีมอร์ฟิซึม เป็นต้น ฝึกปฏิบัติการเขียนโปรแกรม เพื่อเรียกใช้งานไลบรารีฟังก์ชันและเอพีไอของภาษา การใช้ส่วนติดต่อประสานโปรแกรมประยุกต์และการทำงานแบบ การเขียนโปรแกรมเชิงเหตุการณ์
              The study of concept of the object oriented programming (OOP) for example class , object , attribute , method , inheritance , polymorphism. Practices in OOP with function library and API framework , user interface design and event-driven programming.
จำนวนชั่วโมงที่สอนเสริมในรายวิชา               0  ชั่วโมงต่อสัปดาห์
         พัฒนาผู้เรียนให้มีความรับผิดชอบ มีวินัย มีจรรยาบรรณวิชาชีพ เคารพในสิทธิของข้อมูลส่วนบุคคล การไม่เปิดเผยข้อมูล การไม่ละเมิดลิขสิทธิ์ทางซอฟแวร์  และไม่ละเมิดลิขสิทธิ์ทางปัญญา  มีความซื่อสัตย์ในการเขียนโปรแกรมอย่างมีคุณภาพ โดยมีคุณธรรม จริยธรรมตามคุณสมบัติหลักสูตร  ดังนี้

ตระหนักในคุณค่าและคุณธรรม จริยธรรม เสียสละ และซื้อสัตย์สุจริต มีวินัย  ตรงต่อเวลา และความรับผิดชอบต่อตนเองและสงคม มีภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นทีมและสามารถแก้ไขข้อขัดแย้งและลำดับความสำคัญ เคารพสิทธิและรับฟังความคิดเห็นผู้อื่น  รวมทั้งเคารพในคุณค่าและศักดิ์ศรีของความเป็นมนุษย์ เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม

1.1.6 สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคคลองค์กรและสังคมมีจรรยาบรรณทางวิชาการและวิชาชีพ
บรรยายพร้อมยกตัวอย่างกรณีศึกษา เกี่ยวกับประเด็นทางจริยธรรมที่เกี่ยวข้องกับการเขียนโปรแกรมคอมพิวเตอร์   เช่น การเขียนโปรแกรมตามบริษัทเอกชน ต้องเอาใจเขามาใส่ใจเรา แล้วนำมาออกแบบการทำงานของการทำงานโปรแกรม โดยมีวัตถุประสงค์สร้างความสัมพันธ์ระหว่างผู้ใช้และผู้เขียนโปรแกรม อภิปรายกลุ่ม/ทำงานเดี่ยว/กลุ่ม หรือ ทำงานเขียนโปรแกรมรายบุคคลตามใบงาน กำหนดให้นักศึกษาเขียนโปรแกรมที่เกี่ยวข้องในชีวิตประจำวัน
      1.3.1   พฤติกรรมการเข้าเรียน และส่งงานที่ได้รับมอบหมายตามขอบเขตที่ให้และตรงเวลา
      1.3.2   มีการอ้างอิงเอกสารที่ได้นำมาทำรายงาน อย่างถูกต้องและเหมาะสม
      1.3.3   ประเมินผลการวิเคราะห์กรณีศึกษาจากโปรแกรมที่นักศึกษาเขียนขึ้นตามแนวคิด
      1.3.4  ประเมินผลการนำเสนอตามใบงานที่มอบหมาย
มีความรู้ในหลักการ ความสำคัญ องค์ประกอบของการเขียนโปรแกรม และมีความรู้เกี่ยวกับระบบการเขียนโปรแกรมโดยมีการคิดแบบอัลกอริทึม รู้ความเป็นมาของภาษาคอมพิวเตอร์ เช่น รู้รูปแบบการเขียนโปรแกรมแบบโครงสร้าง รู้ประเภทข้อมูลการกำหนดตัวแปร  นิพจน์  ตัวดำเนินการ  คำสั่งควบคุมแบบโครงสร้าง  ตัวแปรอาร์เรย์ ตัวชี้  การกำหนดลักษณะการทำงานโครงสร้างแบบฟังก์ชั่น  และการใช้งานแฟ้มข้อมูล  อย่างมีหลักการตามขั้นตอนการพัฒนาโปรแกรมตามคุณสมบัติหลักสูตร  ดังนี้
          2.1.2 มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้อหาสาขาวิชาเทคโนโลยีสารสนเทศ
          2.1.2 สามารถวิเคราะห์ปัญหาเข้าใจและอธิบายความต้องการทางคอมพิวเตอร์รวมทั้งประยุกต์ความรู้ทักษะและการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญูหา
          2.1.3 สามารถวิเคราะห์ออกแบบติดตั้งปรับปรุงและ/หรือประเมินระบบองค์ประกอบต่างๆของระบบเทคโนโลยีสารสนเทศให้ตรงตามข้อกำหนด
          2.1.4 สามารถติดตามความก้าวหน้าและวิวัฒนาการคอมพิวเตอร์รวมทั้งการนำไปประยุกต์
          2.1.5 รู้เข้าใจและสนใจพัฒนาความรู้ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง
          2.1.6 มีความรู้ในแนวกว้างของสาขาวิชาเทคโนโลยีสารสนเทศเล็งเห็นการเปลี่ยนแปลงและเข้าใจผลกระทบของเทคโนโลยีใหม่ๆ
          2.2.7 มีประสบการณ์ในการพัฒนาและ/หรือการประยุกต์ซอฟต์แวร์ที่ใช้งานได้จริง
          2.2.8 สามารถบูรณาการความรู้ในสาขาวิชาเทคโนโลยีสารสนเทศกับความรู้ในศาสตร์อื่นๆที่เกี่ยวข้อง
บรรยาย  อภิปราย ฝึกปฏิบัติ การทำงานกลุ่ม  การนำเสนอใบงาน การวิเคราะห์กรณีศึกษาจากงานการเขียนโปรแกรมตามที่มอบหมายหรือข้อมูลที่เกี่ยวข้อง โดยนำมาสรุปเป็นโปรแกรมและนำเสนอ โดยเป็นโครงงาน Problem – based Learning และเน้นผู้เรียนเป็นสำคัญ
2.3.1 ทดสอบปฏิบัติย่อย สอบกลางภาค สอบปลายภาค ด้วยข้อสอบที่เน้นการวัดหลักการทางปฏิบัติงานการเขียนโปรแกรมและทฤษฏีเนื้อหา
2.3.2 ประเมินจากการเขียนโปรแกรมตามที่มอบหมาย และนำเสนอผลการทำงานของโปรแกรมคอมพิวเตอร์จากกรณีศึกษาที่นักศึกษาค้นคว้าและสร้างเอง หรือมีโจทย์จาก Problem – based Learning จากชีวิตประจำวัน
พัฒนาความสามารถในการคิดอย่างมีการคิดอย่างเป็นระบบ ขั้นตอน มีการวิเคราะห์แนวคิดอย่งมีขั้นตอนตามมาตรฐานการเขียนโปรแกรม  เพื่อการป้องกันและแก้ไขปัญหาที่เกิดขึ้น จากการใช้เทคโนโลยีให้ถูกต้อง
3.1.1 คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ
3.1.2 สามารถสืบค้นตีความและประเมินสารสนเทศเพื่อให้ในการแก้ไขปัญหาอย่างสร้างสรรค์
3.1.3 สามารถรวบรวมศึกษาวิเคราะห์และสรุปประเด็นปัญหาและความต้องการ
3.1.4 สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางคอมพิวเตอร์ได้อย่างเหมาะสม
3.2.1 การมอบให้นักศึกษาเขียนโปรแกรมงานที่ได้ให้วิเคราะห์และแก้ไขปัญหาจากการที่นักศึกษาได้ค้นคว้าเอง และนำเสนอผลงานของตนเอง
3.2.2 อภิปรายลักษณะงานโปรแกรม
3.2.3 วิเคราะห์กรณีศึกษา  ในการนำเทคโนโลยีภาษาการเขียนโปรแกรมอย่างที่เหมาะสม
3.2.4 การสะท้อนแนวคิดจากการประพฤติและการปฏิบัติงานของนักศึกษาโดยออกในรูปแบบผลงานนักศึกษาที่ได้ปฏิบัติจริง
3.3.1 สอบกลางภาคและปลายภาค  โดยเน้นข้อสอบที่มีการเขียนโปรแกรม แนวคิดแก้ปัญหาทางการเขียนโปรแกรม  วิเคราะห์โจทย์  
3.3.2 วัดผลจากการประเมินงานการเขียนโปรแกรม  การนำเสนอผลงานของนักศึกษา
3.3.3 สังเกตพฤติกรรมการแก้ไขปัญหาระหว่างปฏิบัติงาน
             4.1.1 สามารถสื่อสารกับกลุ่มคนหลากหลายและสามารถสนทนาทั้งภาษาไทยและภาษาต่างประเทศอย่างมีประสิทธิภาพ
          4.1.2 สามารถให้ความช่วยเหลือและอำนวยความสะดวกเเก่การแก้ปัญหาสถานการณ์ต่างๆในกลุ่มทั้งในบทบาทของผู้นำหรือในบทบาทของผู้ร่วมทีมทำงาน
          4.1.3 สามารถใช้ความรู้ในศาสตร์มาชี้นำสังคมในประเด็นที่เหมาะสม
          4..1.4 มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม
          4..1.5 สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวมพร้อมทั้งแสดงจุดยืนอย่างพอเหมาะทั้งของตนเองและของกลุ่ม
          4.1.6 มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่องคุณสมบัติต่างๆนี้สามารถวัดระหว่างการทำกิจกรรรมร่วมกัน
4.2.1 จัดกิจกรรมกลุ่มในการวิเคราะห์กรณีศึกษา
4.2.2 มอบหมายงานรายกลุ่มและรายบุคคล เช่น การทำใบงาน และวิเคราะห์โจทย์นำมาเขียนโปรแกรมได้ ทั้งตัวอย่างในชีวิตประจำวันนำมาเขียนเป็นโปรแกรมได้
4.2.3   การนำเสนอผลงานโปรแกรม
4.3.1   ประเมินตนเอง และเพื่อน ด้วยแบบฟอร์มที่กำหนด
4.3.2  ประเมินจากรายงานที่นำเสนอ พฤติกรรมการทำงานของนักศึกษา
4.3.3   ประเมินจากรายงานการศึกษาด้วยตนเอง   
      5.1.1 มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์
      5..1.2 สามารถแนะนำประเด็นการแก้ไขปัญหาโดยใช้สารสนเทศทางคณิตศาสตร์หรือการแสดงสถิติประยุกต์ต่อปัญหาที่เกี่ยวข้องอย่างสร้างสรรค์
      5.1.3 สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียนเลือกใช้รูปแบบของสื่อการนำเสนออย่างเหมาะสม
      5.1.4 สามารถใช้สารสนเทศและเทคโนโลยีสื่อหรืออย่างเหมาะสม
5.2.1 มอบหมายงานให้ศึกษาค้นคว้าด้วยตนเอง และสร้างโปรแกรมตามแนวคิดมาเป็นรูปแบบผลงานซอฟต์แวร์  และทำรายงานรูปเล่มรวบรวมผลงานโดยเน้นการสร้างโปรแกรมคอมพิวเตอร์ให้ถูกต้องตามมาตรฐานสากล และเป็นที่ยอมรับของผู้ใช้งานโปรแกรมคอมพิวเตอร์
5.2.2 นำเสนอโดยรูปแบบและเทคโนโลยีการเขียนโปรแกรมคอมพิวเตอร์ที่เหมาะสม
5.3.1 ประเมินจากรายงาน ผลงาน  และรูปแบบการนำเสนอด้วยสื่อเทคโนโลยีนำเสนอตามผลงานในลักษณะงานของนักศึกษา
5.3.2 ประเมินจากการมีส่วนร่วมในการอภิปราย  วิธีการตอบ และการเขียนโปรแกรม
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
กลุ่มวิชา 1. คุณธรรม จริยธรรม 2. ความรู้ 3. ทักษะทาง ปัญญา 4. ทักษะความสัมพันธ์ ระหว่างบุคคล และความรับผิดชอบ 5. ทักษะการ วิเคราะห์เชิง ตัวเลข การ สื่อสาร และ การใช้ เทคโนโลยี สารสนเทศ
ลำดับ รหัสวิชา ชื่อวิชา 1 2 3 4 5 1 2 3 4 5 6 7 8 1 2 3 4 1 2 3 4 5 6 2 3 4
1 BSCCT502 การเขียนโปรแกรมเชิงวัตถุ
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
1 1.1,1.2, 2.1, 2.3, 3.1 ทดสอบปฏิบัติย่อยครั้งที่ 1 สอบกลางภาค ทดสอบปฏิบัติย่อยครั้งที่ 2 สอบปลายภาค 4 9 12 16 10% 25% 10% 25%
2 1.1,1.2, 2.1-2.3 4.4, 5.1-5.3 วิเคราะห์กรณีศึกษาค้นคว้า การนำเสนอผลงาน รายงานผลการเขียนโปรแกรมตามใบงาน การทำงานกลุ่ม/เดี่ยวและผลงาน การเขียนโปรแกรมและสรุปผลการทำงานโปรแกรม การส่งงานตามที่มอบหมายตรงเวลา ตลอดภาคการศึกษา 20%
3 1.1,1.2, 3.1 4.4 5.1 , 5.2 การเข้าชั้นเรียน การมีส่วนร่วม อภิปราย/นำเสนอ เสนอความคิดเห็นในชั้นเรียน ตลอดภาคการศึกษา 10%
     วรเศรษฐ  สุวรรณิก. การเขียนโปรแกรม java เบื้องต้น. ,กรุงเทพ ฯ : ซีเอ็ดยูเคชั่น, 2549 ,276 หน้า
      H.M.&P.J Deitel, JAVA HOW TO PROGRAM, 4th Edition, Prentice Hall, 2002.
      กิตติ  ภักดีวัฒนะกุล, Object Oriented ฉบับพื้นฐาน,กรุงเทพมหานคร : เคทีพี คอม แอนด์ คอนซัลท์ ,
                       ครั้งที่  1, 247 หน้า
     นรินทร์  โอฬารกิจอนันต์ ,จาวาสำหรับผู้เริ่มต้น , กรุงเทพมหานคร : เดคิซูกิ ดอทเนต ,247 หน้า
     วรรณิภา  เนตรงาม ,คู่มือการเขียนโปรแกรมภาษา JAVA ฉบับผู้เริ่มต้น, นนทบุรี : เอชเอ็นการพิมพ์ ,
                        ครั้งที่ 1, 274  หน้า
         วีรศักดิ์   ซึงถาวร , JAVA PROGRAMMING VOLUME I. กรุงเทพมหานคร :  ซีเอ็ดยูเคชั่น,2545.
                        432 หน้า.
         วีรศักดิ์   ซึงถาวร , JAVA PROGRAMMING VOLUME II. กรุงเทพมหานคร : ซีเอ็ดยูเคชั่น,2545.
                         584 หน้า.
         กิตติ  ภักดีวัฒนะกุล, JAVA ฉบับโปรแกรมเมอร์ ,กรุงเทพมหานคร,เคทีพี คอม แอนด์ คอนซัลท์ ,
                         ครั้งที่  2, 479 หน้า
         ศุภชัย  กาญจนโภคิน,คู่มือการใช้ Java เพื่อการประยุกต์ใช้งาน, กรุงเทพมหานคร: ครั้งที่ 1
                         ซัคเซส มีเดีย , 2545,230 หน้า      
เว็บไซต์ ที่เกี่ยวข้อง
                  http://www.s-t.au.ac.th/~prl/files/java2.pdf
                  http://www.compsci.buu.ac.th/~jparnjai/oop/docs/01-IntroJava.pdf
                  http://mail.hcc.ac.th/~s4052017/project.htm
                  http://www.ctc.ru.ac.th/school/traininghome.html
                  http://www.ctc.ru.ac.th/school/surawej/java/index.html
                  http://www.thaidev.com/articles.php?page=oop1
การสนทนากลุ่มระหว่างผู้สอนและผู้เรียน เพื่อสื่อสารเนื้อหาให้ผู้เรียนศึกษาก่อนล่วงหน้า แบบประเมินผู้สอน และแบบประเมินรายวิชา เพื่อนำผลมาปรับปรุงการเรียนการสอน ข้อเสนอแนะผ่านเว็บบอร์ด  ที่อาจารย์ผู้สอนได้จัดทำเป็นช่องทางการสื่อสารกับนักศึกษา
2.1 การสังเกตการณ์สอนของผู้ร่วมทีมสอน(หากมี)
2.2 ผลการเรียนของนักศึกษา ที่มีการสอบเก็บคะแนนแต่ละครั้งนำมาประเมิน
2.3 การทวนสอบผลประเมินการเรียนรู้ ให้งานตามที่มอบหมายและสังเกตพฤติกรรม
  หลังจากผลการประเมินการสอนในข้อ 2 จึงมีการปรับปรุงการสอน โดยการจัดกิจกรรมในการระดมสมอง และหาข้อมูลเพิ่มเติมในการปรับปรุงการสอน  ดังนี้
3.1 สัมมนาการจัดการเรียนการสอน  เพื่อแลกเปลี่ยนเรียนรู้
3.2 การวิจัยในและนอกชั้นเรียน เพื่อปรับปรุงและแก้ไขกรณีในห้องเรียนและการเรียนการสอน
   ในระหว่างกระบวนการสอนรายวิชา มีการทวนสอบผลสัมฤทธิ์ในรายหัวข้อ ตามที่คาดหวังจากการเรียนรู้ในวิชา ได้จาก การสอบถามนักศึกษา หรือการสุ่มตรวจผลงานของนักศึกษา รวมถึงพิจารณาจากผลการ ทดสอบย่อย และหลังการออกผลการเรียนรายวิชา มีการทวนสอบผลสัมฤทธิ์โดยรวมในวิชาได้ดังนี้
4.1 การทวนสอบการให้คะแนนจากการสุ่มตรวจผลงานของนักศึกษาโดยอาจารย์ผู้สอน
4.2 มีการแต่งตั้งคณะกรรมการในสาขาวิชา  ตรวจสอบผลการประเมินการเรียนรู้ของนักศึกษา โดยตรวจสอบข้อสอบ รายงาน วิธีการให้คะแนนสอบ และการให้คะแนนพฤติกรรม
   จากผลการประเมิน และทวนสอบผลสัมฤทธิ์ประสิทธิผลรายวิชา  ได้มีการวางแผนการปรับปรุงการสอนและรายละเอียดวิชา เพื่อให้เกิดคุณภาพมากขึ้น  ดังนี้
5.1 ปรับปรุงรายวิชาทุก 3 ปี หรือตามข้อเสนอแนะและผลการทวนสอบมาตรฐานผลสัมฤทธิ์ตามข้อ 4
5.2 เปลี่ยนหรือสลับอาจารย์ผู้สอน เพื่อให้นักศึกษามีมุมมองในเรื่องการประยุกต์ความรู้นี้กับปัญหาที่มาจากงานวิจัยของอาจารย์หรืออุตสาหกรรมต่าง ๆ