Top Banner
Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision of Prof. Deepak B. Phatak
25

Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Dec 24, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Tools For Programming In MOOCs(Assess Student’s Knowledge)

Presented by:

Veerta Singh

M.Tech(I.T)

Roll no. 17056

ABMTI13120

M.Tech Project under the supervision of Prof. Deepak B. Phatak

Page 2: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Contents

• Introduction• Types of MOOCs• Tools for programming• List of Auto grading Tools• Grading Methods• Benefits of MOOCs• Issues of MOOCs• Conclusion• References

Page 3: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

What is edX?

An organization established by MIT and Harvard University that develop an open-source technology platform to deliver online courses.

edX is a non-profit MOOC, available to the open source community as different modules such as LMS(Learning Management System),CMS(Content Management System), edx-ora (Open Response Assessment) etc.

The aim of edX is to provide better education to all over the world through online learning platform, from the combination of best faculty and reputed universities.

Page 4: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Massive Open Online Courses (MOOCs)

A massive open online course (MOOC) is a free Web-based distance learning program that is designed for the participation of large numbers of geographically dispersed students.

Student should have internet access to utilize this opportunity.

Students sign up for MOOCs to extend current knowledge, challenge themselves , to get more competition certificates.

Page 5: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Difference between MOOCs and other Online Courses

Online course focuses more on content.

MOOCs focus more on context in which the content is organised.

Online courses contain static content.

MOOCs content evolves dynamically through learner participation, and collaboration.

Discussion forums are not provided in Online courses.

Discussion forums are available in MOOCs

The content in Online courses is static and custom built.

The content in a MOOC can be replaced/updated quickly.

Online courses participants are only consumers.

Participants are consumers as well as creators.

Page 6: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Types Of MOOCs

cMOOCs: Connectivism MOOCs (cMOOCs): This is based on connectivism pedagogy. cMOOCs are not proscriptive, and participants set their own learning goals and type of engagement.

xMOOCs: Extension MOOCs (xMOOCs): It follow the behaviourism, cognitivist, and (social) constructivism approach, mostly focussed on instructive approach.

Difference between cMOOCs and xMOOCs: Instructors play a discussion moderator role in cMOOCs whereas in xMOOCs instructor plays a role of tutor.

Page 7: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Tools for programming in MOOCs

Generally programming tools like compilers, source code editors, debuggers are used for compilation ,editing , debugging etc.

In MOOCs student learn basics of programming and most of them have no programming knowledge, they starts as a beginner.

Efficiency of any programmer and programming language is always some how depends on programming environment and compiler or IDE being used at the time of programming.

Compiler is a software translator which accepts, as input, a program written in a particular high-level language and produces, as output, an equivalent program in machine language for a particular machine.

Page 8: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Compiler

Source Code Executable Code Machine

Preprocessing Processing

Page 9: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

List Of Some Auto grading Tools

Page 10: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Tool's name Main Features SupportedLanguages

WorkMode

Grading Metrics

Course Marker Scalability, maintainability.Security, configurability.Plagiarism detection.Work with levels offeedback.

Java, C++. Standalone 

Typography.Functionality.Structures use.Objects design.Objects relations

Marmoset Scalability, maintainability.Security, configurability.Plagiarism detection.Work with levels offeedback.

Any language Standalone 

Dynamic and staticanalysis.

Web Cat Extensibility and flexibilitybased on plugins.Access security.Portability.Semi and automaticprocess.

Java, C++,Scheme, Prolog,Standard ML, andPascal. Flexibilityfor any language.

Standalone 

Code correctness.Completeness.Test validity.Extensible byplugins.

VirtualProgrammingLab

Moodle integration.Customizable gradingmode.GNU GPL license.Plagiarism detection.Configurable activities.Jail environment

Ada, C, C++, C#,Haskell,FORTRAN,Java,Octave,Pascal,PHP,Prolog, SQL,Ruby,Python,Scheme,Vhdl.

Moodleplugin

Correctness basedon test cases.Open for newmethods.

Grading Tool(MagdeburgUniversity)

Use of services.Configurable evaluationprocess.

Haskell, Scheme,Erlang, Prolog,Python, Java

LMSextension.

Compilation.Execution.Dynamic tests.

Page 11: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

WebCAT

WebCAT is one of the most popular automated assessment tool used by many institutes to assess students program source code.

It is plug-in based and evaluation is based on how well student test their own code.

Student construct their own test suites to test their code for different test cases and then WebCAT marks students program code on the basis of success factor of test cases that are passed by student’s source code.

The tool Supports java, C++, Scheme and many other Programming languages. It also supports manual assessment process.

 

Page 12: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.
Page 13: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

PASS(Program Assessment using specified solutions) is another automated assessment tool It is another automated assessment tool used to assess C Programs of students. It compares submitted program with provided solution plan rather than using script based method which verify correct output or program metrics, such as cyclomatic complexity.

CourseMarker is a tool developed in Nottingham University. Evaluation metrics of this tool is typography (indentations, comments, etc.), functionality through test cases, programming structure use, and verification in design. The programming languages are java and C++ and it has been built using java. Scalability, maintainability and security are its main advantages.

CodingBat is a free site of live coding problems to build coding skill in Java and Python. It was created by Stanford computer science lecturer Nick Parlante. The problems on Coding Bat are short and provide immediate feedback in the browser. A limitation to CodingBat is that it is only available for Java and Python, not C.

Page 14: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Automatic assessment of students knowledge

Student

Page 15: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Methods used for Grading source code

Software Quality Metric Method- Utilize Count of lines of code, Complexity, types of variables etc.

Static Analysis Method- Close to manual grading process, evaluation is done before code compilation for e.g. pattern matching.

Dynamic Testing Method- Use Test cases to test the source code , keyword matching.

Page 16: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Features of an Autograding tool for MOOCs

Features that can be appended to a compiler are:

Source code assessment

Code style evaluation

Plagiarism detection

Page 17: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Existing Autograding tools are lacked of some features

• Grading for problems having different answer options

• Grading for partially correct answers

• Lack of continuous assessment

Page 18: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Grading Process

Page 19: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Benefits Of MOOCs

Educational benefits for higher institutes, professors, and

students. It made education more accessible to as many people as

possible. Participants sign up for MOOCs free of charge or minimal fee

to obtain a completion certificate. Openness of Learning environment. Qualitative digitized course. Students are able to perceive relationships between their

existing knowledge and new things they are learning. MOOCs enhance students programming skills and diversify

their existing programming knowledge.

Page 20: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Issues Of MOOCs

Students work evaluation is difficult. Absence of student immediate feedback. Burden of time and money. Lack of student participation in online forums. Quality of MOOC education. Quality assessment of student work.

Page 21: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Conclusion

The conclusions of this assessing compiler are:

Assess student’s knowledge.

Self assessment enhance students motivation.

Code style evaluation improves students programming skills.

Plagiarism detection will motivate student to write self code which should be less copied.

Page 22: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Future Plan

An autograding tool uses compiled source code for further process of execution and grading. In future we will plan, how to modify and extend traditional Dynamic analysis methods and integrate them with other methods of automatic grading viz. static analysis and Software quality metric method. It will work as self assessment tool for students who will start as a beginner as well as those who wants to diversify their programming skills and basic programming skills.

Page 23: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

References1. Khe Foon Hewa, Wing Sum Cheung “Students’ and instructors’ use of

massive open online courses (MOOCs): Motivations and challenges” Educational Research Review 12 (2014) pp 45–58

2. Yaning Wang , Lannan Xiao “Research on Automatic Scoring Methods for Programs Based on Program Understanding” Applied Mechanics and Materials Vols. 513-517 (2014) pp 2054-2058.

3. Julio C. Caiza, Jose M. Del “Programming Assignments Automatic Grading: Review of Tools and Implementation” 7th International Technology, Education and Development Conference, Valencia (Spain); 01/2013.

4. P Koyya “Feedback for Programming Assignments Using Software Metrics and Reference Code ISRN/805963/ (2013)

5. Ala-Mutka K. “A Survey of Automatic assessment approaches for programming assignments” Computer Science Education, (2005) PP 83-102

Page 24: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

6. Gareth Thorburn and Glenn Rowe “Pass: An Automated System For Program Assessment” Computers Educ. Vol. 29, No. 4, pp. 195-206, Elsevier Science Ltd. ,1997

7. Julio C. Caiza, Jose M. Del Alamo “Programming Assignments Automatic Grading: Review Of Tools And Implementations” Universidad Politécnica de Madrid (SPAIN), 2013

8. Daniela Fonte, Daniela da Cruz, Alda Lopes Gançarski, and Pedro Rangel Henriques “A Flexible Dynamic System for Automatic Grading of Programming Exercises” In Proceedings SLATE, 2013

9. Daniela Fonte, Ismael Vilas Boas, Nuno Oliveira, Daniela da Cruz, Alda Lopes Ganc¸arski and Pedro Rangel Henriques “Partial Correctness and Continuous Integration in Computer Supported Education” CSEDU, 2014

Page 25: Tools For Programming In MOOCs (Assess Student’s Knowledge) Presented by: Veerta Singh M.Tech(I.T) Roll no. 17056 ABMTI13120 M.Tech Project under the supervision.

Thanks!!