introductory programming
Recently Published Documents


TOTAL DOCUMENTS

718
(FIVE YEARS 192)

H-INDEX

32
(FIVE YEARS 5)

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.


2022 ◽  
Author(s):  
Beate Grawemeyer ◽  
John Halloran ◽  
Matthew England ◽  
David Croft

2021 ◽  
Author(s):  
Lucas Mendonça de Souza ◽  
Igor Moreira Felix ◽  
Bernardo Martins Ferreira ◽  
Anarosa Alves Franco Brandão ◽  
Leônidas de Oliveira Brandão

The outbreak of the COVID-19 pandemic caused a surge in enrollments in online courses. Consequently, this boost in numbers of students affected teachers ability to evaluate exercises and resolve doubts. In this context, tools designed to evaluate and provide feedback on code solutions can be used in programming courses to reduce teachers workload. Nonetheless, even with using such tools, the literature shows that learning how to program is a challenging task. Programming is complex and the programming language employed can also affect students outcomes. Thus, designing good exercises can reduce students difficulties in identifying the problem and help reduce syntax challenges. This research employs learning analytics processes on automatic evaluation tools interaction logs and code solutions to find metrics capable of identifying problematic exercises and their difficulty. In this context, an exercise is considered problematic if students have problems interpreting its description or its solution requires complex programming structures like loops, conditionals and recursion. The data comes from online introductory programming courses. Results show that the computed metrics can identify problematic exercises, as well as those that are being challenging.


2021 ◽  
pp. 561-571
Author(s):  
Dyego Souza ◽  
Jarbele Coutinho ◽  
Reudismam de Sousa

2021 ◽  
Author(s):  
◽  
Geetha Kanaparan

<p>High attrition and failure rates are a common phenomenon in introductory programming courses and are a major concern since course instructors are not able to successfully teach novice programmers the fundamental concepts of computer programming and equip them with skills to code solutions to programming problems. Existing solutions that attempt to minimise the high failure and attrition rates have had little impact on improving the performance of the novice programmers. However, the behaviour of the novice programmer has received little attention from introductory programming course instructors although the literature on learning theory suggests that self-efficacy and engagement are two behavioural factors that affect a student’s performance. This study fills the gap in existing research by examining the effect of programming self-efficacy on the engagement of novice programmers, and the effect of their engagement on their programming performance.  A research model that proposes a link between programming self-efficacy and the indicators of engagement that are specific to the context of introductory programming courses, and a link between the indicators of engagement to the programming performance of the novice programmer was developed. A three-phased mixed methods approach which consists of two survey questionnaires and focus groups was used to validate the research model. Data was collected in New Zealand and in Malaysia with 433 novice programmers participating in the survey questionnaires while 4 focus groups were held to refine and validate the indicators of engagement in introductory programming courses. The findings of the focus groups confirmed that participation, help-seeking, persistence, effort, deep learning, surface learning, trial and error, interest, and enjoyment were indicators of engagement while gratification emerged as a new indicator of engagement in introductory programming courses.  The data from the survey questionnaires were analysed using Partial Least Squares Structural Equation Modeling (PLS-SEM). This study found that the programming self-efficacy beliefs of novice programmers had a strong influence on their engagement behaviour with the exception of help-seeking, while effort, enjoyment, deep learning, and surface learning were predictors of programming performance. These findings have implications for introductory programming course instructors and the recommendations emerging from this study include making clear behavioural expectations, designing courses which stimulate and support effective behaviour, and making novice programmers aware of the engagement behaviour that does not lead to better programming performance. This study contributes to the theory of teaching computer programming, and to the practice of designing and delivering introductory programming courses.</p>


2021 ◽  
Author(s):  
◽  
Geetha Kanaparan

<p>High attrition and failure rates are a common phenomenon in introductory programming courses and are a major concern since course instructors are not able to successfully teach novice programmers the fundamental concepts of computer programming and equip them with skills to code solutions to programming problems. Existing solutions that attempt to minimise the high failure and attrition rates have had little impact on improving the performance of the novice programmers. However, the behaviour of the novice programmer has received little attention from introductory programming course instructors although the literature on learning theory suggests that self-efficacy and engagement are two behavioural factors that affect a student’s performance. This study fills the gap in existing research by examining the effect of programming self-efficacy on the engagement of novice programmers, and the effect of their engagement on their programming performance.  A research model that proposes a link between programming self-efficacy and the indicators of engagement that are specific to the context of introductory programming courses, and a link between the indicators of engagement to the programming performance of the novice programmer was developed. A three-phased mixed methods approach which consists of two survey questionnaires and focus groups was used to validate the research model. Data was collected in New Zealand and in Malaysia with 433 novice programmers participating in the survey questionnaires while 4 focus groups were held to refine and validate the indicators of engagement in introductory programming courses. The findings of the focus groups confirmed that participation, help-seeking, persistence, effort, deep learning, surface learning, trial and error, interest, and enjoyment were indicators of engagement while gratification emerged as a new indicator of engagement in introductory programming courses.  The data from the survey questionnaires were analysed using Partial Least Squares Structural Equation Modeling (PLS-SEM). This study found that the programming self-efficacy beliefs of novice programmers had a strong influence on their engagement behaviour with the exception of help-seeking, while effort, enjoyment, deep learning, and surface learning were predictors of programming performance. These findings have implications for introductory programming course instructors and the recommendations emerging from this study include making clear behavioural expectations, designing courses which stimulate and support effective behaviour, and making novice programmers aware of the engagement behaviour that does not lead to better programming performance. This study contributes to the theory of teaching computer programming, and to the practice of designing and delivering introductory programming courses.</p>


Sign in / Sign up

Export Citation Format

Share Document