scholarly journals Machine Learning Prediction and Recommendation Framework to Support Introductory Programming Course

Author(s):  
Ijaz Muhammad Khan ◽  
Abdul Rahim Ahmad ◽  
Nafaa Jabeur ◽  
Mohammed Najah Mahdi

The new students struggle to understand the introductory programming courses, due to its intricate nature, which results in higher dropout and increased failure rates. Despite implementing productive methodologies, the instructor struggles to identify the students with distinctive levels of skills. The modern institutes are looking for technology-equipped practices to classify the students and prepare personalized consultation procedures for each class. This paper applies decision tree-based machine learning classifiers to develop a prediction model competent to forecast the outcome of the introductory programming students at an early stage of the semester. The model is then transformed into an adaptive consultation framework which generates three types of colored signals; red, yellow, and green which illustrates whether the student is performing low, average, or high respectively. This provides an opportunity for the instructor to set precautionary measures for low performing students and set complicated tasks that help the highly skilled students to improve their skills further. The experiments compare a set of decision tree-based classifiers and conclude J48 as an efficient model in classifying students in all classes with high accuracy, sensitivity, and F-measure. Even though the aim of the research is to focus on introductory programming courses, however, the framework is flexible and can be implemented in other courses.

Author(s):  
Geetha Kanaparan ◽  
Rowena Cullen ◽  
David Mason

High failure rates appear to be a norm in introductory programming courses. Many solutions have been proposed to improve the high failure rates. Surprisingly, these solutions have not lead to significant improvements in the performance of students in introductory programming courses. In this study, the relationship between self-efficacy, emotional engagement and the performance of students in introductory programming courses were examined. Enjoyment, interest, and gratification were identified as three factors contributing to emotional engagement in introductory programming courses from a review of existing literature and from focus groups. An online survey of 433 students in introductory programming courses showed that the students’ programming self-efficacy beliefs had a strong positive effect on enjoyment, while gratification and interest had a negative effect on programming performance. These findings have implications for course instructors who design and deliver introductory programming courses.


2022 ◽  
Vol 22 (2) ◽  
pp. 1-26
Author(s):  
Sadia Sharmin

Computer science is a fast-growing field in today’s digitized age, and working in this industry often requires creativity and innovative thought. An issue within computer science education, however, is that large introductory programming courses often involve little opportunity for creative thinking within coursework. The undergraduate introductory programming course (CS1) is notorious for its poor student performance and retention rates across multiple institutions. Integrating opportunities for creative thinking may help combat this issue by adding a personal touch to course content, which could allow beginner CS students to better relate to the abstract world of programming. Research on the role of creativity in computer science education (CSE) is an interesting area with a lot of room for exploration due to the complexity of the phenomenon of creativity as well as the CSE research field being fairly new compared to some other education fields where this topic has been more closely explored. To contribute to this area of research, this article provides a literature review exploring the concept of creativity as relevant to computer science education and CS1 in particular. Based on the review of the literature, we conclude creativity is an essential component to computer science, and the type of creativity that computer science requires is in fact, a teachable skill through the use of various tools and strategies. These strategies include the integration of open-ended assignments, large collaborative projects, learning by teaching, multimedia projects, small creative computational exercises, game development projects, digitally produced art, robotics, digital story-telling, music manipulation, and project-based learning. Research on each of these strategies and their effects on student experiences within CS1 is discussed in this review. Last, six main components of creativity-enhancing activities are identified based on the studies about incorporating creativity into CS1. These components are as follows: Collaboration, Relevance, Autonomy, Ownership, Hands-On Learning, and Visual Feedback. The purpose of this article is to contribute to computer science educators’ understanding of how creativity is best understood in the context of computer science education and explore practical applications of creativity theory in CS1 classrooms. This is an important collection of information for restructuring aspects of future introductory programming courses in creative, innovative ways that benefit student learning.


Author(s):  
Muhammad Shumail Naveed ◽  
Muhammad Sarim ◽  
Kamran Ahsan

Programming is the core of computer science and due to this momentousness a special care is taken in designing the curriculum of programming courses. A substantial work has been conducted on the definition of programming courses, yet the introductory programming courses are still facing high attrition, low retention and lack of motivation. This paper introduced a tiny pre-programming language called LPL (Learners Programming Language) as a ZPL (Zeroth Programming Language) to illuminate novice students about elementary concepts of introductory programming before introducing the first imperative programming course. The overall objective and design philosophy of LPL is based on a hypothesis that the soft introduction of a simple and paradigm specific textual programming can increase the motivation level of novice students and reduce the congenital complexities and hardness of the first programming course and eventually improve the retention rate and may be fruitful in reducing the dropout/failure level. LPL also generates the equivalent high level programs from user source program and eventually very fruitful in understanding the syntax of introductory programming languages. To overcome the inherent complexities of unusual and rigid syntax of introductory programming languages, the LPL provide elementary programming concepts in the form of algorithmic and plain natural language based computational statements. The initial results obtained after the introduction of LPL are very encouraging in motivating novice students and improving the retention rate.


Author(s):  
Jaime Lester

Sparked by a series of national campaigns to increase interest in computer science, computer science departments are inundated with students who are interested in learning how to program. Despite the interest, introductory computer science course have relatively low completion rates (approximately 55% at Mason) and high rates of academic integrity violations. In response to this environment, the Computer Science department at Mason received an external grant to redesign their introductory programming courses to a self-paced, flipped format. Implementation began in Fall 2015 with a quasi-experimental methodology that tracks students from an experimental course and a control group (those who took more traditional introductory CS courses) over the course of the semester. Data collected includes grades on assignments, self-report surveys, and classroom observations.  The purpose of this study is to examine the impact of a self-paced, flipped curricular design in an introductory experiential computer science course on the immediate (in course) completion.   In this short lightning talk, we will present data from student surveys and classroom observations identifying any difference across the control and experimental groups. Preliminary results identify a significant increase in student completion upwards of a 20% difference across the groups. In addition to increasing knowledge of the impact of self-paced courses on student retention and success in computer science, we offer an alternative method to collect data on classroom observations via the Real-time Observation Classroom Application (ROCA). ROCA allows for efficient data collection and comparison of specific pedagogies to student engagement measures.  


Author(s):  
Liguo Yu

This paper describes the teaching methods and teaching experiences of an instructor who has been teaching computer science freshmen for more than ten years. Problem-based learning has been used in introductory programming courses to enhance the quality of learning. The common problem in introductory programming courses is that instructors quite often focus mainly on programming language syntax and usage but ignore the real world applications of these language features. Accordingly, students are likely to find out that it is difficult to apply their programming skills on solving complex problems in their high level courses. Through introducing problem-based learning in introductory programming courses, students not only could obtain experience of dealing with complex problems, but also could practice other soft skills, such as team working skills, which could better prepare them for junior and senior level coursework and capstone projects. In addition, other philosophy issues related to teaching introductory courses are discussed and tentative solutions are presented.


Sign in / Sign up

Export Citation Format

Share Document