CORPAS C++ Online Randomized Problem Generator And Grading System Mr

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ภาษา JAVA.
Advertisements

Introduction to C Introduction to C.
โครงสร้างโปรแกรมภาษา C
ระบบปฏิบัติการ อ. รวินทร์ ไชยสิทธิพร.
ระบบปฏิบัติการ (Operating System : OS )
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
Multi-Version Text Viewer / Editor COE Chaiwat Sookpanya : Kannawat Chaiyarajsamee :
การเขียนผังงาน.
ภาษาคอมพิวเตอร์ กฎเกณฑ์เกี่ยวกับคำศัพท์ ไวยากรณ์ และ หลักภาษาในการเขียนคำสั่งงานให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งให้กับเราได้ มีหลากหลายชนิดต่างๆ กัน.
Software คือ ชุดคำสั่งหรือ ขั้นตอนการทำงานของคอมพิวเตอร์
Introduction to C Programming.
การพัฒนาการใช้งานในระบบเว็บ
Intro : การเขียนโปรแกรมบนอินเตอร์เน็ต
รูปแบบโครงสร้างภาษาซี
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
ภาษาคอมพิวเตอร์.
ซอฟต์แวร์.
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
โดย อาจารย์ณัฐพงศ์ พยัฆคิน
ปฏิบัติการที่ 3 : การสร้างโฮมเพจอย่างง่าย
หน่วยที่ 2 วิธีการออกแบบโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับ JAVA
ขั้นตอนการแปลงไฟล์.
Surachai Wachirahatthapong
Introduction to php Professional Home Page :PHP
การพัฒนาเว็บด้วยโปรแกรมสำเร็จรูป
การพัฒนาเว็บเบื้องต้นด้วย Macromedia Dreamweaver
ภาษาที่ใช้ในการเขียนเว็บไซต์
PHP.
การสร้างช่องรับข้อมูล
เตรียมตัวให้พร้อมก่อนเขียนโปรแกรม Java
การออกแบบสถาปัตยกรรมแอปพลิเคชั่น
Introduction to C Language
วิธีการทางคอมพิวเตอร์
Charter 11 1 Chapter 11 ระบบปฏิบัติการ Operation System : OS.
ความรู้เบื้องต้น เกี่ยวกับภาษา PHP ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดง พิทยาคม.
คำสั่งแสดงผลในภาษา PHP
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
บทที่ 3 การวิเคราะห์ Analysis.
ความรู้เบื้องต้นเกี่ยวกับการสร้าง WebPage
ประวัติและขั้นตอนการพัฒนาโปรแกรมภาษาซี
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
Computer Programming for Engineers
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
บทที่ 3 การทำงานกับฟอร์ม (Form)
ระบบบริหารงานวิจัยแห่งชาติ
การนำระบบเทคโนโลยีสารสนเทศมาสนับสนุนการทำงาน
การเขียนผังงาน (Flowchart)
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
ปิยพจน์ และคณะ ภาควิชาเทคโนโลยีและสื่อสาร การศึกษา คณะครุศาสตร์ จุฬาลงกรณ์ มหาวิทยาลัย.
Java for Android Mobile Application Developers
ซอฟต์แวร์คอมพิวเตอร์ ชั้นมัธยมศึกษาปีที่ ม.4/2 โรงเรียนมัธยมวัดป่ามะไฟ
Introduction to PHP, MySQL – Special Problem (Database)
Introduction to PHP, MySQL – Special Problem (Database) Choopan Rattanapoka.
DEVELOPMENT PRACTICING C- PROGRAMMING IMPLEMENTATION SYSTEM REQUIREMENT Wattanapong suttapak, Software Engineering, school of Information communication.
การออกแบบส่วนติดต่อกับผู้ใช้ User Interface Design
แนวคิดในการเขียนโปรแกรม
บทที่ 1 ระบบคอมพิวเตอร์.
หลักการเขียนโปรแกรม ( )
โครงสร้างข้อมูล(Data Structure)
ความรู้พื้นฐานเกี่ยวกับการโปรแกรมคอมพิวเตอร์
ระบบคอมพิวเตอร์ (computer system)
PHP. P ersonal H ome P age P rofessional H ome P age PHP : H ypertext P reprocessor.
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
Introduction to SQL (MySQL) – Special Problem (Database)
2 มิ. ย 2547 โดย วชิราวุธ ธรรมวิเศษ 1 บทที่ 1 แนะนำเทคโนโลยีจาวา Introduction to Java Technology.
วิชาเทคโนโลยีคอมพิวเตอร์และระบบปฏิบัติการ รหัสวิชา Computer Technology and Operating System บทที่ 1 เทคโนโลยีคอมพิวเตอร์ อ.รจนา วานนท์ Master.
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
introduction to Computer Programming
ใบสำเนางานนำเสนอ:

CORPAS C++ Online Randomized Problem Generator And Grading System Mr CORPAS C++ Online Randomized Problem Generator And Grading System Mr.Thongyos Songsat 523040500-4 Mr.Narin Kunaseth 523040511-9 Advisor Ph.D.Kornchawal Chaipah Department of Computer Engineering Faculty of Engineering Khon Kaen University

Introduction Motivation

Objective พัฒนาระบบสุ่มออกโจทย์ พัฒนาระบบตรวจโค้ดอัตโนมัติ พัฒนาระบบ Account&Statistic

Related Application JLab - JLAB is a Free-software Developed by Somchai Prasitjutrakul  Over a 12 years of devolope from version 0.1 to version 9.13.03  (01/03/2012)

Problem Input code Compile

JLab ข้อดี -เหมาะแก่ผู้เริ่มต้นในการเขียนโปรแกรม Java เพราะแบบฝึกหัดไม่ยากจนเกินไป -ใช้งานง่าย มีสิ่งอำนวยความสะดวก(features) ที่ช่วยเหลือให้แก่ผู้ใช้งานระดับเริ่มต้น เช่น กำหนดบรรทัดที่ใช้เขียนโค้ด, แบบฝึกหัดแบ่งเป็นหัวข้อง่ายต่อการเลือกทำ ข้อเสีย -ต้องดาวน์โหลดโปรแกรมหลายโปรแกรมเพื่อเริ่มต้นใช้งาน เช่น J2SDK รุ่น 1.5 ขึ้นไป, JLab, Java 6 Help file

Pc^2 (PC-Square) -Pc^2 is a dynamic, distributed real-time system designed to manage and control Programming Contests. -Developed by Smir E. Ashoo, Troy Boudreau and Douglas A.Lane

Pc^2 (PC-Square)

Pc^2 (PC-Square) ข้อดี -สิ่งอำนวยความสะดวก(features) ที่ใช้ในการจัดการและควบคุมการแข่งขันการเขียนโปรแกรมมีหลากหลาย เช่น การควบคุมการสื่อสารระหว่างผู้เข้าแข่งขันกับกรรมการหรือผู้ตัดสิน การกำหนดสิทธิต่างๆสำหรับผู้ใช้ ข้อเสีย -โปรแกรมถูกออกแบบให้ใช้เฉพาะกลุ่มคือ ใช้จัดการและควบคุมการแข่งขันเท่านั้น ไม่ได้มีสิ่งอำนวยความสะดวกอื่นๆเช่นสื่อการเรียนการสอน และ แบบฝึกหัดระดับเบื้องต้น

UVa Online Judge UVa Online Judge is an online automated judge for programming problems Developed by  Miguel Revilla Rodríguez and Ciriaco García de Celis Created in 1995

UVa Online Judge Submit Problem

Wrong Result Correct Result

UVa Online Judge ข้อดี -สะดวกและใช้งานได้ง่ายต้องการเพียง Web Browser -สามารถแก้ปัญหาได้โดยใช้ได้ถึง 4 ภาษา ได้แก่ ANSI C, Java, C++, Pascal -มีการจัดเก็บสถิติของผู้ใช้ เช่น จำนวนปัญหาที่ได้ทำ จำนวนครั้งที่ส่งปัญหา จำนวนครั้งที่ทำถูกและผิด ข้อเสีย -โจทย์แบบฝึกหัดไม่เหมาะแก่ผู้ใช้ระดับเริ่มต้น เพราะโจทย์นำมาจากการแข่งขัน ACM-ICPC -ผลลัพธ์ที่ส่งมาให้ทางอีเมล์ถ้าหากทำผิด ไม่สามารถบอกได้ว่าผิดตรงส่วนไหน เพราะอะไร ทำให้ผู้ใช้ไม่สามารถรับทราบถึงปัญหา

Design Use Case Diagram Design & Develop Design Use Case Diagram

User Interface

User Interface

แผนงานที่ได้ดำเนินการไปแล้ว ทำการสร้างหน้าต่างส่วนต่อประสานกับผู้ใช้(User Interface) มี menu ต่างๆดังนี้ Lesson, Exercise, Guideline, About us บนเว็บโฮสติ้ง(Web Hosting)ที่ได้ถูกกำหนดมาให้คือ www.sooksala.com/corpas ได้ตัวอย่างดังรูป

ภาพทางซ้ายมือเป็นรูปแบบในส่วนของ “การเขียนโค้ด(Editor Text) การรับไฟล์ input code และการ Compile&Run” ภาพทางขวามือเป็นรูปแบบในส่วนของ “Lesson”

ภาพทางซ้ายมือเป็นรูปแบบในส่วนของ “Guide line” ภาพทางขวามือเป็นรูปแบบในส่วนของ “About us”

แผนงานที่ได้ดำเนินการไปแล้ว วิธีประมวลผล(Compile&Run)ภาษา C++ ผ่านทาง Web Application โดยขั้นตอนการทำงานของการประมวลผลภาษา C++ ผ่านทาง Web Application จะแบ่งเป็น 3 ขั้นตอนดังนี้ 1. ใช้ PHP ในการรับไฟล์ที่เป็นโค้ด(.cpp) 2. ใช้คำสั่ง exec แล้วตามด้วยคำสั่งที่ต้องการให้พิมพ์บน command promt ของ server ที่เป็น linux ดังนี้ exec(‘g++ /ชื่อ path ที่ใช้เก็บไฟล์/ชื่อไฟล์.cpp’) 3.นำ output ที่ได้มาแสดงออกบนเว็บเพจ ซึ่งผลที่ได้คือ ผลรันของโค้ด หรือ ข้อผิดพลาดต่างๆที่เกิดจากการ compile ไม่ผ่าน

<form action='upload <form action='upload.php' method='POST' ENCTYPE='multipart/form-data'> <input type='file' name='f'><input type='submit'> </form> <?php $f = './'.$_FILES['f']['name'];if(move_uploaded_file($_FILES['f']['tmp_name'], $f))?>   <? exec('g++ test.cpp 2>&1', $output); $output = implode("</br>", $output); print_r($output); exec('./a.out 2>&1',$output2); $output2 = implode("</br>", $output2); print_r($output2); ?> โค้ด php ที่ใช้ในการส่งคำสั่ง command promt ไปยังเครื่องที่เป็น linux พร้อมทั้งนำค่า output ที่ได้กลับมาแสดงบน webpage

วิธีประมวลผล(Compile&Run)ภาษา C++ ผ่านทาง Web Application ภาพทางซ้ายมือเป็นผลลัพธ์จากการรันโค้ดที่ถูกต้อง ภาพทางขวามือเป็นผลลัพธ์จากการรันโค้ดที่ไม่ถูกต้อง(มี SYSTAX ERROR)

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

แผนงานที่ได้ดำเนินการไปแล้ว ตัวอย่างของโค้ดที่มีการทำงานที่จะทำการรับค่าเข้ามา(input) กล่าวคือมีการ cin เข้ามานั่นเอง

แผนงานที่ได้ดำเนินการไปแล้ว ภาพทางซ้ายมือเป็นตัวอย่างของไฟล์ที่เป็น input ภาพทางขวามือเป็นผลจากการรันโค้ดและทำการรับค่าจากไฟล์ที่เป็น input

งานต่อไปที่จะดำเนินการ ออกแบบหน้าต่างส่วนประสานติดต่อกับผู้ใช้(User Interface) ให้สวยงาม สร้างระบบฐานข้อมูลและทำการเชื่อมต่อกับเว็บแอปพลิเคชันของตนเอง พัฒนาฟังก์ชันการตรวจโค้ดของภาษาซีพลัสพลัส(C++) ให้สมบูรณ์

Thank You