42,046 research outputs found

    Visual and Textual Programming Languages: A Systematic Review of the Literature

    Get PDF
    It is well documented, and has been the topic of much research, that Computer Science courses tend to have higher than average drop out rates at third level. This is a problem that needs to be addressed with urgency but also caution. The required number of Computer Science graduates is growing every year but the number of graduates is not meeting this demand and one way that this problem can be alleviated is to encourage students at an early age towards studying Computer Science courses. This paper presents a systematic literature review on the role of visual and textual programming languages when learning to program, particularly as a first programming language. The approach is systematic, in that a structured search of electronic resources has been conducted, and the results are presented and quantitatively analysed. This study will give insight into whether or not the current approaches to teaching young learners programming are viable, and examines what we can do to increase the interest and retention of these students as they progress through their education.Comment: 18 pages (including 2 bibliography pages), 3 figure

    Turning engineers into reflective university teachers

    Get PDF
    Increasing attention to quality and innovation in Higher Education (HE) is enhancing the pedagogic knowledge of faculty members and thereby encouraging the academic success of their students. This aim requires, from the institution and teachers, a greater degree of involvement than was previously the case. This is certainly borne out by experience in Portuguese universities. The growing concern of engineers with issues of pedagogy and academic success marks a sea change in the traditional conceptions of teaching and learning in Higher Education. There are, of course, indications that many academics are resistant to change. Our research indicates a tradition among Portuguese and Scottish academics to incline their effort toward research with a resultant decline in interest and effort on teaching. The present paper presents a meta-analysis of research conducted at the University of Aveiro (Portugal) and the University of Strathclyde (United Kingdom) between 2000 and 2004 involving academics who taught first-year introductory Programming courses. The purpose of our study was to promote reflection and research on teaching based issues as a strategy toward improved student learning. The findings of the study raised a number of salient issues for discussion and consideration. In this paper, we present some of these issues, aiming to explore the impact that the findings may have on teachers' attitudes towards teaching and students' learning in introductory programming courses

    Insights on best teaching practices for promoting students' learning

    Get PDF
    The Department of Educational Sciences and the Department of Electronic and Telecommunications at the University of Aveiro (Portugal) have been working together with the Department of Computer and Information Sciences at the University of Strathclyde (UK), with the aim of improving the teaching and learning of introductory programming courses. Both institutions belong to the European Consortium of Innovative Universities (ECIU), with a commitment to "developing and implementing new forms of teaching, training, and research; to assuring an innovative culture within their walls; to experimenting with new forms of management and administration; and to sustaining and nurturing internationally-minded staff" (ECIU). Over the past two years, data has been collected through interviews, questionnaires and class observation, to better understand the organization of the different courses and approaches to teaching and learning. Members of academic staff have been actively involved in trying to enhance the students' learning experience through reflection on teaching methods and trying new ideas to aid student success. During this process we have assimilated insights on teaching philosophies, methods and suggestions for course redesign. As an important piece of the "puzzle", students also provided useful feedback on differing aspects of teaching and course organization. The present paper presents a meta-analysis of our findings on the relevance of teaching practices for promoting students' learning. In addition, we discuss the impact that teaching philosophies and course organization may have on best teaching practices

    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

    Contemporary developments in teaching and learning introductory programming: Towards a research proposal

    Get PDF
    The teaching and learning of introductory programming in tertiary institutions is problematic. Failure rates are high and the inability of students to complete small programming tasks at the completion of introductory units is not unusual. The literature on teaching programming contains many examples of changes in teaching strategies and curricula that have been implemented in an effort to reduce failure rates. This paper analyses contemporary research into the area, and summarises developments in the teaching of introductory programming. It also focuses on areas for future research which will potentially lead to improvements in both the teaching and learning of introductory programming. A graphical representation of the issues from the literature that are covered in the document is provided in the introduction

    The abstraction transition taxonomy: developing desired learning outcomes through the lens of situated cognition

    Get PDF
    We report on a post-hoc analysis of introductory programming lecture materials. The purpose of this analysis is to identify what knowledge and skills we are asking students to acquire, as situated in the activity, tools, and culture of what programmers do and how they think. The specific materials analyzed are the 133 Peer Instruction questions used in lecture to support cognitive apprenticeship -- honoring the situated nature of knowledge. We propose an Abstraction Transition Taxonomy for classifying the kinds of knowing and practices we engage students in as we seek to apprentice them into the programming world. We find students are asked to answer questions expressed using three levels of abstraction: English, CS Speak, and Code. Moreover, many questions involve asking students to transition between levels of abstraction within the context of a computational problem. Finally, by applying our taxonomy in classifying a range of introductory programming exams, we find that summative assessments (including our own) tend to emphasize a small range of the skills fostered in students during the formative/apprenticeship phase

    Unifying an Introduction to Artificial Intelligence Course through Machine Learning Laboratory Experiences

    Full text link
    This paper presents work on a collaborative project funded by the National Science Foundation that incorporates machine learning as a unifying theme to teach fundamental concepts typically covered in the introductory Artificial Intelligence courses. The project involves the development of an adaptable framework for the presentation of core AI topics. This is accomplished through the development, implementation, and testing of a suite of adaptable, hands-on laboratory projects that can be closely integrated into the AI course. Through the design and implementation of learning systems that enhance commonly-deployed applications, our model acknowledges that intelligent systems are best taught through their application to challenging problems. The goals of the project are to (1) enhance the student learning experience in the AI course, (2) increase student interest and motivation to learn AI by providing a framework for the presentation of the major AI topics that emphasizes the strong connection between AI and computer science and engineering, and (3) highlight the bridge that machine learning provides between AI technology and modern software engineering

    Teaching and Learning Tools for Introductory Programming in University Courses

    Get PDF
    Difficulties in teaching and learning introductory programming have been studied over the years. The students' difficulties lead to failure, lack of motivation, and abandonment of courses. The problem is more significant in computer courses, where learning programming is essential. Programming is difficult and requires a lot of work from teachers and students. Programming is a process of transforming a mental plan into a computer program. The main goal of teaching programming is for students to develop their skills to create computer programs that solve real problems. There are several factors that can be at the origin of the problem, such as the abstract concepts that programming implies; the skills needed to solve problems; the mental skills needed to decompose problems; many of the students never had the opportunity to practice computational thinking or programming; students must know the syntax, semantics, and structure of a new unnatural language in a short period of time. In this work, we present a set of strategies, included in an application, with the objective of helping teachers and students. Early identification of potential problems and prompt response is critical to preventing student failure and reducing dropout rates. This work also describes a predictive machine learning (neural network) model of student failure based on the student profile, which is built over the course of programming lessons by continuously monitoring and evaluating student activities
    corecore