I. Pribela, M. Ivanović Neum, 2009. Content Automated assessment Testovid system Test generator Module generators Conclusion.

Slides:



Advertisements
Similar presentations
CBEA CONFERENCE OCTOBER 20, 2010 MRS. DEDERER BUSINESS TEACHER BETHEL HIGH SCHOOL Moodle.
Advertisements

Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Svetovid (Special Submission Environment for Students Assessment) Ivan Pribela.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Why python? Automate processes Batch programming Faster Open source Easy recognition of errors Good for data management What is python? Scripting programming.
Programming Types of Testing.
Style checker for JAVA Baile Herculane, – U. Sacklowski, Dept. of Comp. Sc., HU-Berlin1 A style checker for JAVA and its application at.
Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac.
Computers: Tools for an Information Age
XML Based Learning Environment Prashant Karmarkar Brendan Nolan Alexander Roda.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 11 Database Performance Tuning and Query Optimization.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Understanding of Load Testing Tools Especially HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
USING SOFTWARE METRICS IN EDUCATIONAL ENVIRONMENT Ivan Pribela, Zoran Budimac, Gordana Rakić.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Genetic Programming.
1 Chapter-01 Introduction to Computers and C++ Programming.
P51UST: Unix and Software Tools Unix and Software Tools (P51UST) Compilers, Interpreters and Debuggers Ruibin Bai (Room AB326) Division of Computer Science.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
WorkPlace Pro Utilities.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Testovid - an environment for testing almost any aspect of student assignments I. Pribela, S. Tošić, M. Ivanović, Z. Budimac Risan, September 2007.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
CHAPTER FOUR COMPUTER SOFTWARE.
1 Research Groups : KEEL: A Software Tool to Assess Evolutionary Algorithms for Data Mining Problems SCI 2 SMetrology and Models Intelligent.
Introduction to Interactive Media Interactive Media Tools: Software.
Winrunner Usage - Best Practices S.A.Christopher.
CS101 Introduction to Computing Lecture Programming Languages.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Some issues in teaching compiler course in Polytechnic University Tirana Prof.Asoc.Dr Elinda Kajo Mece Polytechnic University of Tirana.
SE: CHAPTER 7 Writing The Program
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
Weka: Experimenter and Knowledge Flow interfaces Neil Mac Parthaláin
REGISTER MANAGEMENT TOOL Preformed by: Liat Honig Nitzan Carmel Supervisor: Moshe Porian Date: 24/11/2011, winter semester 2011 Duration: One semester.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Frameworks CompSci 230 S Software Construction.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
March 9, 2009 Maze Solving GUI. March 9, 2009 MVC Model View Controller –Model is the application with no interfaces –View consists of graphical interfaces.
Intermediate 2 Computing Unit 2 - Software Development Topic 2 - Software Development Languages and Environments.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
 Programming - the process of creating computer programs.
Introduction to OOP CPS235: Introduction.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia.
Moodle Quizes Staff Guide. Creating Quizzes Click Add an Activity or Resource With the course in editing mode...
Software Quality Assurance and Testing Fazal Rehman Shamil.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Java State Explorer by: Richard Sherman Stephanie Taylor.
Database Systems, 8 th Edition SQL Performance Tuning Evaluated from client perspective –Most current relational DBMSs perform automatic query optimization.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
+ Auto-Testing Code for Teachers & Beginning Programmers Dr. Ronald K. Smith Graceland University.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
OpenACS and.LRN Conference 2008 Automatic Limited-Choice and Completion Test Creation, Assessment and Feedback in modern Learning Processes Institute for.
Visit for more Learning Resources
Operating System Interface between a user and the computer hardware
Improving Scilab’s Xcos User Interface
Unit# 8: Introduction to Computer Programming
XML Based Learning Environment
Outline Chapter 2 (cont) OS Design OS structure
Presentation transcript:

I. Pribela, M. Ivanović Neum, 2009

Content Automated assessment Testovid system Test generator Module generators Conclusion

Content Automated assessment Testovid system Test generator Module generators Conclusion

Automated assessment Assessment done by computers Assessment fazes question / assignment selection question / assessment deployment answer / solution gathering answer / solution grading student / teacher notification statistical analysis of results

Motivation Continuous increase of enrolled students No increase of teachers possible Transfer some work load from teachers to computers

Advantages (Large groups) Faster assessment Moving great amount of work load from teachers Leaving more time for more productive aspects of teaching

Advantages (Small groups) Enables self-assessment Teachers can easily note common problems and difficult topics Question selection can be better adjusted to individual needs Assessment results are immediate Same questions (assignments) can be repeated an much times as needed Questions can contain graphics, sound, animations, and other multimedia content Increase of assessment objectivity

Disadvantages Type of assessments supported short multiple choice tests fill-in-the-blanks tests with fixed correct answers Automated assessment is used more in natural sciences, and rarely in social sciences, where students write essays

Assessment of programming Programming assignments are perfect example for automated assessment Besides generic, special systems for assessing of computer programs were also developed There are two distinct types of computer program assessment: correctness assessment does the student program solve given problem? optimality assessment how efficient the student program is?

Assessing correctness Oldest correctness assessment method is running student programs against various sets of input data comparing output form student program with correct one Input data created by teacher and given to the student created by the student hidden from the student Selecting input data fixed chosen randomly every time Output data compared with fixed data corresponding to given input compared with output from correct solution

Assessing optimality Early systems focused on execution speed and precision of numeric results Recently attention has shifted towards readability and code style

Assessing code style Mostly based on absolute criteria identifier length line indentation... Few attempts to use a program model

Content Automated assessment Testovid system Test generator Module generators Conclusion

Testovid system Designed for assessment of programming Batch system Students can test solutions by themselves Teacher can test all assignments at once Generates execution reports Uses Apache Ant Designed to fit in Svetovid system

Apache Ant Apache Ant is a build process automation tool Similar to make, but written in Java Requires Java virtual machine Most appropriate for Java projects Uses XML for description of build processes Open source

Implementation As a frame for domain-specific testers One domain-specific tester contains Apache Ant file with testing modules Configuration file with weights of every module Any accompanying files

Configuration file targets.all = test01, test02, test03, test04, test05, test06, test01.name = Compilation test01.score= 1 test02.name = Up & Down methods test02.score= 1 test03.name = Up – Upper restriction test03.score= 2 test04.name = Down – Upper restriction test04.score= 2 test05.name = Encapsulation test05.score= 1 test06.name = Code style test06.score= 1 List of modules Name of every module Number of points for each module All marks are binary

Testing module implementation <checkstyle file=“Assignment5.java" failureProperty="test06.fail" maxErrors="15"/> <condition property="test06.advice" value=“There are more than 15 style errors."> <equals arg1="${test06.fail} " arg2="true"/> One module is one Ant target Result of execution is string that contains message about an error

Advantages and disadvantages Advantages Platform independent Flexible and powerful Domain-specific testers and modules are reusable Disadvantages Considerable time must be invested to create testers Knowledge of Apache Ant is needed

Content Automated assessment Testovid system Test generator Module generators Conclusion

Test generator GUI based Previous tests can be reused Modular and extensible No Apache Ant knowledge needed

GUI based

Previous tests can be reused Open and save domain-specific testers Cut, copy and paste modules Can open but not edit manually written modules Generated domain-specific testers are human- readable and can be manually tweaked

Modular and extensible Searches for available module generators Module generator implements an interface Provides GUI components for module editing Produces module implementation Parses test module implementation New module generators can be easily added

No Apache Ant knowledge needed Add new module Choose module type Set name Set amount of points Adjust module parameters Save domain-specific tester

Content Automated assessment Testovid system Test generator Module generators Conclusion

Module generators Completed module generators Input-output tests for Java Compilation tests for Java Unfinished module generators Input-output test for Modula 2 Compilation test for Modula 2 Code style compliance test for Java Unit testing for Java

Input-output tests for Java

Compilation tests for Java

Content Automated assessment Testovid system Test generator Module generators Conclusion

Testovid systems was poorly utilized Time consuming to produce tests Some Apache Ant knowledge needed Test generator will probably improve usage Easier creation of tests Faster learning curve Better picture after the following semester

Thank you for your attention