675 research outputs found

    Online supported learning and threshold concepts in novice programming

    Get PDF
    Novice programming is a challenging subject to both the students and the educators. Students struggle to comprehend the methods, and educators try their best to put forth the subject in an understandable manner. This paper presents two methods implemented to support the learning for students in a novice programming class. They are social network support and online journaling. The threshold concepts for computing are also discussed. Data collected through the online journaling method provides an indicator to the possible threshold concepts in novice programming subject. The impacts of the methods are evaluated using analysis of questionnaires responds, entries to the social networking support platform, online journaling method, and students’ grade. The conclusion of this study are 1) the social support network helps students to work on the subject content, and 2) students who post on the platform have a significantly better grade. The conclusion drawn for the online journaling are 1) students who actively participated are scoring better grade in the class, and 2) online journaling method also confirms that one of the main thresholds for novice programming class is the object oriented concept. Apart from Memory and Object Oriented Programming, Multidimensional array and Methods are another two topics identified as threshold concepts for novice programming

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    Towards the Humanisation of Programming Tool Interactions

    Get PDF
    Program analysis tools, from simple static semantic analysis by a compiler, to complex dynamic analyses of data flow and security, have become commonplace in modern day programming. Many of the simpler analyses, such as the afore- mentioned compiler checking or linters designed to enforce code style, may even go unnoticed or unconsidered by most users, ubiquitous as they are. Despite this, and despite the obvious utility that such programming tools can provide, many warnings provided by them go unheeded by programmers most of the time.There are several reasons for this phenomenon: the propensity to produce false positives undermines confidence in the validity of warnings, the tools do not in- tegrate well into the normal workflow of the developer, sometimes the warning message is simply too esoteric for most users to understand, and so on. A com- mon theme can be drawn from these reasons for ignoring the often-times very useful information given by a programming tool: the tool itself is difficult to use.In this thesis, we consider ways in which we can bridge this gap between users and tools. To do this, we draw from observations about the way in which we interact with each other in the most basic human-to-human context. Applying these lessons to a human-tool interaction allow us to examine ways in which tools may be deficient, and investigate methods for making the interaction more natural and human-like.We explore this issue by framing the interaction as a "conversation" between a human and their development environment. We then present a new programming tool, Progger, built using design principles driven by the "conversational lens" which we use to look at these interactions. After this, we present a user study using a novel low-cost methodology, aimed at evaluating the efficacy of the Progger tool. From the results of this user study, we present a new, more streamlined version of Progger, and finally investigate the way in which it can be used to direct the users attention when conducting a code comprehension exercise

    Online tools to support novice programming: A systematic review

    Get PDF
    Novice programming is a challenging subject to both the students and the educators. A novice programmer is required to acquire new knowledge to solve a problem and propose a solution systematically. This is followed by constructing the solution in a development environment that they are unfamiliar with. This research looks at the challenges faced by a novice programmer and the online methods that are popular to assist the students. Online block programming is a popular option. One of the software that had been implemented in the various research project is Scratch. From the reviewed research, it shows that the trend is moving towards an intelligent tutoring system, where students can have personalized engagement for their learning experience. This paper presents a systematic review conducted using the keywords ”novice programming”, ”introductory”, ”CS1”, ”difficulties”, ”challenges”, and ”threshold concepts”. From the review conducted, it is observed that most of the work is carried out to ease the implementation of the solution through an integrated development environment, and block programming. On the support for instructors, the discussion on curriculum and challenges in CS1 tops the chart. This is followed by active learning through online tools

    An influence model of the experience of learning programming

    Get PDF
    Learning to program is difficult for many students all over the world with programming courses often experiencing high failure and attrition rates. The teaching of programming is still considered a major challenge by educators. At the same time, programming is becoming a key skill required not only of IT graduates but also of students in other disciplines and is becoming more important to a wider range of people. Today’s university students also practice their learning in an extended learning environment that extends well beyond the classroom. There has been considerable research into the teaching of programming in the computing education field, with many studies focussing on content and delivery. More recently, researchers have recognised the need for a greater understanding of how students experience learning to program, from the student’s perspective. This study contributes to this growing body of knowledge by exploring, in depth, the wide range of influences on the student learning experience of programming. A qualitative study was conducted that interviewed 31 Information Systems students about their experiences in learning programming. The interview transcripts were analysed using a Grounded Theory methodology. A new theory of the Influences on the Student Learning Experience of Programming was developed from the analysis, which is more holistic and comprehensive than previous theories. The learning experience of programming involves a complex interaction of a wide range of influences. A major influence is the student’s Perceived Personal Relevance towards programming. Students who perceive that programming is relevant to their future career goals are far more motivated to learn it. Perceived Personal Relevance, together with Learning Trait and Skill Level describe the Learner Nature of the student, which influences their Learning Behaviours. The influences within Learning Behaviours include Core Learning Perspectives (Ownership of learning, Learning Task Intent and Problem solving Behaviours), Patterns of Collaboration and Patterns of Information Use. Patterns of Collaboration describe how students interact with and use their Personal Networks, and include four levels of dependency: One Way Dependent, Two Way Co-Dependent, Collaborative Independent and Solitary Independent. Patterns of Information Use describe the different ways students interact with and use their information sources. The theory includes Programming Learner Profiles, which encapsulate the relationships and influences between Learner Nature and Learning Behaviours. Each profile describes, in essence, the nature and behaviour of different types of students. Seven distinct Programming Learner Profiles were identified in the study: Reluctant Beginner, Willing Beginner, Keen Beginner, Budding Manager, Budding Practitioner, Budding Developer and Advanced Developer. This new theory gives educators a greater insight into what students are thinking and doing when learning to program and potential strategies that can improve learning outcomes

    Feedback 2.0: An Investigation into Using Sharable Feedback Tags as Programming Feedback

    Get PDF
    Objectives: Learning and teaching computer programming is a recognised challenge in Higher Education. Since feedback is regarded as being the most important part of the learning process, it is expected that improving it could support students' learning. This thesis aims to investigate how new forms of feedback can improve student learning of programming and how feedback sharing can further enhance the students' learning experience. Methods: This thesis investigates the use of new forms of feedback for programming courses. The work explores the use of collaborative tagging often found in Web 2.0 software systems and a feedback approach that requires examiners to annotate students source code with short, potentially reusable feedback. The thesis utilises a variety of research methods including questionnaires, focus groups and collection of system usage data recorded from student interactions with their feedback. Sentiment and thematic analysis are used to investigate how well feedback tags communicate the intended message from examiners to students. The approaches used are tested and refined over two preliminary investigations before use in the final investigation. Results: The work identified that a majority of students responded positively to the new feedback approach described. Student engagement was high with up to 100% viewing their feedback and at least 42% of students opting to share their feedback. Students in the cohort who achieved either the lower or higher marks for the assignment appeared more likely to share their feedback. Conclusions: This thesis has demonstrated that sharing of feedback can be useful for disseminating good practice and common pitfalls. Provision of feedback which is contextually rich and textually concise has resulted in higher engagement from students. However, the outcomes of this research have been shown to be influenced by the assessment process adopted by the University. For example, students were more likely to engage with their feedback if marks are unavailable at the time of feedback release. This issue and many others are proposed as further work
    • 

    corecore