42,046 research outputs found
Visual and Textual Programming Languages: A Systematic Review of the Literature
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
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
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
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
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
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
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
Recommended from our members
Understanding Behaviors of Attendance in Supplemental Instruction and Subsequent Academic Success in a First Year Engineering Course
As student retention and four-year graduation rates are
of institutional and national interest and frequently referred
metrics for college success, the Supplemental Instruction
(SI) program aims to reduce D’s, F’s and Q drop rates in
historically difficult classes. Although previous work done
by this group revealed that attending SI sessions for a firstyear
course (Introduction to Electrical Engineering)
positively impacted exam scores and subsequent course
grades [1], the program continues to experience low
participation rates. Emerging questions of student
behaviors in relation to attendance at SI sessions are
addressed in this article.
The study utilizes a mixed-methods approach,
incorporating quantitative data relating to grades and
attendance with qualitative data relating to student
awareness, use and perceptions about SI. These analyses
serve to gain an understanding of the effects of SI and
identify components of the program that students value.
Quantitative data was collected in the form of session
attendance logs, grade data, and student demographics.
Qualitative data was collected in the form of pre- and postsurveys
administered during the third and final week of the
semester.Cockrell School of Engineerin
Teaching and Learning Tools for Introductory Programming in University Courses
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
- …