novice programmer
Recently Published Documents


TOTAL DOCUMENTS

50
(FIVE YEARS 20)

H-INDEX

10
(FIVE YEARS 2)

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>


Information ◽  
2021 ◽  
Vol 12 (10) ◽  
pp. 424
Author(s):  
Nianfeng Shi

A role-based teaching approach was proposed in order to decrease the cognitive load placed by the case-based teaching method in the undergraduate novice programmer comprehension. The results are evaluated by using the SOLO (Structure of Observed Learning Outcomes) taxonomy. Data analysis suggested novice programmers with role-based teaching tended to experience better performances, including the SOLO level of program comprehension, program debugging scores, program explaining scores, except for programming language knowledge scores, compared with the classical case-based teaching method. Considering the SOLO category of program comprehension and performances, evidence that the roles of variables can provide scaffolding to understand case programs through combining its program structure with its related problem domain is discussed, and the SOLO categories for relational reasoning are proposed. Meanwhile, the roles of variables can assist the novice in learning programming language knowledge. These results indicate that combing case-based teaching with the role of variables is an effective way to improve novice program comprehension.


Author(s):  
Fulvio Corno ◽  
Luigi De Russis ◽  
Luca Mannella

It is very hard (or ineffective) to take an old system and add to it security features like plug-ins. Therefore, a computer system is much more reliable designed with the approach of security-by-design. Nowadays, there are several tools, middlewares, and platforms designed with this concept in mind, but they must be appropriately used to guarantee a suitable level of reliability and safety. A security-by-design approach is fundamental when creating a distributed application in the IoT field, composed of sensors, actuators, and cloud services. The IoT usually requires handling different programming languages and technologies in which a developer might not be very expert. Through a use case, we analyzed the security of some IoT components of Amazon Web Services (AWS) from a novice programmer’s point of view. Even if such a platform could be secure by itself, a novice programmer could do something wrong and leave some possible attack points to a malicious user. To this end, we also surveyed a small pool of novice IoT programmers from a consulting engineering company. Even if we discovered that AWS seems quite robust, we noticed that some common security concepts are often not clear or applied, leaving the door open to possible issues.


2020 ◽  
Author(s):  
Ariya Shajii ◽  
Ibrahim Numanagić ◽  
Alexander T. Leighton ◽  
Haley Greenyer ◽  
Saman Amarasinghe ◽  
...  

AbstractExponentially-growing next-generation sequencing data requires high-performance tools and algorithms. Nevertheless, the implementation of high-performance computational genomics software is inaccessible to many scientists because it requires extensive knowledge of low-level software optimization techniques, forcing scientists to resort to high-level software alternatives that are less efficient. Here, we introduce Seq—a Python-based optimization framework that combines the power and usability of high-level languages like Python with the performance of low-level languages like C or C++. Seq allows for shorter, simpler code, is readily usable by a novice programmer, and obtains significant performance improvements over existing languages and frameworks. We showcase and evaluate Seq by implementing seven standard, widely-used applications from all stages of the genomics analysis pipeline, including genome index construction, finding maximal exact matches, long-read alignment and haplotype phasing, and demonstrate its implementations are up to an order of magnitude faster than existing hand-optimized implementations, with just a fraction of the code. By enabling researchers of all backgrounds to easily implement high-performance analysis tools, Seq further opens the door to the democratization and scalability of computational genomics.


Sign in / Sign up

Export Citation Format

Share Document