หน่วยสมรรถนะ

หน่วยสมรรถนะ

เขียนโปรแกรมเพื่อเพิ่มประสิทธิภาพของเกม (Optimization)

สาขาวิชาชีพอุตสาหกรรมดิจิทัล


รายละเอียดหน่วยสมรรถนะ


1. รหัสหน่วยสมรรถนะ ICT-HZIR-346B

2. ชื่อหน่วยสมรรถนะ เขียนโปรแกรมเพื่อเพิ่มประสิทธิภาพของเกม (Optimization)

3. ทบทวนครั้งที่ - / -

4. สร้างใหม่ ปรับปรุง

5. สำหรับชื่ออาชีพและรหัสอาชีพ (Occupational Classification)

          อาชีพนักพัฒนาโปรแกรมเกม 



6. คำอธิบายหน่วยสมรรถนะ (Description of Unit of Competency)
          บุคคลที่ผ่านสมรรถนะนี้จะต้องมีความรู้ความเข้าใจ ในพื้นฐานการเขียนโปรแกรมอย่างถูกหลักการเพื่อให้โปรแกรมสามารถทำงานได้อย่างมีประสิทธิภาพสูงสุด

7. สำหรับระดับคุณวุฒิ
1 2 3 4 5 6 7 8

8. กลุ่มอาชีพ (Sector)
          ผู้ปฏิบัติงานด้านการพัฒนาโปรแกรมเกม หรืออื่นๆ ที่เกี่ยวข้อง

9. ชื่ออาชีพและรหัสอาชีพอื่นที่หน่วยสมรรถนะนี้สามารถใช้ได้ (ถ้ามี)
N/A

10. ข้อกำหนดหรือกฎระเบียบที่เกี่ยวข้อง (Licensing or Regulation Related) (ถ้ามี)
N/A

11. สมรรถนะย่อยและเกณฑ์การปฏิบัติงาน (Elements and Performance Criteria)
หน่วยสมรรถนะย่อย (EOC) เกณฑ์ในการปฏิบัติงาน (Performance Criteria) รหัส PC
(ตามเล่มมาตรฐาน)
รหัส PC
(จากระบบ)
30131 เขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) ได้อย่างมีประสิทธิภาพ 1. ระบุทฤษฎีการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) 30131.01 122263
30131 เขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) ได้อย่างมีประสิทธิภาพ 2. ประยุกต์ใช้ทฤษฎีการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) 30131.02 122264
30132 ใช้ Data Structures และ Variables ได้อย่างมีประสิทธิภาพ 1. ระบุทฤษฎีการใช้และข้อจำกัดของ Data Structures และ Variables 30132.01 122265
30132 ใช้ Data Structures และ Variables ได้อย่างมีประสิทธิภาพ 2. ใช้ Data Structures และ Variables ได้ 30132.02 122266
30133 ใช้ Statements และ ประยุกต์ใช้ Algorithms ได้อย่างมีประสิทธิภาพ 1. ระบุทฤษฎีการใช้และข้อจำกัดของ Statements และ Algorithms 30133.01 122267
30133 ใช้ Statements และ ประยุกต์ใช้ Algorithms ได้อย่างมีประสิทธิภาพ 2. ใช้ Statements และ Algorithms ได้ 30133.02 122268

12. ความรู้และทักษะก่อนหน้าที่จำเป็น (Pre-requisite Skill & Knowledge)

          มีความรู้และทักษะในการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) มีความเข้าใจการใช้งาน Data Structures และ Variables และ Statements


13. ทักษะและความรู้ที่ต้องการ (Required Skills and Knowledge)

(ก) ความต้องการด้านทักษะ

N/A

(ข) ความต้องการด้านความรู้


  1. มีความรู้เกี่ยวกับทฤษฎีการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming)

  2. มีความรู้เกี่ยวกับทฤษฎีการใช้และข้อจำกัดของ Data Structures และ Variables

  3. มีความรู้เกี่ยวกับทฤษฎีการใช้และข้อจำกัดของ Statements และ Algorithms

  4. มีความรู้เกี่ยวกับ Programming Logic


14. หลักฐานที่ต้องการ (Evidence Guide)

          หลักฐานที่จะต้องกำหนดข้อแนะนำเกี่ยวกับการประเมินและควรที่จะใช้ประกอบร่วมกันกับเกณฑ์การปฏิบัติงาน (Performance Criteria) และทักษะและความรู้ที่ต้องการ (Required Skill and Knowledge)



(ก) หลักฐานการปฏิบัติงาน (Performance Evidence)



          N/A



(ข) หลักฐานความรู้ (Knowledge Evidence)




  1. ผลการสอบแบบทดสอบปรนัย



(ค) คำแนะนำในการประเมิน




  1. เจ้าหน้าที่สอบตรวจประเมินหลักฐานโดยพิจารณาจากร่องรอยหลักฐานที่เกี่ยวข้อง ทั้งหลักฐานด้านปฏิบัติงานและหลักฐานด้านความรู้



(ง) วิธีการประเมิน




  1. แบบทดสอบปรนัย


15. ขอบเขต (Range Statement)

          ขอบเขตอธิบายถึงขอบเขตของการปฏิบัติงาน และสภาพแวดล้อมอื่นๆ หรือสถานการณ์อื่นๆ ที่มีผลกระทบต่อการทำงานรวมถึงเครื่องมือ อุปกรณ์ เทคโนโลยี ทรัพยากรที่ใช้หรือข้อกำหนดอื่นๆ ที่เกี่ยวข้อ



(ก) คำแนะนำ




  1. ในการปฏิบัติงานให้คำนึงถึงทักษะการเขียนโปรแกรมเพื่อเพิ่มประสิทธิภาพของเกม (Optimization) ที่ทำให้โปรแกรมคอมพิวเตอร์ทำงานเร็วขึ้นหรือใช้ทรัพยากรน้อยลง ในการทดสอบนี้ต้องมีความเข้าใจการใช้และข้อจำกัดของ Data Structures, Variables และ Statements รวมถึงสามารถประยุกต์ใช้ Algorithms เพื่อทำให้โปรแกรมที่เขียนใช้ทรัพยากร น้อยที่สุด



(ข) คำอธิบายรายละเอียด




  1. เกมเอนจิน (Game Engine) หมายถึง โปรแกรมคอมพิวเตอร์เพื่อใช้สร้างวีดีโอเกม ซึ่งโปรแกรมเหล่านี้ถูกเขียนขึ้นมาจากภาษาคอมพิวเตอร์ต่างๆ อาทิ C, C++, JAVA เป็นต้น เกมเอนจินเปรียบเสมือนเป็นเครื่องมือใช้สร้างชิ้นส่วนต่างๆ ของระบบเกม ชิ้นส่วนเหล่านี้ จะถูกนำไปประกอบเข้าด้วยกัน และถูกทดสอบว่าสามารถทำงานร่วมกันได้อย่างไม่มีปัญหา ภายใต้สภาพแวดล้อมที่ถูกกำหนดไว้ เป็นกระบวนการในการสร้างเกมให้ออกมาสมบูรณ์ นักพัฒนาเกมจำนวนมากใช้เกมเอนจินในการสร้างเกมสำหรับเครื่องเล่น มือถือ ตลอดจนคอมพิวเตอร์พกพาการทำงานของเกมเอนจิน ประกอบด้วย การเรนเดอร์กราฟิก 2 มิติ 3 มิติ การตรวจสอบการชนระบบเสียง ภาษาสคริปต์ แอนิเมชัน ปัญญาประดิษฐ์ ระบบเน็ตเวิร์ค การสตรีม การจัดการหน่วยความจำ การรองรับภาษาที่แปล ตลอดจนระบบอื่นๆ อีกมากมาย

  2. Programming Logic หมายถึง การเขียนโปรแกรมเชิงตรรกะ (อังกฤษ: Logic programming) เป็นแนวทางการเขียนโปรแกรม (programming paradigm) แบบหนึ่ง โดยกำหนดเซตคุณลักษณะ (attribute) ของคำตอบ แทนที่จะกำหนดขั้นตอนที่ทำให้ได้คำตอบ การเขียนโปรแกรมแบบนี้มีหลักการคือ ความจริง + กฎ = ผลลัพธ์ หลักการอื่นที่แตกต่างให้ดู การเขียนโปรแกรมตรรกะเชิงอุปนัย (Inductive logic programming)

  3. ไลบรารี (Library/Tool) หมายถึง คลังโปรแกรม หรือ ในทางวิทยาการคอมพิวเตอร์ คือส่วนที่รวบรวมกระบวนการ (process) และฟังก์ชันย่อย (subroutine) ต่างๆ ซึ่งอาจจะรวมรหัสต้นฉบับ (source code) ที่จำเป็นต้องใช้ในการเขียนซอฟต์แวร์ หรือ ใช้ในการทำงานของโปรแกรมหนึ่ง Library/Tool ที่เกี่ยวกับการพัฒนาเกมมีมากมายหลายชนิดเช่น Graphic Artificial Intelligent (AI) และ Physic เป็นต้น

  4. การเขียนโปรแกรมเชิงวัตถุ OOP (Object Oriented Programming) เป็นวิธีการเขียนโปรแกรม โดยอาศัยแนวคิดของวัตถุชิ้นหนึ่ง มีความสามารถในการปกป้องข้อมูล และการสืบทอดคุณสมบัติ อาลัน เคย์ (Alan Kay) ได้เสนอกฎ 5

    • ทุกๆ สิ่งเป็นวัตถุ (Everything is an Object)

    • โปรแกรม ก็คือ กลุ่มของวัตถุที่ส่งข่าวสารบอกกันและกันให้ทำงาน (A Program is a Bunch of Object Telling Each Other What to do by Sending Messages)

    • ในวัตถุแต่ละวัตถุจะต้องมีหน่วยความจำและประกอบไปด้วยวัตถุอื่นๆ (Each Object has Its Own Memory Made Up of Other Objects)

    • วัตถุทุกชนิดจะต้องจัดอยู่ในประเภทใดประเภทหนึ่ง (Every Object has a Type)

    • วัตถุที่จัดอยู่ในประเภทเดียวกันย่อมได้รับข่าวสารเสมือนกัน (All Object of a Particular Type Can Receive the Same Messages)



  5. Variable หมายถึง ตัวแปร ซึ่งหมายถึงตัวที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล เก็บข้อมูลในหน่วยความจำขณะที่โปรแกรมทำงาน  ประกอบด้วยชื่อตัวแปรและตำแหน่งที่เก็บ  แต่ในการเรียกใช้งานส่วนใหญ่จะใช้ชื่อตัวแปรเป็นหลัก ตัวแปรใช้เก็บข้อมูลที่มีการเรียกใช้หลายครั้ง  เช่น  ในการคำนวณหลายอย่าง  การเปรียบเทียบข้อมูลหลายครั้ง

  6. Statement เป็นข้อความที่เขียนสั่งให้คอมพิวเตอร์ทำงานตามที่ต้องการด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง มี 2 แบบ คือ แบบข้อความสั่งทำการ (executable statement) และข้อความสั่งไม่ทำการ (non executable statement)ข้อความทั้งหมดที่เขียนสั่งตั้งแต่ต้นจนจบเรียกว่า ชุดคำสั่ง หรือ โปรแกรม (program) Script โดยปรกติประกอบด้วยลำดับของ statements ถ้ามีมากกว่าหนึ่ง statement ผลลัพธ์ปรากฏขึ้นในครั้งหนึ่งเป็น statement execute

  7. Data Structures หมายถึง ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้างนั้นๆ รวมทั้งกระบวนการในการจัดการข้อมูลในโครงสร้าง หรือ การจัดเตรียมรูปแบบการเก็บข้อมูลในหน่วยความจำอย่างมีระเบียบแบบแผนการแทนข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง ตลอดจนกรรมวิธีการเข้าถึงข้อมูลในโครงสร้างให้เป็นไปอย่างมีประสิทธิภาพ

  8. Algorithms หมายถึง แนวคิดอย่างมีเหตุมีผลที่ผู้พัฒนาโปรแกรม โปรแกรมเมอร์ หรือนักวิเคราะห์ระบบ ใช้ในการอธิบายวิธีการทำงานอย่างเป็นขั้นตามลำดับในการที่จะพัฒนาโปรแกรมนั้นๆ ให้กับผู้ที่สนใจหรือผู้ที่เป็นเจ้าของงาน หรือผู้ที่รับผิดชอบได้ทราบถึงขั้นตอนต่างๆ ในการเขียนหรือพัฒนาโปรแกรมขณะเดียวกันสามารถช่วยให้ผู้ที่เป็นเจ้าของงาน หรือผู้ที่รักผิดชอบได้ตรวจสอบขั้นตอนต่างๆ ในการทำงาน และความถูกต้องในแต่ละขั้นตอนการทำงาน โดยผู้ที่เป็นเจ้าของงานหรือผู้ที่รับผิดชอบนั้นๆ ไม่จำเป็นต้องเขียนโปรแกรมเป็น

  9. Optimizations ในด้านวิทยาศาสตร์คอมพิวเตอร์ หมายถึง การเพิ่มประสิทธิภาพโปรแกรมหรือการปรับให้เหมาะสมของซอฟต์แวร์เป็นกระบวนการของการปรับเปลี่ยนระบบซอฟต์แวร์เพื่อให้การทำงานบางอย่างมีประสิทธิภาพมากขึ้นหรือใช้ทรัพยากรเช่น CPU และ Memory น้อยลง โดยทั่วไปโปรแกรมคอมพิวเตอร์อาจได้รับการปรับให้เหมาะสมเพื่อให้สามารถเรียกใช้งานได้รวดเร็วขึ้นหรือเพื่อให้สามารถใช้งานได้โดยใช้หน่วยความจำน้อยลงหรือทรัพยากรอื่นๆ หรือใช้พลังงานน้อยลง การ Optimizations มีหลายระดับหลายวิธี แต่ในการทดสอบนี้จะวัดความเข้าใจในระดับ Data Structure, Variables, Statements และ Algorithms โดยต้องมีความเข้าใจการใช้และข้อจำกัดของ Data Structures, Variables และ Statements ได้อย่างเหมาะสมกับการใช้งานรวมถึงต้องสามารถเลือกประยุคใช้ Algorithms เพื่อทำให้โปรแกรมที่เขียนใช้ทรัพยากรน้อยที่สุด


16. หน่วยสมรรถนะร่วม (ถ้ามี)
N/A

17. อุตสาหกรรมร่วม/กลุ่มอาชีพร่วม (ถ้ามี)
N/A

18. รายละเอียดกระบวนการและวิธีการประเมิน (Assessment Description and Procedure)

  1. แบบทดสอบปรนัย



ยินดีต้อนรับ