ผลต่างระหว่างรุ่นของ "วิธีการใช้งาน Cafe grader"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 1: แถว 1:
== การใช้งานเบื้องต้น ==
+
== ภาพรวมของ cafe grader ==
 +
Cafe grader นั้นเป็นระบบรับและตรวจโปรแกรม ผู้ใช้งานของระบบจะแบ่งเป็นสองกลุ่มคือ ผู้ตั้งโจทย์ และ ผู้แก้โจทย์ ผู้ตั้งโจทย์จะทำการสร้างโจทย์ และนำโจทย์เข้าสู่ระบบ
 +
 
 +
ในขณะที่ผู้แก้โจทย์จะศึกษาโจทย์ เขียนโปรแกรมเพื่อแก้โจทย์ และส่งโปรแกรมดังกล่าวมาเพื่อให้ระบบทำการตรวจสอบ การตรวจสอบนั้นจะทำโดยให้ผู้ตั้งโจทย์กำหนด input
 +
 
 +
และ output ที่ถูกต้องของโปรแกรม และนำ input/output ดังกล่าวเข้าสู่ระบบ ระบบจะทำการรันโปรแกรมที่รับมาจากผู้แก้โจทย์ โดยใช้ input ที่ถูกกำหนดโดยผู้ตั้งโจทย์ แล้ว
 +
 
 +
เปรียบเทียบ output จากโปรแกรมที่รับเข้ามากับ output ที่ได้จากผู้ตั้งโจทย์ ถ้าผลลัพธ์ตรงกัน หรือมีเงื่อนไขตามที่ผู้ตั้งโจทย์กำหนด ระบบจะทำการให้คะแนนกับโปรแกรมที่
 +
 
 +
รับเข้ามา
 +
 
 +
Cafe grader รองรับการใช้งานโดยผู้ใช้หลายคน และ รองรับโจทย์จำนวนหลายข้อในเวลาเดียวกัน ผู้ตั้งโจทย์และผู้แก้โจทย์สามารถตรวจสอบได้ว่าผลการทำงานของ
 +
 
 +
โปรแกรมที่รับเข้ามาของผู้แก้โจทย์แต่ละบุคคล ในแต่ละข้อนั้นมีผลเป็นอย่างไร นอกจากนี้ Cafe grader ยังมีรองรับการทำงานช่วยเหลือต่าง ๆ เกี่ยวกับการทำโจทย์ ตัวอย่าง
 +
 
 +
เช่น ระบบส่งคำถาม-คำตอบเกี่ยวกับรายละเอียดของโจทย์ ระบบจำกัดเวลาการส่งงาน ระบบจัดกลุ่มโจทย์สำหรับแต่ละกลุ่มของผู้ทำโจทย์ และ
 +
 
 
=== โจทย์ ===
 
=== โจทย์ ===
 +
โจทย์เป็นข้อมูลหลักที่ผู้ตั้งโจทย์จะต้องนำมาใส่ใน Cafe grader โจทย์นั้นจะประกอบด้วยข้อมูลดังต่อไปนี้
 +
# ชื่อย่อของชื่อของโจทย์ ซึ่งต้องไม่ซ้ำกันในโจทย์แต่ละข้อ
 +
# ชื่อเต็มของโจทย์
 +
# ข้อมูลสำหรับการตรวจสอบโปรแกรม ซึ่งอาจจะเป็น รายการของคู่ input/output ที่ควรจะเป็น หรือ โปรแกรมเฉพาะสำหรับตรวจ input/output ก็ได้
 +
# คำอธิบาย
 +
# คะแนนเต็ม
 +
# ข้อกำหนดทางทรัพยากรณ์ คือ เวลา และ หน่วยความจำที่อนุญาติให้โปรแกรมของผู้แก้โจทย์สามารถใช้ได้
 +
 +
ข้อมูลในข้อ 1. - 3. นั้น ผู้ตั้งโจทย์จำเป็นจะต้องจัดเตรียมสำหรับโจทย์แต่ละข้อโดยเฉพาะ ในขณะที่ข้อที่เหลือมีค่าที่กำหนดโดยปริยายจากระบบ ซึ่งผู้ตั้งโจทย์สามารถปรับเปลี่ยนให้ตรงกับโจทย์แต่ละข้อได้
 +
 +
=== โปรแกรม ===
 +
โปรแกรมที่ส่งโดยผู้แก้โจทย์นั้น จะอยู่ในรูปแบบ source code ของภาษา C หรือ C++ ในการส่งโปรแกรมแต่ละครั้งนั้น ผู้แก้โจทย์จะต้องทำจัดเตรียมข้อมูลสองส่วนคือ
 +
# ชื่อย่อของโจทย์ที่ต้องการส่ง
 +
# โปรแกรมสำหรับโจทย์ข้อดังกล่าว
 +
 +
สำหรับโจทย์แต่ละข้อนั้น ผู้แก้โจทย์สามารถส่งโปรแกรมได้หลายโปรแกรม โดยที่ระบบจะเก็บรายละเอียดของการส่งแต่ละครั้ง รวมถึงโปรแกรมที่ส่งมาในครั้งนั้น ๆ ด้วย แต่ระบบจะยึดถือจากโปรแกรมที่ส่งมาครั้งล่าสุดเป็นหลัก
 +
 
== การใช้งานสำหรับผู้ดูแลระบบ ==
 
== การใช้งานสำหรับผู้ดูแลระบบ ==
 +
ในส่วนนี้จะอธิบายพร้อมแสดงตัวอย่างการใช้งานเบื้องต้นพร้อมทั้งแสดงตัวอย่าง ตัวอย่างในส่วนนี้จะถือว่าผู้ดูแลระบบได้ทำการ log in เข้าสู่ระบบแล้ว โดยรหัสผู้ใช้เริ่มต้นของผู้ดูแลระบบคือ '''root''' รหัสผ่านคือ '''ioionrails'''
 +
=== การสร้างผู้ใช้ ===
 +
ผู้ดูแลระบบจะต้องทำการสร้างบัญชีสำหรับผู้ใช้ก่อน โดยใช้เลือกที่รายการเลือก '''[ users ]''' แล้วกรอกรายละเอียดของผู้ใช้ลงในส่วน '''Quick add''' ดังที่แสดงในตัวอย่าง แล้วจึงกดปุ่ม '''create'''
 +
[[ไฟล์:Grader-create-user.png]]
 
=== การเพิ่มโจทย์ ===
 
=== การเพิ่มโจทย์ ===
 
=== สภาพแวดล้อมของตัวตรวจ ===
 
=== สภาพแวดล้อมของตัวตรวจ ===

รุ่นแก้ไขเมื่อ 11:18, 21 พฤษภาคม 2553

ภาพรวมของ cafe grader

Cafe grader นั้นเป็นระบบรับและตรวจโปรแกรม ผู้ใช้งานของระบบจะแบ่งเป็นสองกลุ่มคือ ผู้ตั้งโจทย์ และ ผู้แก้โจทย์ ผู้ตั้งโจทย์จะทำการสร้างโจทย์ และนำโจทย์เข้าสู่ระบบ

ในขณะที่ผู้แก้โจทย์จะศึกษาโจทย์ เขียนโปรแกรมเพื่อแก้โจทย์ และส่งโปรแกรมดังกล่าวมาเพื่อให้ระบบทำการตรวจสอบ การตรวจสอบนั้นจะทำโดยให้ผู้ตั้งโจทย์กำหนด input

และ output ที่ถูกต้องของโปรแกรม และนำ input/output ดังกล่าวเข้าสู่ระบบ ระบบจะทำการรันโปรแกรมที่รับมาจากผู้แก้โจทย์ โดยใช้ input ที่ถูกกำหนดโดยผู้ตั้งโจทย์ แล้ว

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

รับเข้ามา

Cafe grader รองรับการใช้งานโดยผู้ใช้หลายคน และ รองรับโจทย์จำนวนหลายข้อในเวลาเดียวกัน ผู้ตั้งโจทย์และผู้แก้โจทย์สามารถตรวจสอบได้ว่าผลการทำงานของ

โปรแกรมที่รับเข้ามาของผู้แก้โจทย์แต่ละบุคคล ในแต่ละข้อนั้นมีผลเป็นอย่างไร นอกจากนี้ Cafe grader ยังมีรองรับการทำงานช่วยเหลือต่าง ๆ เกี่ยวกับการทำโจทย์ ตัวอย่าง

เช่น ระบบส่งคำถาม-คำตอบเกี่ยวกับรายละเอียดของโจทย์ ระบบจำกัดเวลาการส่งงาน ระบบจัดกลุ่มโจทย์สำหรับแต่ละกลุ่มของผู้ทำโจทย์ และ

โจทย์

โจทย์เป็นข้อมูลหลักที่ผู้ตั้งโจทย์จะต้องนำมาใส่ใน Cafe grader โจทย์นั้นจะประกอบด้วยข้อมูลดังต่อไปนี้

  1. ชื่อย่อของชื่อของโจทย์ ซึ่งต้องไม่ซ้ำกันในโจทย์แต่ละข้อ
  2. ชื่อเต็มของโจทย์
  3. ข้อมูลสำหรับการตรวจสอบโปรแกรม ซึ่งอาจจะเป็น รายการของคู่ input/output ที่ควรจะเป็น หรือ โปรแกรมเฉพาะสำหรับตรวจ input/output ก็ได้
  4. คำอธิบาย
  5. คะแนนเต็ม
  6. ข้อกำหนดทางทรัพยากรณ์ คือ เวลา และ หน่วยความจำที่อนุญาติให้โปรแกรมของผู้แก้โจทย์สามารถใช้ได้

ข้อมูลในข้อ 1. - 3. นั้น ผู้ตั้งโจทย์จำเป็นจะต้องจัดเตรียมสำหรับโจทย์แต่ละข้อโดยเฉพาะ ในขณะที่ข้อที่เหลือมีค่าที่กำหนดโดยปริยายจากระบบ ซึ่งผู้ตั้งโจทย์สามารถปรับเปลี่ยนให้ตรงกับโจทย์แต่ละข้อได้

โปรแกรม

โปรแกรมที่ส่งโดยผู้แก้โจทย์นั้น จะอยู่ในรูปแบบ source code ของภาษา C หรือ C++ ในการส่งโปรแกรมแต่ละครั้งนั้น ผู้แก้โจทย์จะต้องทำจัดเตรียมข้อมูลสองส่วนคือ

  1. ชื่อย่อของโจทย์ที่ต้องการส่ง
  2. โปรแกรมสำหรับโจทย์ข้อดังกล่าว

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

การใช้งานสำหรับผู้ดูแลระบบ

ในส่วนนี้จะอธิบายพร้อมแสดงตัวอย่างการใช้งานเบื้องต้นพร้อมทั้งแสดงตัวอย่าง ตัวอย่างในส่วนนี้จะถือว่าผู้ดูแลระบบได้ทำการ log in เข้าสู่ระบบแล้ว โดยรหัสผู้ใช้เริ่มต้นของผู้ดูแลระบบคือ root รหัสผ่านคือ ioionrails

การสร้างผู้ใช้

ผู้ดูแลระบบจะต้องทำการสร้างบัญชีสำหรับผู้ใช้ก่อน โดยใช้เลือกที่รายการเลือก [ users ] แล้วกรอกรายละเอียดของผู้ใช้ลงในส่วน Quick add ดังที่แสดงในตัวอย่าง แล้วจึงกดปุ่ม create Grader-create-user.png

การเพิ่มโจทย์

สภาพแวดล้อมของตัวตรวจ

ภาวะแข่งขัน

การใช้งานสำหรับผู้ทดสอบ

การส่งคำตอบ

การใช้ Test Interface

การใช้งานในภาวะวิเคราะห์ (Analysis Mode)