การจะใช้ Github Classroom ได้ คุณจำเป็นจะต้องมี Github Profile และสมัครให้เรียบร้อยเสียก่อน คุณจึงจะสามารถเข้ามาทำการส่งงานในการเขียนโปรแกรมใน Github Classroom ได้ ในบทความนี้จะมาอธิบายขึ้นตอนการส่งงานการเขียนโปรแกรมคอมพิวเตอร์โดยใช้ภาษา C อย่างละเอียด โดยจะอธิบายในภาพรวมของ อาจารย์ และ นักศึกษา
ให้อาจารย์เข้าไปใน Github Classroom ของตนเอง และเลือกโจทย์ที่ต้องการจะมอบหมายให้กับนักศึกษา จากตัวอย่างนี้จะยกตัวอย่างเป็นโจทย์ lab1.2 ซึ่งมีหน้าตาของโจทย์ประมาณนี้
ภายในจะพบว่ายังไม่มีนักศึกษาเข้ามาในระบบ ให้ทำการคัดลอกลิงค์ (ที่อยู่ใน Individual assignment) แล้วทำการส่งลิงค์นี้ให้กับนักศึกษาที่ต้องการจะให้รับแบบทดสอบนี้
เมื่อนักศึกษาได้รับลิงค์จากอาจารย์แล้ว ให้คลิกเข้าไป และจะปรากฏหน้าต่างประมาณนี้ ซึ่งเป็นรายละเอียดของโจทย์ข้อนี้ กดปุ่ม Accept this assignment เพื่อทำการรับโจทย์ได้เลย
หมายเหตุ : หากนักศึกษายังไม่มีบัญชี Github ให้ทำการสมัครให้เรียบร้อย และทำการ Login ก่อน
เสร็จเรียบร้อยแล้ว
ทีนี้นักศึกษามีอยู่ 2 ทางเลือกคือ 1. จะทำโจทย์ในเว็บ Github ไปเลย หรือ 2. จะทำการทำใน VS Code ของตนเอง ก็ได้ ในบทความนี้จะเลือกวิธีที่ 1 นะครับ ส่วนวิธีที่ 2 จะเขียนรายละเอียดเอาไว้ในบทความถัดไป เอาล่ะ! เราเลือกวิธีที่ 1 ดังนั้นให้คลิกที่ลิงค์ในรูปเพื่อไปยังขั้นตอนต่อไปได้เลย คลิกลิงค์มาแล้วจะเจอหน้าต่างแบบนี้
โจทย์ของข้อนี้จะอยู่ด้านล่าง ให้อ่านรายละเอียดของโจทย์ให้เรียบร้อย จากนั้นเมื่อต้องการเขียนโค้ดโปรแกรมเพื่อทำการแก้โจทย์ปัญหาข้อนี้ ให้คลิกที่ปุ่ม + เพื่อสร้างไฟล์ใหม่ (อยู่ข้างๆ ปุ่ม <> Code สีเขียว) และให้สร้างไฟล์ในการเขียนโปรแกรมส่ง ชื่อว่า student_program.c
ในหน้านี้ ให้เขียนโค้ดโปรแกรมที่แก้โจทย์ปัญหาตามโจทย์ให้เรียบร้อย ผมจะลองยกตัวอย่างโจทย์ที่ผมจะทำการเขียนแบบผิดๆ ดูก่อน เพื่อให้คุณเห็นภาพหากส่งคำตอบที่ผิดไปจะเกิดอะไรขึ้นนะครับ ผมยกตัวอย่างเป็นแบบนี้
เมื่อเขียนโค้ดเสร็จแล้ว กดให้ปุ่ม Commit changes เพื่อทำการส่งคำตอบ
หลังจากส่งเรียบร้อยแล้ว ให้ไปที่เมนูด้านบนที่เขียนว่า Actions เพื่อดูสถานะการส่งงาน จากรูปจะเห็นว่า จะมีบรรทัดจึงเขียนว่า Create student_program.c ซึ่งจะมีจุดสีเหลืองๆ อยู่ด้านหน้า จุดแต่ละสีมีความหมายดังนี้
เมื่อระบบตรวจเสร็จแล้ว หากขึ้นเป็นสีแดงแบบนี้ สามารถคลิกเข้าไปดูรายละเอียดด้านในได้
เมื่อคลิกเข้ามา เราจะเห็นรายละเอียดการส่งทั้งหมด หากต้องการดูรายละเอียดว่าคำตอบของนักศึกษากับคำตอบของอาจารย์แตกต่างกันอย่างไร ให้คลิกเข้าไปที่สี่เหลี่ยมที่เขียนว่า run-autograding-tests (ที่อยู่ใน classroom.yml)
เมื่อเข้ามาแล้ว จะปรากฏเครื่องหมายกากบาทในวงกลม ที่เขียนว่า Autograding Reporter ให้คลิกเข้าไปดูรายละเอียด คุณจะเห็นรายละเอียดทั้งหมดการรันทั้งหมด และบรรทัดที่ 10-11 จะเป็นคำสั่งที่ชี้ให้เห็นว่า อาจารย์กรอกเลข 5 เข้าไปในระบบ และผลลัพธ์ที่ควรจะได้คือ 2 4 6 8 10 นั่นเอง
หากคุณต้องการดูผลลัพธ์ของตนเอง ว่าต่างกับของอาจารย์อย่างไร ให้เข้าไปดูใแถบที่เขียนว่า case1 จะปรากฏผลลัพธ์ดังนี้
รายละเอียดเบื้องต้นจะมีดังนี้
เราต้องกลับไปแก้โค้ดโปรแกรมในไฟล์ student_program.c เพื่อเขียนโปรแกรมให้ได้ผลลัพธ์ที่ถูกต้อง จากโจทย์ข้อนี้ ให้ทำการปรับโค้ดโปรแกรมใหม่ให้ได้ผลลัพธ์ที่ถูกต้อง เป็นลักษณะนี้
เมื่อทำการ Commit โค้ดไป และไปตรวจสอบในเมนู Action อีกรอบ จะได้ผลลัพธ์แบบนี้
หากขึ้นสีเขียวแบบนี้ แสดงว่าโค้ดของเราถูกต้องแล้วนั่นเอง คำตอบที่เกิดจากการนำเอา Input ของอาจารย์ มาทดสอบกับโค้ดของเรา ทำให้ได้ Output ที่ตรงกับ Output ที่อาจารย์เตรียมไว้นั่นเอง
การเข้าไปส่งงานใน github classroom จำเป็นจะต้องมีบัญชีของ Github ให้เรียบร้อย และนักศึกษาสามารถทำการอ่านและแก้ไขโจทย์ปัญหาที่อยู่ใน Assignment โดยระลึกไว้เสมอว่า ชื่อไฟล์ที่สร้างจะต้องชื่อว่า student_program.c และเมื่อกด commit เสร็จเรียบร้อยแล้ว โปรแกรมจะดึงเอา Input ที่เตรียมไว้ มาทดสอบกับโปรแกรมของเรา หาก Output ที่ได้ตรงกับ Output ที่อาจารย์เตรียมไว้ จึงจะได้รับคะแนน หากผลลัพธ์ที่ได้ไม่ตรงกับ แนะนำให้ตรวจสอบความถูกต้องจาก Report ที่อยู่ใน Actions ตามที่อธิบายในบทความนี้ได้เลยครับ