Skip to content

neneeeee/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 หลังจากที่ทำข้อสอบเสร็จแล้วก็ตาม) แล้วแนบมาพร้อมกับฟอร์มลงทะเบียนสมัครเข้าโครงการฯ ภายใต้หัวข้อ “แบบทดสอบเข้าโครงการ” ได้เลย

About

Entrance Exaimation for AI Builders 2022

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 71.7%
  • Python 28.3%