Skip to content

ai-builders/entrance-exam-2022

Repository files navigation

ข้อสอบคัดเลือกเข้าโครงการ AI Builders ครั้งที่ 2 (2022)

📢 ประกาศล่าสุด 📢

กรุณาอ่านประกาศล่าสุดและข้อมูลที่มีการเปลี่ยนแปลง

ลิงก์ข้อมูลที่เกี่ยวข้อง


ข้อตกลงและนโยบายเกี่ยวกับข้อสอบ

รูปแบบของข้อสอบ

น้อง ๆ ที่ประสงค์จะสมัครเข้าร่วมโครงการ AI Builders ครั้งที่ 2 จะต้องทำข้อสอบที่กำหนดให้ในไฟล์โน้ดบุ๊ก exam.ipynb น้อง ๆ จะต้องเขียนโปรแกรมภาษา Python เบื้องต้นลงในไฟล์โน้ตบุ๊กดังกล่าว เพื่อตอบโจทย์ปัญหาที่ระบุในข้อสอบนั้น

หลังจากที่น้อง ๆ ได้ทำข้อสอบแล้ว จะต้องแนบไฟล์โน้ตบุ๊กดังกล่าวมากับใบสมัครเข้าร่วมโครงการฯ ตามแบบฟอร์มในเว็บไซต์ของโครงการฯ อีกด้วย

การตรวจโปรแกรมอัตโนมัติ

เนื่องจากในปีที่ผ่านมา มีน้อง ๆ ได้ยื่นสมัครเข้าร่วมโครงการ AI Builders เข้ามาเป็นจำนวนมาก ทีมงานจึงจำเป็นต้องเปลี่ยนมาใช้การตรวจข้อสอบด้วยตัวตรวจอัตโนมัติ (Automatic Grading)

ดังนั้นแล้วผู้ประสงค์ที่จะสมัครเข้าร่วมโครงการฯ จะต้องทำข้อสอบตามคำชี้แจงที่ระบุไว้ในไฟล์โน้ตบุ๊กด้วยความระมัดระวัง และไม่เผลอแก้ไขหรือเปลี่ยนแปลงโครงสร้างของไฟล์จนตัวตรวจอัตโนมัติไม่สามารถประมวลผลได้

เพื่ออำนวยความสะดวกให้แก่น้อง ๆ ทีมงานได้เตรียมเครื่องมือพิเศษเพื่อตรวจสอบโครงสร้างของไฟล์โน้ตบุ๊กไว้ให้แล้ว กล่าวคือ เมื่อผู้ทำข้อสอบได้แก้ไขไฟล์โน้ตบุ๊ก exam.ipynb และได้เซฟขึ้น Repository บน GitHub แล้ว สคริป GitHub Actions จะพยายามตรวจไฟล์โน้ตบุ๊กทันที ทำให้น้อง ๆ ทราบได้เองว่าโครงสร้างของไฟล์ได้เกิดการเปลี่ยนแปลงขึ้นหรือไม่ และสามารถแก้ไขข้อผิดพลาดที่เกิดขึ้นได้เรื่อย ๆ จนกว่าจะข้อสอบจะผ่านการตรวจจนถูกต้อง

โปรดดูรายละเอียดเพิ่มเติมในหัวข้อวิธีการทำข้อสอบ และโปรดทราบว่า ไฟล์โน้ตบุ๊กของผู้สมัครที่ตัวตรวจอัตโนมัติไม่สามารถประมวลผลได้จะไม่ถูกพิจารณา

เทสเคสตรวจข้อสอบ

ในไฟล์โน้ตบุ๊กที่เป็นข้อสอบที่ทีมงานเตรียมให้นั้น มีเทสเคส (test case) ประกอบโจทย์ปัญหาแต่ละข้อ เพื่อใช้ทดสอบความถูกต้องของโปรแกรมของผู้ทำข้อสอบในเบื้องต้นด้วย นอกจากนี้เทสเคสดังกล่าวยังแสดงตัวอย่างวิธีการใช้งานฟังก์ชันที่ผู้ทำข้อสอบจะต้องเขียนขึ้นด้วย ทีมงานจึงแนะนำให้ศึกษาเทสเคสดังกล่าวเพื่อทำให้เข้าใจโจทย์ปัญหามากขึ้นด้วย

อย่างไรก็ตาม เมื่อผู้ทำข้อสอบได้ส่งไฟล์โน้ตบุ๊กซึ่งมีโปรแกรมคำตอบมายังโครงการฯ แล้ว ทีมงานจะตรวจไฟล์โน้ตบุ๊กดังกล่าวกับเทสเคสอื่น ๆ ที่ถูกเก็บเป็นความลับเพิ่มเติม เพื่อยืนยันความถูกต้องของโปรแกรมคำตอบที่ส่งสมัครเข้าโครงการฯ ด้วย

หมายเหตุ: ทีมงานจะใช้ Python 3.7 ในการตรวจข้อสอบ

การพิจารณาเข้าร่วมโครงการ

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

อย่างไรก็ตาม ทีมงานโครงการ AI Builders ขอสงวนสิทธิ์ในการงดให้ความช่วยเหลือใด ๆ ที่เกี่ยวข้องกับการทำแบบทดสอบฉบับนี้แก่ผู้ต้องการสมัครเข้าโครงการ AI Builders และนอกจากนี้ ทีมงานขอสงวนสิทธิ์ในการงดพิจารณาใบสมัครข้อผู้สมัครที่กระทำการทุจริต โดยเฉพาะการลอกเลียนแบบทางวิชาการ (Plagiarism) ซึ่งเป็นดุลยพินิจของทีมงานแต่เพียงผู้เดียว

ผลการพิจารณาคัดเลือกผู้สมัครเข้าโครงการฯ ของทีมงานถือเป็นที่สิ้นสุด

คำปฏิเสธความรับผิดชอบ

ผู้ประสงค์ทำข้อสอบเพื่อคัดเลือกเข้าโครงการฯ จะต้องยอมรับความเสี่ยงที่อาจเกิดขึ้นต่อข้อมูล หรือต่ออุปกรณ์คอมพิวเตอร์ (หรือทั้งสองอย่าง) อันเกิดจากการทำข้อสอบตามขั้นตอนที่ระบุไว้ในเอกสารนี้ ทีมงานโครงการ AI Builders จะไม่รับผิดชอบในความเสียหายใด ๆ ที่เกิดขึ้นทั้งสิ้น


วิธีการทำข้อสอบ

ขั้นตอนที่ 1 / 5: ยอมรับข้อตกลง

โปรดอ่าน ข้อตกลงและนโยบายเกี่ยวกับข้อสอบ และ ประกาศล่าสุด
เมื่อส่งใบสมัครเข้าร่วมโครงการฯ จะถือว่าผู้สมัครได้อ่านและยอมรับข้อตกลงและเงื่อนไขข้างต้นแล้ว

ขั้นตอนที่ 2 / 5: สร้าง Repository ใหม่

สร้าง Repository ใหม่สำหรับข้อสอบของน้องเอง ซึ่งจะใช้วิธีการคัดลอกซ้ำจาก Repository นี้
(หมายเหตุ: ห้ามใช้ฟังก์ชัน fork ของ GitHub เป็นอันขาด)

  1. หากน้อง ๆ ยังไม่มีแอคเคาท์ของ GitHub โปรดสร้างแอคเคาท์ใหม่ได้ที่นี่
  2. เปิดหน้าเว็บใหม่ https://github.com/new/import ในเบราว์เซอร์ในคอมพิวเตอร์
  3. ในช่อง “Your old repository’s clone URL” ให้ระบุ URL เป็น https://github.com/ai-builders/entrance-exam-2022
  4. กำหนดชื่อ Repository ใหม่ (เช่น ai-builders-entrance-exam-2022)
  5. ตั้งค่า “Privacy” ให้เป็น Private เพื่อป้องกันมิให้ผู้อื่นคัดลอกคำตอบ
  6. กดปุ่ม [Begin Import] เพื่อเริ่มสร้าง Repository ใหม่
  7. รอสักครู่หนึ่ง แล้ว Repository ใหม่ก็จะพร้อมใช้งาน
  8. เข้าไปยัง Repository ที่เพิ่งสร้างใหม่ จากในหน้าดังกล่าวให้กดที่เมนู [Settings] → [Actions] → [General] แล้วตรวจสอบว่าได้เลือกออปชั่น “Allow all actions and workflows” ภายใต้หัวข้อ Actions permissions แล้ว

ขั้นตอนที่ 3 / 5: ลงมือทำข้อสอบ

ลงมือทำข้อสอบได้ด้วยการเปิดไฟล์โน้ตบุ๊ก exam.ipynb แล้วลงมือเขียนโปรแกรมเพื่อแก้โจทย์ปัญหาที่ระบุไว้ในข้อสอบ

วิธีการลงมือทำข้อสอบมีหลายวิธี ทีมงานขอนำเสนอ 2 วิธีดังต่อไปนี้

- วิธีการที่ 1: ใช้ Google Colab -

สำหรับวิธีนี้ น้อง ๆ ไม่จำเป็นต้องติดตั้งอะไรเพิ่มเติมในคอมพิวเตอร์ของตนเอง น้อง ๆ สามารถใช้บริการของ Google เพื่อแก้ไขไฟล์โน้ตบุ๊กได้เลย (หมายเหตุ: อาจจำเป็นต้องมี Google Account สำหรับวิธีการนี้)

  1. เข้าเว็บไซต์ https://colab.research.google.com/ จะมีคำขอให้คุณสร้างไฟล์โน้ตบุ๊กใหม่ ให้กดที่แถบ [GitHub] แล้วจะมีหน้าต่างใหม่โผล่ออกมา
  2. ในหน้าต่างใหม่นั้น GitHub จะขอ Permission ของคุณเพื่อเชื่อมต่อ Google Colab เข้ากับ GitHub Repository ของคุณ ให้กดปุ่ม [Authorize googlecolab] เพื่อดำเนินการต่อ
  3. ค้นหา Repository ที่คุณสร้างในขั้นตอนที่ 2/5 (อย่าลืมกด [✔] Include Private Repos ก่อนค้นหา) ไฟล์โน้ตบุ๊กที่ชื่อว่า exam.ipynb จะปรากฏขึ้นมา ให้เลือกไฟล์ดังกล่าวเพื่อดำเนินการต่อ
  4. ไฟล์โน้ตบุ๊กข้างต้นจะโหลดขึ้นมา ผู้ทำข้อสอบสามารถลงมือทำข้อสอบโดยปฏิบัติตามขั้นตอนที่ระบุไว้ในเอกสารข้อสอบได้
  5. เมื่อทำข้อสอบเสร็จจนเป็นที่พอใจแล้วนั้น สามารถเซฟไฟล์โน้ตบุ๊กกลับไปยัง GitHub Repository เดิมได้ด้วยการกดที่เมนู [File] → [Save a copy in GitHub] แล้วกด [OK] เพื่อยืนยันการเซฟอีกครั้งหนึ่ง เมื่อเสร็จสิ้นแล้ว คุณจะถูกพากลับไปยังหน้า GitHub Repository ของคุณ

- วิธีการที่ 2: ทำบนเครื่องคอมพิวเตอร์ส่วนตัว -

หากน้อง ๆ ต้องการความยืดหยุ่นในการทำงาน สามารถพิจารณาคำแนะนำต่อไปนี้และปรับใช้อย่างเหมาะสมได้

  1. โปรดเรียนรู้วิธีการใช้งาน Terminal/Command Line และติดตั้งโปรแกรม Git, Python 3.7, และ pip เวอร์ชัน 22+ ลงในเครื่องของคุณ ซึ่งสามารถศึกษาได้จากแหล่งข้อมูลต่อไปนี้ (หรือแหล่งข้อมูลอื่น ๆ ที่พบได้ออนไลน์ทั่วไป)
  2. คัดลอก Repository ที่คุณสร้างขึ้นในขั้นตอนที่ 2/5 มายังคอมพิวเตอร์ของคุณด้วยคำสั่ง Clone
  3. ติดตั้งแพ็กเกจที่จำเป็นสำหรับการทำข้อสอบด้วยการใช้คำสั่งต่อไปนี้ใน Terminal
    $ pip install -U pip
    $ pip install -r requirements.txt
    $ pip install .
  4. เปิดใช้งาน Jupyter โดยพิมพ์คำสั่งต่อไปนี้
    $ jupyter lab exam.ipynb
    เบราว์เซอร์หน้าต่างใหม่จะเปิดขึ้น พร้อมกับโหลดไฟล์โน้ตบุ๊กที่คุณต้องทำข้อสอบ ผู้ทำข้อสอบสามารถลงมือทำข้อสอบโดยปฏิบัติตามขั้นตอนที่ระบุไว้ในเอกสารข้อสอบได้
  5. เมื่อทำข้อสอบเสร็จจนเป็นที่พอใจแล้วนั้น สามารถเซฟไฟล์โน้ตบุ๊กกลับไปยัง GitHub Repository ด้วยการใช้คำสั่ง Commit และ Push การแก้ไขกลับมายังเว็บไซต์ GitHub

ขั้นตอนที่ 4 / 5: ตรวจสอบโครงสร้างไฟล์โน้ตบุ๊ก

หลังจากที่นำไฟล์โน้ตบุ๊กที่มีโปรแกรมคำตอบขึ้น GitHub Repository ของตนแล้ว ตัวตรวจจะทำงานโดยอัตโนมัติ ผู้ทำข้อสอบสามารถดูผลได้โดยทำตามขั้นตอนต่อไปนี้

  1. เข้าไปยังหน้า Repository ของตนเองในเว็บไซต์ของ GitHub
  2. เข้าไปยังแถบ [Actions] เลือก Workflow Run ล่าสุด
  3. คลิกดูผลจาก [Grade the exam notebook] แล้วเลือก [Notebook grading]

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

หมายเหตุ: หากคุณเลือกทำข้อสอบด้วยวิธีการที่ 2 ในขั้นตอนที่ 3/5 แล้วนั้น คุณสามารถใช้ตัวตรวจภายในเครื่องของคุณได้เช่นกัน โดยรันคำสั่งต่อไปนี้ใน Terminal

$ ./grade.py exam.ipynb

ขั้นตอนที่ 5 / 5: ส่งโปรแกรมคำตอบ

เมื่อน้อง ๆ ทำข้อสอบเสร็จเป็นที่พอใจแล้ว ให้ดาวน์โหลดไฟล์โน้ตบุ๊ก (ไม่ว่าจะผ่าน GitHub Repository ของตน หรือดาวน์โหลดจาก Google Colab หลังจากที่ทำข้อสอบเสร็จแล้วก็ตาม) แล้วแนบมาพร้อมกับฟอร์มลงทะเบียนสมัครเข้าโครงการฯ ภายใต้หัวข้อ “แบบทดสอบเข้าโครงการ” ได้เลย