609 research outputs found

    The nature of an object-oriented program:how do practitioners understand the nature of what they are creating?

    Get PDF
    Object-oriented programming is seen as a difficult skill to master. There is considerable debate about the most appropriate way to introduce novice programmers to object-oriented concepts. Is it possible to uncover what the critical aspects or features are that enhance the learning of object-oriented programming? Practitioners have differing understandings of the nature of an object-oriented program. Uncovering these different ways of understanding leads to agreater understanding of the critical aspects and their relationship tothe structure of the program produced. A phenomenographic studywas conducted to uncover practitioner understandings of the nature of an object-oriented program. The study identified five levels of understanding and three dimensions of variation within these levels. These levels and dimensions of variation provide a framework for fostering conceptual change with respect to the nature of an object-oriented program

    Object-Oriented Programming:Diagnosis Understanding by Identifying and Describing Novice Perceptions

    Get PDF

    Learning to program, learning to teach programming: pre- and in service teachers' experiences of an object-oriented language

    Get PDF
    The quest for a better way to learn and teach programming, in particular object-oriented programming, is a challenge that continues to intrigue computer science educators. Even after decades of research in learning to program, educators still search for the optimal instructional approach that will solve the `learning to program effectively' problem among introductory programming students. The aim of this study was to gain insight into, and to suggest possible explanations for, the "qualitatively different ways" in which students experience learning to program using an object-oriented programming language, and to recommend teaching and learning strategies as a result of the outcomes of the research. In order to achieve these aims, a combination of phenomenographic research methods and elements of activity theory have been employed to gain an in depth understanding of pre- and in-service teachers' learning experiences. The categories of description for the phenomenon, learning to program and the influence of the learning context have been analysed and described in detail. It is argued that understanding learning to program using Java, in order to teach programming involves more than understanding learning to program as it is normally taught in university programming courses. In addition to object-oriented concepts such as message passing, inheritance, polymorphism, delegation and overriding, it entails understanding how learning to program is reflected in the goals of instruction and in different instructional practices. Knowledge of learning to program must also be linked to knowledge of students' thinking, so that teachers have conceptions of typical trajectories of student learning, and can use this knowledge to recognize landmarks of understanding in individuals. The findings suggest relationships among students' affective appraisals of the value of learning to program, their conceptions of learning to program, their approaches to learning it, their evaluations of their performance in tests and examinations and outcomes of their actions. The relationships emerged from student descriptions of their actions and the way in which different aspects of their learning and outcomes related to one another were qualitatively described and in some cases, quantified. In particular, the tensions between prior programming knowledge of a procedural language and current learning of an object-oriented language have emerged in the study. This has implications for teaching, as this study was set against the backdrop of the change in programming language in high schools, from a procedural to an object-oriented language.Mathematical SciencesPhD (Maths, Science and Technology Education

    Threshold Concepts in Object-Oriented Modelling

    Get PDF
    Proponents of the object-oriented (OO) paradigm frequently claim that the OO paradigm is ‘more natural’ than the procedural paradigm because the world is filled with objects that have both attributes and behaviors. However students in higher education generally experience considerable difficulty in understanding OO concepts and acquiring the necessary skills in object-oriented analysis and design. This paper proposes OO modelling to be a set of threshold concepts and describes a study that sought to improve undergraduate students’ learning of OO modelling by adopting concept maps as ‘stepping stones’ to facilitate the development of analysis class and sequence diagrams

    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

    Student success model in programming course: A case study in UUM

    Get PDF
    The complexity and difficulty ascribed to computer programming has been asserted to be the causes of its high rate of failure record and attrition. It is opined that programming either to novice, middle learner, and the self-branded geeks is always a course to be apprehensive of different studies with varying findings. Studies on factors leading to the success of programming course in higher institution have been carried out. The record at Universiti Utara Malaysia (UUM) shows that 38% of semester one undergraduate students failed the programming course in 2013. This really motivates this study, which aims at investigating the practical factors affecting the success of programming courses, and to position its’ theoretically findings to complement the existing findings. Data were gathered using a quantitative approach, in which a set of questionnaire were distributed to 282 sampled respondents, who are undergraduate and postgraduate students of Information Technology (IT) and Information and Communication Technology (ICT). Having screened and cleaned the data, which led to the deletion of four outlier records, independent T-test, correlation, and regression were run to test the hypotheses. The results of Pearson correlation test reveal that teaching tools, OOP concepts, motivation, course evaluation, and mathematical aptitude are positively related to academic success in programming course, while fear is found to be negatively related. In addition, the regression analysis explains that all the elicited independent variables except fear are strongly related. Besides, the independent T-test also discovers no deference between groups with and without previous programming experience

    Introductory Programming and the Didactic Triangle

    Full text link
    In this paper, we use Kansanen's didactic triangle to structure and analyse research on the teaching and learning of programming. Students, teachers and course content are the three entities that form the corners of the didactic triangle. The edges of the triangle represent the relationships between these three entities. We argue that many computing educators and computing education researchers operate from within narrow views of the didactic triangle. For example, computing educators often teach programming based on how they relate to the computer, and not how the students relate to the computer. We conclude that, while research that focuses on the corners of the didactic triangle is sometimes appropriate, there needs to be more research that focuses on the edges of the triangle, and more research that studies the entire didactic triangle. © 2010, Australian Computer Society, Inc

    A Theory of the Relationships between Cognitive Requirements of Computer Programming Languages and Programmers’ Cognitive Characteristics

    Get PDF
    This paper formulates a theory that investigates the possible effects of two human cognitive characteristics, on the difficulties of learning specific programming languages. The two human cognitive characteristics are Piaget’s cognitive development and McCarthy’s cognitive hemispheric style. This paper consolidates prior research and accepted cognitive theory. It then presents a formulation of a theory that relates cognitive requirements of different computer programming languages and programmers’ cognitive characteristics. If the cognitive requirements for a programming language are beyond the cognitive characteristics of a programming student, the student may burn out. If the cognitive requirements are below the student’s cognitive characteristics the student may be bored. If they are similar to them, the student is able to meet the challenges. Motivation, interest, self-esteem and success may thus be optimized. Different programming languages are more suited for different cognitive characteristics. This theory extends prior research in cognitive theory and cognitive requirements of computer programming

    Computing education theories : what are they and how are they used?

    Get PDF
    In order to mature as a research field, computing education research (CER) seeks to build a better theoretical understanding of how students learn computing concepts and processes. Progress in this area depends on the development of computing-specific theories of learning to complement the general theoretical understanding of learning processes. In this paper we analyze the CER literature in three central publication venues -- ICER, ACM Transactions of Computing Education, and Computer Science Education -- over the period 2005--2015. Our findings identify new theoretical constructs of learning computing that have been published, and the research approaches that have been used in formulating these constructs. We identify 65 novel theoretical constructs in areas such as learning/understanding, learning behaviour/strategies, study choice/orientation, and performance/progression/retention. The most common research methods used to devise new constructs include grounded theory, phenomenography, and various statistical models. We further analyze how a number of these constructs, which arose in computing education, have been used in subsequent research, and present several examples to illustrate how theoretical constructs can guide and enrich further research. We discuss the implications for the whole field

    Exploring student perceptions about the use of visual programming environments, their relation to student learning styles and their impact on student motivation in undergraduate introductory programming modules

    Get PDF
    My research aims to explore how students perceive the usability and enjoyment of visual/block-based programming environments (VPEs), to what extent their learning styles relate to these perceptions and finally to what extent these tools facilitate student understanding of basic programming constructs and impact their motivation to learn programming
    • 

    corecore