Automated Grading system for computer Programming Courses Dr. S. Kanmani Professor and Head Dept. of Information Technology Pondicherry Engg. College Puducherry – 605 014 kanmani@pec.edu
Automated Grading system for computer Programming Courses An automated system to test and evaluate marks for the students’ programs developed in different programming language courses
Objectives To automatically grade the students’ program developed in the programming courses taught in graduate level To increase consistency and correctness in the evaluation methodology To ease the overload and strain caused by the repeated work for teachers To enable Online submission of Programming exercises
Scope Tutoring system for programming languages Online certification programs Virtual Universities Training Institutions
Feasibility - Dynamic Testing Number of testing methods exist for commercial software products - Dynamic Testing - Static Testing - Program Matching Number of testing tools exist for commercial software products - Insure++, Jcover, Junit - WinRunner, Test Architect
Feasibility Automation accounts many features in addition to testing of programs for correctness - Program Robustness - Program Complexity - Programming Style - Program understandability - Use of appropriate constructs
List of courses to be considered C Programming language (Basic level) C Programming language (Advanced level) Data Structures using C language Data Structures using C++ C++ Programming language (basic level) C++ Programming language (Advanced level) C# Programming language JAVA Programming language (Basic Level) JAVA Programming language (Advanced level) Algorithms lab
International Development Attempts made in automatic grading at University of Bristol, U.K University of Nottingham Heriot Watt University They developed the system for a specific language/course or for a set of fixed exercises But no such system is in practise In national level
Methodology Identify a minimum of twenty exercises for each course covering the syllabus Develop the repository of model programs for each of the exercises Identify the best suitable test method/s and tools to used / developed for the chosen programming language Develop the environment to collect the quantitative attributes (metrics) and pre set the expected values for grading Accept the test program, assess the attributes and allocate marks Apply measures to control copying
Timeframe For one course Analysis & case study 3 weeks System Design 5 weeks System Development 6 weeks Test data generation and testing 2 weeks Integration & Performance analysis 2 weeks Total 20 weeks per language/Course
Amount in Rupees per annum Total amount in Rupees per annum Recurring Budget S.No. Item Amount in Rupees per annum Duration Total amount in Rupees per annum A Development of the Automatic grading system for all the programming courses offered by the Pondicherry Engineering College 10,00,000 2 years 20,00,000 Contingency 2,00,000 4,00,000 Total A 24,00,000 B Recurring Expenses on account of engaging of human recourses and materials etc Travel Contingency Total B Total A & B 48,00,000
Non - Recurring Budget S.No. Item Total amount in Rs C Purchase of high end Server, nodes/ hiring the services/Software and tools and equipments * 1,50,00,000 Total A+B+C 1,98,00,000
Work Done A pilot study was made to implement the proposed system for C programming language course offered for I year B.Tech students with 10 programming exercises The performance of the system was compared with that of the manual system using 100 program samples
Thank You
On line certification courses for computer programming languages