C-DAC Mumbai
A Methodology for Enhancing
Programming Competence of
Students Using Parikshak
Archana Rane archana@cdacmumbai.in
Chandrashekhar shekhar@cdacmumbai.in
RKVS Raman raman@ncb.ernet.in
M Sasikumar sasi@cdacmumbai.in
C-DAC Mumbai
Have you observed this?
• Interviewers complaining about
interviewees failing to translate solution to
a given problem in a programming
language
• Students holding a computer science
degree
– unable to solve a problem programmatically
but
– Know “syntax” & “semantics” of the same
language very well
C-DAC Mumbai
Introduction
Problem? – It is often observed that computer science
students lack the ability to practically apply the
programming concepts to solve problems
Why is it important? Absence of this vital ability, limits the
opportunities for these novices in the computer field.
Root cause? Deficiency lies in the methodology of training
that is imparted to them
Any attempts to address this problem? We discuss one
such teaching methodology which attempts to address
the problem
C-DAC Mumbai
Programming Test- Existing Scenario 1
Write a C
program to
sort 10
numbers
C-DAC Mumbai
Programming Test- Existing Scenario 2
Write a C
program to sort
10 numbers
Write a C
program
to sort 10
numbers
C-DAC Mumbai
How does faculty evaluate student
programs?
Manually!
C-DAC Mumbai
Programming Tests existing
scenario
• Emphasis on syntax and semantics of language
• Standard set of assignments, mapping to
standard solutions
• Manual grading process is tedious, time
consuming, subjective and inconsistent
• Less number of assignments
• Delay in feedback. Attention to detail missing
• More chances of plagiarism
C-DAC Mumbai
Pedagogy Vs Existing Scenario
• Problem solving is important
• Programming language is just a
medium to convey ideas to the
computer
• Hand made solution to
computer program – the main
hurdle for novices
• Practice, practice and practice
• Debugging and Program
Comprehension skills are as
important as writing programs
• Immediate feedback required in
absence of teacher
• Standard set of assignments,
mapping to standard solutions
• Emphasis on syntax and
semantics of language
• Currently no explicit
mechanisms are in place to
address this aspect
• Lesser assignments are given to
students than should be ideally
given
• Lesser assignments & shallow
evaluation lead to shallow
debugging skills
• Delayed Feedback. Attention to
detail missing
C-DAC Mumbai
Observations?
• We observe substantial gaps
– Between the existing system and the desired
pedagogical aspects
– Due to tedious manual grading process,
limited faculty time & hence delayed feedback
• Can increasing number of assignments
solve the problem?
• Can automated grading of assignments
solve the problem?
C-DAC Mumbai
Our Methodology
C-DAC Mumbai
Aims to bridge the gap
Pedagogy
Technology
Our
Methodology
Ideal Requirements
Automated Program
Grading Tools
C-DAC Mumbai
Session 1: Writing Session
Solve & Debug
On Paper
Give a Problem
to be solved
Given 3 sides
of
a triangle,
write a
program to
determine
which type of
triangle it is
C-DAC Mumbai
Given 3 sides
of a
triangle, write
a program to
determine
which type of
triangle it is
Session 2: Terminal Session
Time
constrain
the test
Restrict
usage of
IDE
Given 3 sides
of
a triangle,
write a
program to
determine
which type of
triangle it is
C-DAC Mumbai
X Y X Y Y Y Y Y
Objective
Grading
Automated
Grading
Instant
Feedback
C-DAC Mumbai
Debug on your own
Let students debu
on their own
C-DAC Mumbai
Parikshak – An automated program
grading tool
C-DAC Mumbai
Our Methodology
• Shift the focus from programming to
problem solving
• Do objective grading instead of subjective
grading
• Automate the grading process
• Encourage “Solve and debug on paper”
• Let students debug their code on their own
• Provide 24X7 practice environment with
instant feedback
C-DAC Mumbai
Does it really work?
Performance Improved
C-DAC Mumbai
Does it really work?
Debugging skills improved
C-DAC Mumbai
Conclusion
• Concern - novices in programming lacking the
ability to apply the concepts that they learn.
• Deficiencies in existing system
• Our methodology addresses most of the
problems among novices identified by the
experts in the field.
• The results and findings, from the
implementation of methodology in our course,
endorse effectiveness of this methodology
C-DAC Mumbai
Interested to know more?
• Parikshak
– Modes
• Restricted Linux Shell
• Web version integrated with Moodle available
– Supports automated grading of programs written in C
& Java
• Email
• etu@cdacmumbai.in
• parikshak.guru@gmail.com
• Website– http://www.cdacmumbai.in
C-DAC Mumbai
Thank you!
archana@cdacmumbai.in

A Methodology for Enhancing Programming Competence of Students Using Parikshak

  • 1.
    C-DAC Mumbai A Methodologyfor Enhancing Programming Competence of Students Using Parikshak Archana Rane archana@cdacmumbai.in Chandrashekhar shekhar@cdacmumbai.in RKVS Raman raman@ncb.ernet.in M Sasikumar sasi@cdacmumbai.in
  • 2.
    C-DAC Mumbai Have youobserved this? • Interviewers complaining about interviewees failing to translate solution to a given problem in a programming language • Students holding a computer science degree – unable to solve a problem programmatically but – Know “syntax” & “semantics” of the same language very well
  • 3.
    C-DAC Mumbai Introduction Problem? –It is often observed that computer science students lack the ability to practically apply the programming concepts to solve problems Why is it important? Absence of this vital ability, limits the opportunities for these novices in the computer field. Root cause? Deficiency lies in the methodology of training that is imparted to them Any attempts to address this problem? We discuss one such teaching methodology which attempts to address the problem
  • 4.
    C-DAC Mumbai Programming Test-Existing Scenario 1 Write a C program to sort 10 numbers
  • 5.
    C-DAC Mumbai Programming Test-Existing Scenario 2 Write a C program to sort 10 numbers Write a C program to sort 10 numbers
  • 6.
    C-DAC Mumbai How doesfaculty evaluate student programs? Manually!
  • 7.
    C-DAC Mumbai Programming Testsexisting scenario • Emphasis on syntax and semantics of language • Standard set of assignments, mapping to standard solutions • Manual grading process is tedious, time consuming, subjective and inconsistent • Less number of assignments • Delay in feedback. Attention to detail missing • More chances of plagiarism
  • 8.
    C-DAC Mumbai Pedagogy VsExisting Scenario • Problem solving is important • Programming language is just a medium to convey ideas to the computer • Hand made solution to computer program – the main hurdle for novices • Practice, practice and practice • Debugging and Program Comprehension skills are as important as writing programs • Immediate feedback required in absence of teacher • Standard set of assignments, mapping to standard solutions • Emphasis on syntax and semantics of language • Currently no explicit mechanisms are in place to address this aspect • Lesser assignments are given to students than should be ideally given • Lesser assignments & shallow evaluation lead to shallow debugging skills • Delayed Feedback. Attention to detail missing
  • 9.
    C-DAC Mumbai Observations? • Weobserve substantial gaps – Between the existing system and the desired pedagogical aspects – Due to tedious manual grading process, limited faculty time & hence delayed feedback • Can increasing number of assignments solve the problem? • Can automated grading of assignments solve the problem?
  • 10.
  • 11.
    C-DAC Mumbai Aims tobridge the gap Pedagogy Technology Our Methodology Ideal Requirements Automated Program Grading Tools
  • 12.
    C-DAC Mumbai Session 1:Writing Session Solve & Debug On Paper Give a Problem to be solved Given 3 sides of a triangle, write a program to determine which type of triangle it is
  • 13.
    C-DAC Mumbai Given 3sides of a triangle, write a program to determine which type of triangle it is Session 2: Terminal Session Time constrain the test Restrict usage of IDE Given 3 sides of a triangle, write a program to determine which type of triangle it is
  • 14.
    C-DAC Mumbai X YX Y Y Y Y Y Objective Grading Automated Grading Instant Feedback
  • 15.
    C-DAC Mumbai Debug onyour own Let students debu on their own
  • 16.
    C-DAC Mumbai Parikshak –An automated program grading tool
  • 17.
    C-DAC Mumbai Our Methodology •Shift the focus from programming to problem solving • Do objective grading instead of subjective grading • Automate the grading process • Encourage “Solve and debug on paper” • Let students debug their code on their own • Provide 24X7 practice environment with instant feedback
  • 18.
    C-DAC Mumbai Does itreally work? Performance Improved
  • 19.
    C-DAC Mumbai Does itreally work? Debugging skills improved
  • 20.
    C-DAC Mumbai Conclusion • Concern- novices in programming lacking the ability to apply the concepts that they learn. • Deficiencies in existing system • Our methodology addresses most of the problems among novices identified by the experts in the field. • The results and findings, from the implementation of methodology in our course, endorse effectiveness of this methodology
  • 21.
    C-DAC Mumbai Interested toknow more? • Parikshak – Modes • Restricted Linux Shell • Web version integrated with Moodle available – Supports automated grading of programs written in C & Java • Email • etu@cdacmumbai.in • parikshak.guru@gmail.com • Website– http://www.cdacmumbai.in
  • 22.