43,118 research outputs found
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
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
Recommended from our members
Introducing TU100 ‘My Digital Life’: Ubiquitous computing in a distance learning environment
In this paper we describe the Open University’s progress towards delivering an introduction to ubiquitous computing within a distance-learning environment. Our work is strongly influenced by the philosophy of learning-through-play and we have taken technologies originally designed for children’s education and adapted them for adult learners, many of whom will have no formal experience of computer science or information technology.
We will introduce two novel technologies; Sense, a drag-and-drop programming language based on Scratch; and the SenseBoard, an inexpensive hardware device that can be connected to the student’s computer, through which they can sense their environment and display outputs.
This paper is not intended as a detailed discussion of individual technologies (they will follow in time), rather it should serve as an introduction to the Open University’s method of teaching and how we hope to continue to recruit new computer scientists and engineers using novel technologies
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
Enhancing apprentice-based learning of Java
Various methods have been proposed in the past to improve student learning by introducing new styles of working with assignments. These include problem-based learning, use of case studies and apprenticeship. In most courses, however, these proposals have not resulted in a widespread significant change of teaching methods. Most institutions still use a traditional lecture/lab class approach with a strong separation of tasks between them. In part, this lack of change is a consequence of the lack of easily available and appropriate tools to support the introduction of new approaches into mainstream courses.In this paper, we consider and extend these ideas and propose an approach to teaching introductory programming in Java that integrates assignments and lectures, using elements of all three approaches mentioned above. In addition, we show how the BlueJ interactive programming environment [7] (a Java development environment aimed at education) can be used to provide the type of support that has hitherto hindered the widespread take-up of these approaches. We arrive at a teaching method that is motivating, effective and relatively easy to put into practice. Our discussion includes a concrete example of such an assignment, followed by a description of guidelines for the design of this style of teaching unit
Recommended from our members
Work-in-Progress: Research Plan for Introducing Problem Solving Skills through Activities to an Introductory Computer Science Course
This work-in-progress research plan paper describes the
process of developing and planning an introductory computer
science course utilizing fundamental problem-solving
skills in combination with hands-on visual activities to
explain various Computer Science (CS) concepts. Problem
solving skills, as observed by the authors of the paper, are
challenging for students across multiple STEM disciplines,
but those who develop these skills perform better within
their STEM courses. The authors hypothesize that introduction
of these skills within a first-year computer science
course will benefit a student’s successful completion of a
STEM degree and their future STEM career [1]. The goal
of this research is to integrate fundamental problem-solving
skills into the existing course material and in-class activities.
The research project will use two-sections of the same
course taught during the same semester with approximately
200 students in each section. Nine hands-on activities,
each covering a fundamental programming concept, were
created to explain these concepts to students with a visual,
real-world component. Both sections will cover the same
computer science material, but some activities will be different
between the two sections to allow for comparison of
performance. There are nine planned activities: three will
be performed with both sections; three will be performed
only in section 1; and the remaining three will be performed
only in section 2. Student performance on exams
and programming assignments for these topics will be same
and compared across both courses. This paper details the
similarities and differences between the two sections of the
course in terms of setup, activities planned, targeted problem-
solving skills, and learning objectives. Additionally,
the paper explains the evaluation plan and assessment tools/
measures to be used (including pre- and post-surveys and
assessment of student performance).Cockrell School of Engineerin
- …