The importance of university education in learning computer programming…???
Teaching novice programmers the skills associated with software development is a challenging process (Kim and Lerch 1997). This is due to the fact that teachers are required to individually assess their students and then, according to their existing level of knowledge and preferred learning styles, start teaching them a number of tasks such as the technical aspects of programming and new ways of thinking to solve problems. Moreover, programming is essentially a technically rooted and practical set of skills. Therefore, beginner programmers need to build their skills in entering code, building software, and then as necessary executing, debugging, and correcting the software. In practical, lab-based sessions, this often needs one-on-one help from teaching staff. With large class sizes and demands on tutoring staff, weak students in particular may not have the opportunity to get the individual help they require (Wang et al. 2011). Furthermore, this becomes increasingly difficult and challenging in an open learning environment where thousands of students can enroll simultaneously and where teachers and students are not physically in the same space.
At the present time, there are no intelligent adaptive or individualized tutoring technologies that satisfactorily solve those above-mentioned issues. Given the online nature of open learning, there is a clear benefit to automated software that can assist in actively tutoring of software development students. Therefore, in this emerging body of research work, we posit a solution of supporting some of the identified limitations in open learning environments. One of our aims of this exploration is to integrate the concept of “assessment for learning” into a learning technology to better fit to student learning capabilities. Furthermore, recognizing and reacting to learners’ preferred delivery styles to improve student performance and increase their engagements into learning materials is another aim of this study. Additionally, we provide an in-depth analysis of some of the issues of crowdsourced educational applications. This is an emerging approach to open learning and open access to education that is useful to explore as information can be gathered from a number of sources. For example, a popular web community, Stack Overflow, is cited as an example of crowdsourced education. It provides a fast “first answer” response time of on average, 11 min, with contributing users rewarded for their participation with a reputation points scheme. Stack Overflow is used by the software development community to share and solve common problems and solutions/suggestions. Its reward scheme encourages contributions while allowing information recipients to judge the perceived quality of the help they are receiving. Educational crowdsourcing applications of this nature support lecturers, students, and professionals in communicating with each other, primarily asking questions and receiving solutions. However, there are still some significant limitations in those applications: how they assess the quality of the learning (i.e., was it just copying or at best learning by rote) or considering individual differences among learners (Mamykina et al. 2011).
This paper discusses an emerging area of research that posits the idea of developing an adaptive, crowdsourced, and primarily educational technology, targeted at software development students. The proposed system will guide students in their learning through interactive feedback and adaptive curriculum delivery that suits both their current level of learning and preferred learning styles. The remainder of this paper is organized as follows. Section 2 briefly describes the background and provides a general overview of the different learning styles of students. This is important consideration in an open learning environment where thousands of students with different learning styles enroll in open learning courses. Therefore, in order for these courses to be truly open, it is important to understand and cater for a wide array of individuals. Section 3 explores the new opportunities that crowdsourcing offers in open education as well as resulting adequate applications. Section 4 details the design of the proposed system, while Section 5 provides a summary of the paper and the future direction of the research.