338,579 research outputs found

    Teaching programming with computational and informational thinking

    Get PDF
    Computers are the dominant technology of the early 21st century: pretty well all aspects of economic, social and personal life are now unthinkable without them. In turn, computer hardware is controlled by software, that is, codes written in programming languages. Programming, the construction of software, is thus a fundamental activity, in which millions of people are engaged worldwide, and the teaching of programming is long established in international secondary and higher education. Yet, going on 70 years after the first computers were built, there is no well-established pedagogy for teaching programming. There has certainly been no shortage of approaches. However, these have often been driven by fashion, an enthusiastic amateurism or a wish to follow best industrial practice, which, while appropriate for mature professionals, is poorly suited to novice programmers. Much of the difficulty lies in the very close relationship between problem solving and programming. Once a problem is well characterised it is relatively straightforward to realise a solution in software. However, teaching problem solving is, if anything, less well understood than teaching programming. Problem solving seems to be a creative, holistic, dialectical, multi-dimensional, iterative process. While there are well established techniques for analysing problems, arbitrary problems cannot be solved by rote, by mechanically applying techniques in some prescribed linear order. Furthermore, historically, approaches to teaching programming have failed to account for this complexity in problem solving, focusing strongly on programming itself and, if at all, only partially and superficially exploring problem solving. Recently, an integrated approach to problem solving and programming called Computational Thinking (CT) (Wing, 2006) has gained considerable currency. CT has the enormous advantage over prior approaches of strongly emphasising problem solving and of making explicit core techniques. Nonetheless, there is still a tendency to view CT as prescriptive rather than creative, engendering scholastic arguments about the nature and status of CT techniques. Programming at heart is concerned with processing information but many accounts of CT emphasise processing over information rather than seeing then as intimately related. In this paper, while acknowledging and building on the strengths of CT, I argue that understanding the form and structure of information should be primary in any pedagogy of programming

    Research support-oriented MATLAB learning: tackling difficult concepts and promoting personalised learning

    Get PDF
    This study investigated the acquisition of MATLAB programming skills by postgraduate students, and whether this learning was improved by research support-oriented teaching. Questionnaire surveys were given to academic staff asking about what they considered the most important knowledge and skills in programming to be. Questionnaire surveys were also given to students asking about what programming concepts they found the most difficult and confusing to understand. The intersection between what knowledge and skills in programming the researchers deemed the most important, and what areas in programming students had most difficulty with, was carefully addressed in subsequent teaching in a module teaching the essentials of programming to postgraduate students. Student learning performance, as measured by examination marks on the module, before and after the intersection concepts were emphasised was compared. The student learning performance improvement, together with interviews to students about their perceptions about programming, suggests that teaching oriented to research support is effective at increasing student understanding of programming in MATLAB

    Teaching staff knowledge, attributions and confidence in relation to working with children with an intellectual disability and challenging behaviour

    Get PDF
    The present study examined Scottish teaching staff knowledge about the definition and management of challenging behaviour displayed by children with an intellectual disability. Knowledge levels were relatively low, and participants were most likely to define challenging behaviour by function or topography. Teaching staff were largely unaware of positive programming strategies, suggesting that they may not be properly equipped to manage challenging behaviour effectively in the longer term. The teaching staff were found to hold attributions which research suggests are associated with reduced helping behaviour and increased anger. This indicates a continuing need to identify effective ways of promoting more accurate knowledge and positive attributions in teaching staff

    A Longitudinal Evaluation of the Impact of a Problem-Based Learning Approach to the Teaching of Software Development in Higher Education

    Get PDF
    First year students on Computing courses at tertiary level find Software Development difficult: learner outcomes are poor, with high failure rates and low learner retention. A number of research studies have shown that novice programmers have low intrinsic motivation and low programming self-efficacy. One of the other possible explanations for the difficulties many learners have with Software Development is that it may be a Threshold Concept in Computing. The literature suggests that Problem-Based Learning (PBL) can improve the teaching of difficult concepts, and it has been promoted by professional and funding bodies as a teaching strategy that can improve learner outcomes and bring about positive changes in learner behaviour. The main aim of this research study was to establish the impact on learner outcomes and behaviour of a Hybrid PBL approach used in the teaching of an introductory Software Development module at an Irish tertiary level institution. Learners on the Software Development module are characterised by low prior attainment in State college entry examinations, and the majority are from low income socio-economic backgrounds. Learner outcomes and behaviours were investigated over four cohorts of learners using a large range of data sources. A randomised controlled experimental design was used to measure changes in attainment, programming self-efficacy, motivation, approaches to study and preferences for types of teaching. Questionnaires, data mining of learner activity and attendance logs were used to provide additional information about learner behaviour, and further analysis was undertaken using qualitative techniques such as classroom observations and interviews. Both qualitative and quantitative measures were used to confirm, cross-validate and corroborate findings. The study made significant discoveries about the strengths and limitations of the Problem-Based Learning approach in the teaching of Software Development to low attainment learners. The implications for instructional practice and for educational theory and research are discussed and a number of recommendations are made

    Measuring enrichment: The assembly and validation of an instrument to assess student self-beliefs in CS1

    Get PDF
    Educational research shows that self-beliefs can have profound influences on learning behavior and achievement. It follows, then, that beliefs about the nature of programming aptitude (mindset) and the way individuals perceive themselves as programmers (self-concept) could have a salient impact on their programming practice. As such, new teaching methods could be used to support student self-beliefs and thereby encourage practice. However, valid measurement is needed to test this hypothesis. This paper presents the assembly and validation of a measurement instrument to support research into self-enrichment within the introductory programming context. An evaluation shows that the reliability and construct validity of the instrument are adequate, while the concurrent validity of the evaluation framework is satisfactory in the higher education context. However, future validation is required to establish cross-context validity

    Students’ Perception about Fundamental Programming Course Teaching and Learning

    Get PDF
    Programming learning has unique characteristics as it is a subject that requires skill and higher order thinking. Students come to class with a perception about the subject mostly obtained from their seniors including fear or perceived difficulty. Senior students have a perception about programming learning that was supported by their experience during the subject learning. Students’ views (+ / -) about the course could affect their performance. A qualitative survey was conducted with 93 third year students to obtain their views about the students’ point of views while learning programming and the recommendation for modifying the course. Obstacles identified by students could be tackled with the aid of technology enhanced learning (TEL) including tutoring system. This survey is done as a preliminary step in developing and incorporating technical solution to students’ problems. The findings were: Mostly, students are satisfied with the amount of time and effort they dedicated to the subject. While some mentioned that they would practice coding more and perform some projects beyond the course level. Majority of the students pointed out that they got useful advice from seniors about the subject learning. Less feedback was discouraging to students. About their suggested modification about the way the course setup, their overall responses approved the course design. There were minor comments about the proportions of the theoretical to practical components and the suitable amount of assignments

    Why University Students Fail in Most Computer Programming Courses: The Case of Wachemo University-Student-Teacher Perspective

    Get PDF
    In this research, a study was conducted to investigate and explore the views of students for the failure and difficulties they faced in learning fundamental programming courses. There are many factors that influence the high rate of failure of students in most computer programming courses. This paper focuses on the teaching and learning methodologies and strategies that are implemented in teaching of all computer programming courses. This is a major factor for consideration; hence an investigation into the causes of failure of students in most computer programming courses from all perspectives with regard to the teaching methodology used by teachers to teach these courses is relevant and very important concept. Most computer programming courses form part of the core concentration areas for students especially studying in school of computing and informatics as an undergraduate degree program. All computer programming students are expected to prove capabilities in the principles of programming and logic that are being taught in the courses; even though some of these concepts are highly intellectual and multifaceted. Their opinions to the usefulness of the teaching methods being implemented in computer programming courses were required for. The needs and concerns about the teaching and learning methods are highlighted in the study and discussed thereby leading to the making of suggestions about the ways to improve the teaching and learning methods that are used in computer programming courses in order to advance understanding of computer programming, when studied by students thereby minimizing failure rates of those students. Keywords: Computer programming; Failure; School of Computing and Informatics; Student and Teacher Perspective DOI: 10.7176/CEIS/11-2-02 Publication date: February 29th 2020

    An Off-Label Use of Parental Rights? The Unanticipated Doctrinal Antidote for Professor Mnookin’s Diagnosis

    Get PDF
    In the intersection of technology, curriculum and intentions, a specific issue of interest is found in the gap between teachers’ intentions and implementations of curriculum. Instead of approaching curriculum and technology as something fait accompli, teachers are considered crucial in the re-discovery of what and how to teach. The thesis depicts the mind-set of teachers and their beliefs in relation to computing curriculum. Three perspectives are covered in the thesis. Based on original documents and interviews with curriculum developers, the enactment of the computing/programming curriculum during the 1970s and 1980s is explored (Paper 1). This historical perspective is supplemented with a perspective from the present day where current teaching practice is explored through teachers’ statements (seminars with associated questionnaires) regarding their beliefs about teaching and learning programming(Paper 2). Finally with a view from a theoretical perspective, teachers’perception of instruction is discussed in relation to a theoretical framework where their intentions in relation to theoretical and practical aspects of knowledge are revealed (Papers 3 &amp; 4). The initial incitement to offer computing education during the 1970s was discovered in the recruitment of a broader group of students within the Natural Science Programme and the perception that it would contribute to the development of students’ ability to think logically and learn problem solving skills. Data concerning teachers’ beliefs about teaching and learning programming unravels an instructional dependence among today’s teachers where students’ logical and analytical abilities (even before the courses start) are considered crucial to students’ learning, while teachers question the importance of their pedagogy. The thesis also discover two types of instruction; a large group putting emphasis on the syntax of programming languages, and a smaller group putting emphasis on the students’ experiences of learning concepts of computer science (not necessarily to do with syntax). In summary the thesis depicts an instructional tradition based on teachers’ beliefs where the historical development of the subject sets the framework for the teaching. Directly and indirectly the historical development and related traditions govern what programming teachers in upper secondary school will/are able to present to their students. From deploying two theoretical approaches, phenomenography and logic of events, upon teacher’s cases it is shown that the intended object of learning (iOoL) is shaped by the teacher’s intentions (e.g., balancing the importance oftheory and practice, using different learning strategies, encouraging learning by trial-and-error and fostering collaboration between students for a deeper understanding). The teachers also present a diverse picture regarding what theoretical knowledge students will reach for.QC 20150227</p

    A game-based approach to the teaching of object-oriented programming languages

    Get PDF
    Students often have difficulties when trying to understand the concepts of object-oriented programming (OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless communication and user-directed output capabilities, is applied to the teaching of the C# programming language, since the operation of these devices can be controlled by user programs written in C#. For our experiment, we selected a sample of students with a sufficient knowledge about procedural programming, which was divided into two groups: The first one had a standard introductory C# course, whereas the second one had an experimental C# course that included, in addition to the contents of the previous one, two demonstration programs that illustrated some OOP basic concepts using the TUI features. Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the group of students that attended the course including the TUI demos showed a higher interest level (i.e. they felt more motivated) during the course exposition than the one that attended the standard introductory C# course. Furthermore, the students from the experimental group achieved an overall better mark. Therefore, we can conclude that the technological contribution of Sifteo cubes – used as a distributed TUI by which OOP basic concepts are represented in a tangible and a visible way – to the teaching of the C# language has a positive influence on the learning of this language and such basic concepts
    corecore