24,625 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
A Cooperative Development System for an Interactive Introductory Programming Course
We present a system for a cooperative development of computer programs that was created for the lab sessions of an introductory programming course at the University of Ljubljana, Slovenia. The system relieved the students from the tedious task of retyping programs developed by the teaching assistant and enabled them to cooperate with the teaching assistant in solving programming problems. We thus made the lab sessions more efficient and interactive and brought them closer to the spirit of active learning approaches
A game-based approach to the teaching of object-oriented programming languages
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
Teaching programming with computational and informational thinking
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
Genuine lab experiences for students in resource constrained environments: The RealLab with integrated intelligent assessment.
Laboratory activities are indispensable for developing engineering skills. Computer Aided Learning (CAL) tools can be used to enhance laboratory learning in various ways, the latest approach being the virtual laboratory technique that emulates traditional laboratory processes. This new approach makes it possible to give students complete and genuine laboratory experiences in situations constrained by limited resources in the provision of laboratory facilities and infrastructure and/or where there is need for laboratory education, for large classes, with only one laboratory stand. This may especially be the case in countries in transition. Most existing virtual laboratories are not available for purchase. Where they are, they may not be cost friendly for resource constrained environments. Also, most do not integrate any form of assessment structure. In this paper, we present a very cost friendly virtual laboratory solution for genuine laboratory experiences in resource constrained environments, with integrated intelligent assessment
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
A gentle transition from Java programming to Web Services using XML-RPC
Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In
addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)
DECONSTRUCTION OF IDEOLOGICAL HEGEMONY OF LANGUAGE-CULTURE MAINTENANCE IN SUNDANESE MEDIA
The media, a controlling discourse, is presupposed to perform social power of groups that
have ability to control the minds of other groups. The practice of this mind control involves
more than acquiring beliefs. It encapsulates such specific and/or social dominance and
hegemony of scarce social resource like âlanguageâ and âcultureâ (See Van Dijk in
Schiffrin, 2001). Since mind control employs the acts, it is argued that Sundanesesâ attitude
to their language and culture may be deconstructed by exercising persuasive power of
narrator and media based on knowledge, information, and authority. In Rosidiâs article,
Urang Sunda di Lingkungan Indonesia, the practice of ideological-hegemony deconstruction
itself is conducted concerning to the fact that many Sundaneses become ignorant society. At
this point, the paper intends to the research focusing on how such discourse controls mind
and action of less powerful groups. Theoretically, recipients tend to accept beliefs,
knowledge, and opinion through discourse from what they see as authoritative, trustworthy,
and credible sources such as scholars, or reliable media (Nesler et al, 1993). The issue
arises out of such particular strategies and function of the structure used in controlling
mind. To learn the issue, critical discourse analysis is used. In this study, it is argued that
deconstruction of ideological hegemony is executed by providing linguistic structure and
communicative events formed by context-social structure and personal and social cognition
- âŠ