A system to grade computer programming skills using machine learning

Author(s):  
Shashank Srikant ◽  
Varun Aggarwal
i-com ◽  
2020 ◽  
Vol 19 (3) ◽  
pp. 201-213
Author(s):  
Sven Schultze ◽  
Uwe Gruenefeld ◽  
Susanne Boll

Abstract Deep Learning has revolutionized Machine Learning, enhancing our ability to solve complex computational problems. From image classification to speech recognition, the technology can be beneficial in a broad range of scenarios. However, the barrier to entry is quite high, especially when programming skills are missing. In this paper, we present the development of a learning application that is easy to use, yet powerful enough to solve practical Deep Learning problems. We followed the human-centered design approach and conducted a technical evaluation to identify solvable classification problems. Afterwards, we conducted an online user evaluation to gain insights on users’ experience with the app, and to understand positive as well as negative aspects of our implemented concept. Our results show that participants liked using the app and found it useful, especially for beginners. Nonetheless, future iterations of the learning app should step-wise include more features to support advancing users.


2017 ◽  
Vol 7 (2) ◽  
pp. 125 ◽  
Author(s):  
Thomas Staubitz ◽  
Ralf Teusner ◽  
Christoph Meinel ◽  
Nishanth Prakash

Programming tasks are an important part of teaching computer programming as they foster students to develop essential programming skills and techniques through practice.  The design of educational problems plays a crucial role in the extent to which the experiential knowledge is imparted to the learner both in terms of quality and quantity. Badly designed tasks have been known to put-off students from practicing programming. Hence, there is a need for carefully designed problems. Cellular Automata programming lends itself as a very suitable candidate among problems designed for programming practice. In this paper, we describe how various types of problems can be designed using concepts from Cellular Automata and discuss the features which make them good practice problems with regard to instructional pedagogy. We also present a case study on a Cellular Automata programming exercise used in a MOOC on Test Driven Development using JUnit, and discuss the automated evaluation of code submissions and the feedback about the reception of this exercise by participants in this course. Finally, we suggest two ideas to facilitate an easier approach of creating such programming exercises.


Author(s):  
Adilson Vahldick ◽  
Maria J. Marcelino ◽  
António J. Mendes

Casual games are characterized for their fast learning curve. Casual games tasks usually are short and have increasing difficulty. This seems an interesting approach to learn and practice introductory computer programming concepts for students that face difficulties. Many of serious games intended to support computer programming learning are commercial and aimed at children. Also only a few of those described in the literature are available to teachers. This chapter describes the development of a new game that aims to support introductory computer programming learning and its pilot study with three undergraduate introductory classes. The chapter proposes a set of design principles that might be useful in the development of casual games to support computer programming learning. These principles resulted from the experiment and include game features that were considered important to engage students and to improve some students' computer programming skills.


Author(s):  
Pablo Díaz-Moreno ◽  
Juan José Carrasco ◽  
Emilio Soria-Olivas ◽  
José M. Martínez-Martínez ◽  
Pablo Escandell-Montero ◽  
...  

Neural Networks (NN) are one of the most used machine learning techniques in different areas of knowledge. This has led to the emergence of a large number of courses of Neural Networks around the world and in areas where the users of this technique do not have a lot of programming skills. Current software that implements these elements, such as Matlab®, has a number of important limitations in teaching field. In some cases, the implementation of a MLP requires a thorough knowledge of the software and of the instructions that train and validate these systems. In other cases, the architecture of the model is fixed and they do not allow an automatic sweep of the parameters that determine the architecture of the network. This chapter presents a teaching tool for the its use in courses about neural models that solves some of the above-mentioned limitations. This tool is based on Matlab® software.


Author(s):  
Kristina Enes

AbstractIn industrial automation, the use of robots is already standard. But there is still a lot of room for further automation. One such place where improvements can be made is in the adjustment of a production system to new and unknown products. Currently, this task includes the reprogramming of the robot and a readjustment of the image processing algorithms if sensors are involved. This takes time, effort, and a specialist, something especially small and middle-sized companies shy away from. We propose to represent a physical production line with a digital twin, using the simulated production system to generate labeled data to be used for training in a deep learning component. An artificial neural network will be trained to both recognize and localize the observed products. This allows the production line to handle both known and unknown products more flexible. The deep learning component itself is located in a cloud and can be accessed through a web service, allowing any member of the staff to initiate the training, regardless of their programming skills. In summary, our approach addresses not only further automation in manufacturing but also the use of synthesized data for deep learning.


Sign in / Sign up

Export Citation Format

Share Document