A Web-based Automatic Evaluation System Chittaranjan Mandal (School of IT, IIT Kharagpur, India) Chris Reade (Kingston Business School, Kingston University,

Slides:



Advertisements
Similar presentations
Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
Advertisements

Test Yaodong Bi.
David Luebke 1 6/7/2014 ITCS 6114 Skip Lists Hashing.
A Toolbox for Blackboard Tim Roberts
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Test Automation Success: Choosing the Right People & Process
1 CS101 Introduction to Computing Lecture 17 Algorithms II.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Elementary Data Types Prof. Alamdeep Singh. Scalar Data Types Scalar data types represent a single object, i.e. only one value can be derived. In general,
Alternate Software Development Methodologies
Q-1 University of Washington Computer Programming I Lecture 16: Sorting © 2000 UW CSE.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Online Assessment Using Question Mark Perception to develop Online Tests Kirk Dowswell – Zayed University.
Reasons to study concepts of PL
Introducing Hashing Chapter 21 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
ECE122 L17: Method Development and Testing April 5, 2007 ECE 122 Engineering Problem Solving with Java Lecture 17 Method Development and Testing.
Chapter 2: Algorithm Discovery and Design
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Winter 2012SEG Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling.
Principles of Procedural Programming
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Introduction to Software Testing
Software Test Automation and Tools Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software Development Unit 6.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
Supporting Automatic Model Inconsistency Fixing Yingfei Xiong University of Tokyo, Japan Zhenjiang HuNational Institute of Informatics, Japan Haiyan ZhaoPeking.
Advanced e-Learning techniques for teaching C-programming and selected features of Java and C++ Proposed by Dr. Chittaranjan Mandal, Associate Professor,
RUP Implementation and Testing
Testovid - an environment for testing almost any aspect of student assignments I. Pribela, S. Tošić, M. Ivanović, Z. Budimac Risan, September 2007.
Gary MarsdenSlide 1University of Cape Town Principles of programming language design Gary Marsden Semester 2 – 2001.
IST 210: PHP BASICS IST 210: Organization of Data IST210 1.
The string data type String. String (in general) A string is a sequence of characters enclosed between the double quotes "..." Example: Each character.
Configuration Management (CM)
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
My talk describes how the detailed error diagnosis and the automatic solution procedure of problem solving environment T-algebra can be used for automatic.
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
CIT 590 Intro to Programming Lecture 4. Agenda Doubts from HW1 and HW2 Main function Break, quit, exit Function argument names, scope What is modularity!
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Curator System System Features for Students -web-hosted interface for student access -individual home page for each student -web-based collection of student.
Experience with a Computer-Assisted Formal Programming Examination John English University of Brighton.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
David Luebke 1 10/25/2015 CS 332: Algorithms Skip Lists Hash Tables.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Testing as a Driver for Development Change Wall Street Systems Graham Thomas.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
CS6045: Advanced Algorithms Data Structures. Hashing Tables Motivation: symbol tables –A compiler uses a symbol table to relate symbols to associated.
Q-1 University of Washington Computer Programming I Lecture 16: Sorting © 2000 UW CSE.
Introduction to JavaScript CSc 2320 Fall 2014 Disclaimer: All words, pictures are adopted from “Simple JavaScript”by Kevin Yank and Cameron Adams and also.
STAR Scheduling status Gabriele Carcassi 9 September 2002.
Lecture 15: Query Optimization. Very Big Picture Usually, there are many possible query execution plans. The optimizer is trying to chose a good one.
STAR Scheduler Gabriele Carcassi STAR Collaboration.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
IST 210: PHP Basics IST 210: Organization of Data IST2101.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
1 CAA 2009 Cross Cal 9, Jesus College, Cambridge, UK, March 2009 Caveats, Versions, Quality and Documentation Specification Chris Perry.
Model Based Engineering Environment Christopher Delp NASA/Caltech Jet Propulsion Laboratory.
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Software Engineering (CSI 321)
Section 10.1 YOU WILL LEARN TO… Define scripting
Introduction to Software Testing
Software Test Automation and Tools
Coding Concepts (Basics)
CSE 1020:Software Development
Presentation transcript:

A Web-based Automatic Evaluation System Chittaranjan Mandal (School of IT, IIT Kharagpur, India) Chris Reade (Kingston Business School, Kingston University, UK) Vijay Luxmi Sinha (School of IT, IIT Kharagpur, India)

ECEL 2004Mandal, Reade, Sinha Automated Evaluation Motivation Other systems and choices Our design and choices Details of assignment set-up Conclusions and ‘The bigger picture’

ECEL 2004Mandal, Reade, Sinha Programming assignments (at IIT Kharagpur) 9600 to mark per semester –Setting assignment (5hrs?) –Distribution and collection (Automated by WBCM) –Marking each) = 3200hrs = 20 people * 20 working days each For sophisticated testing maybe 5 times this.

ECEL 2004Mandal, Reade, Sinha Automated marking is a must Additional Benefits: –automated rapid feedback (resubmission possibilities) –consistency –plagiarism checking –rigorous testing (suite)

ECEL 2004Mandal, Reade, Sinha Different to simple test and assessment What can be automatically assessed? Program behavior (execution) –Correctness testing –Performance testing –Whole program and/or components –Data (randomising + special test cases) –Large numbers of runs Analysis of structure and style (still very hard to do)

ECEL 2004Mandal, Reade, Sinha Other Systems Full Automation versus Assistance –examples: Try (1989) / ASSYST 1997 Feedback Only versus Full Management –examples: Submit (2003) / Ceilidh (1993) Eval of Design / Behavior / Components Fixed / multiple programming language –Pascal, Ada, Scheme, C, C++, Java Web-based? –examples: GAME (2004), Submit (2003)

ECEL 2004Mandal, Reade, Sinha Our design choices and goals Choose: –Component testing (performance and behavior) –Single language (for now) –Full automation AND rapid feedback –Integration with full management system WBCM Security of the process –Potentially unsafe programs (malicious/accident) Marking issues –Partly working programs –Feedback based on schema Address Overheads for assignment setup

ECEL 2004Mandal, Reade, Sinha Setting up an assignment Design a programming problem –Sub-problem approach (white box) –Marking scheme Implementation involves (formally) –Expressing assignment plan (components and strategy) –writing components for test harness –describe testing data and process –describe marking scheme with feedback example: mergesort ….

ECEL 2004Mandal, Reade, Sinha Mergesort mergesort merge main mergesort merge main make1 make2 Binary files to test Student submissionReference Files

ECEL 2004Mandal, Reade, Sinha XML files in preference to web entry XML specification: source files marking scheme testing process processed Tester Script and files

ECEL 2004Mandal, Reade, Sinha Input generation (types) random integers: (array / single) (distinct / non-distinct) (un-sorted / sorted ascending / sorted descending) (positive / negative / mixed / interval) random floats: (array / single) (distinct / epsilon-apart) (un-sorted / sorted ascending / sorted descending) (positive / negative / mixed / interval) strings: (array / single) (distinct / non-distinct) (fixed length / variable length)

ECEL 2004Mandal, Reade, Sinha XML specification for input generation <input inputVar="a1" type="integer” varType="array" sequence="ascend” range="positive" duplication="distinct"> 50 <input inputVar="a2" type="integer” varType="array" sequence="ascend” range="positive" duplication="distinct"> 50 a1 a2 test_merge_to_k (a1, 50, a2, 50)

ECEL 2004Mandal, Reade, Sinha XML specification for a test... Evaluation of merge_function...

ECEL 2004Mandal, Reade, Sinha Testing script flowchart XML submit File 1 File 2 File 3 Test Cases Source File Details Makefile Marking Scheme Feedback Details submit File 1 File 2 Reference Implementation Submissions Get submission Get data prepare makefile build and execute test award marks generate report more test data start stop

ECEL 2004Mandal, Reade, Sinha Conclusions This system is designed to support complex assessments. For automated assessment, the assessment set-up becomes the hardest part for designers –Our tool directly supports implementation of Assessment strategy, marking sceme, feedback and testing harness –Key features XML specs to generate testing script… Re-use of assignment designs –Future Work Generalising Assessing effectiveness with more examples