Results 1 - 10
of
10
The Effect of Programming Language on Error Rates of Novice Programmers
- 12th Annual Workshop of Psychology of Programmers Interest Group (PPIG), Corigliano
, 2000
"... This paper describes the design and testing of a new introductory programming language, GRAIL1. GRAIL was designed to minimise student syntax errors, and hence allow the study of the impact of syntax errors on learning to program. An experiment was conducted using students learning programming for t ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
This paper describes the design and testing of a new introductory programming language, GRAIL1. GRAIL was designed to minimise student syntax errors, and hence allow the study of the impact of syntax errors on learning to program. An experiment was conducted using students learning programming for the first time. The students were split into two groups, one group learning LOGO and the other GRAIL. The resulting code was then analysed for syntax and logic errors. The groups using LOGO made more errors than the groups using GRAIL, which shows that choice of programming language can have a substantial impact on error rates of novice programmers. Introduction An experiment was conducted using a new language, GRAIL, which has been designed to minimise unnecessary errors. This experiment is the first in a series, in which GRAIL is being compared with other languages, some designed for introductory use and some used in industry. The aim of the experiments is to determine whether choice of la...
Generating Human-Usable Textual Notations for Information Models
, 2001
"... Existing techniques for the transfer of information in and out of model-based repositories, and in particular the XMI format, are designed for expedient machine processing, and have significant drawbacks for human users. This report describes a system that automatically generates a producer and cons ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Existing techniques for the transfer of information in and out of model-based repositories, and in particular the XMI format, are designed for expedient machine processing, and have significant drawbacks for human users. This report describes a system that automatically generates a producer and consumer for a human-usable textual notation corresponding to a given information model. This HUTN system is based on the Meta-Object Facility, an OMG standard for the definition of information models and the subsequent mapping of these models to CORBA interfaces.
Teaching Introductory Programming with the Inverted Curriculum Approach
, 2003
"... 2.1 The ’what ’- changing curricular topics............... 7 ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
2.1 The ’what ’- changing curricular topics............... 7
N.: Aspects of cognitive style and programming
- Proceedings of the Sixteenth Annual Workshop of the Psychology of Programming Interest Group (PPIG
, 2004
"... There is widespread concern about low pass rates on introductory programming courses. While considerable research has been carried out to elucidate the reasons for this situation, many of the parameters leading to success or failure in the subject remain unknown. This article describes the results o ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
There is widespread concern about low pass rates on introductory programming courses. While considerable research has been carried out to elucidate the reasons for this situation, many of the parameters leading to success or failure in the subject remain unknown. This article describes the results of an experiment to test two cognitive characteristics that have been shown to be important in other conceptual areas: working memory space and field dependency. These are related to examination results of around 150 students on an introductory programming course at the University of Glasgow. The results show that whilst working memory space appears to have only a marginal influence on levels of achievement on the course, field dependency is an important factor in determining success. The implications of this on the teaching of the subject are discussed briefly.
An Objective Comparison of Languages for Teaching Introductory Programming
"... The question of which language to use in introductory programming has been cause for protracted debate, often based on emotive opinions. Several studies on the benefits of individual languages or comparisons between two languages have been conducted, but there is still a lack of objective data used ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The question of which language to use in introductory programming has been cause for protracted debate, often based on emotive opinions. Several studies on the benefits of individual languages or comparisons between two languages have been conducted, but there is still a lack of objective data used to inform these comparisons. This paper presents a list of criteria based on design decisions used by prominent teaching-language creators. The criteria, once justified, are then used to compare eleven languages which are currently used in introductory programming courses. Recommendations are made on how these criteria can be used or adapted for different situations.
Exploring Textual Modeling using the Umple Language By
"... I would like to extend a great thank you to the following: 1. Dr. Timothy C. Lethbridge. As my advisor, supervisor and mentor he has taught me the axioms of proper research, software engineering and pursuit of knowledge. His critique and guidance through this process has been extensive and invaluabl ..."
Abstract
- Add to MetaCart
I would like to extend a great thank you to the following: 1. Dr. Timothy C. Lethbridge. As my advisor, supervisor and mentor he has taught me the axioms of proper research, software engineering and pursuit of knowledge. His critique and guidance through this process has been extensive and invaluable. 2. The CRuiSE lab composing of Dr. Lethbridge, Andrew Forward and Omar Badreddin. Our meetings on- and off-line have proven to be most educational in many aspects of the research 3. IBM and associated software developers I was able to interact with and learn from throughout the duration of my Master’s term. 4. My family and friends who have supported me in many ways through this difficult journey. Thank you to my father Dusan, mom Tatiana, and sister Natasa. The purpose of our research is to explore the advantages and disadvantages of textual modeling in software engineering, as compared to the traditional graphical modeling languages. A cornerstone of our work has been the development of a text-based modeling
Language
"... Selecting a right programming language for introductory CS courses is not an easy task. The pressure to use a commercially successful language can easily be the most significant factor in choosing the language. However, several studies suggest that it is preferable to use language especially designe ..."
Abstract
- Add to MetaCart
Selecting a right programming language for introductory CS courses is not an easy task. The pressure to use a commercially successful language can easily be the most significant factor in choosing the language. However, several studies suggest that it is preferable to use language especially designed for teaching. These languages are usually some kind of pseudo languages, defined by the programming educators. The idea of using pseudo language is to keep the syntax of the code as simple as possible so the students can focus on learning the programming concepts, instead of some irrelevant syntactical features. Pseudo languages are usually subsets of existing programming languages, and thus can be used to teach all the basic programming concepts. This however leads to a fact that programs written in pseudo code are usually not executable asis, which is one of its main problems. With this in mind we have developed a program visualization tool called VILLE in university of Turku. The tool has a builtin pseudo language that is a subset of Python. Users can add programming examples written in Java and translate them to pseudo language. The programs in pseudo code can also be translated to a runnable Python code. Additionally, users can define their own pseudo language and modify the existing syntaxes.
Teaching Novice Programmers Programming Wisdom
"... Keywords: POP-I.A. learning to program; POP-II.A. novices Teaching students how to write computer programs has remained a challenge. Whether a student is new to programming or has some experience they often have not had enough to develop strategies for solving problems in a computer programming sett ..."
Abstract
- Add to MetaCart
Keywords: POP-I.A. learning to program; POP-II.A. novices Teaching students how to write computer programs has remained a challenge. Whether a student is new to programming or has some experience they often have not had enough to develop strategies for solving problems in a computer programming setting. It is akin to being in a rowboat without any oars. Yes, you can get there; it will just take a long time. There has been a great deal of research over the years into the psychological and cognitive aspects of programming. The reality is that much of this research has not informed our teaching and we are still teaching programming as we did many years ago. Although the academic community may take offense at this statement looking at the way programming is taught today and applying the relevant research to the process can justify it. Without going through that process, it remains easy to see. Programming is largely taught today the way it was taught 60 years ago. Although this paper is entitled “Teaching Novice Programmers Programming Wisdom, ” the wisdom referred to are encapsulations of some of the meta-skills that are needed to successfully write computer programs. The list is not meant to be in anyway comprehensive, complete, or all encompassing. It is a list used with some success in entry level programming courses. The purpose of writing and presenting the idea of wisdom for programming is to allow the computer science/education/psychology communities to comment on this wisdom and possibly offer other “nuggets ” and approaches that might be employed during novice programming instruction.
Supporting Security Engineering at Design Time with Adequate Tooling
"... Abstract—Security engineering is considered to be a challenging task in order to build systems that remain dependable in the face of malice, error, or mischance. Recent approaches propose the application of domain specific modeling languages (DSMLs) in order to facilitate security engineering activi ..."
Abstract
- Add to MetaCart
Abstract—Security engineering is considered to be a challenging task in order to build systems that remain dependable in the face of malice, error, or mischance. Recent approaches propose the application of domain specific modeling languages (DSMLs) in order to facilitate security engineering activities. To support the development and application of adequate DSMLs, agile approaches and frameworks to provide appropriate tooling are needed. In this paper, we document our experiences developing modeling tools for two different DSMLs in the domain of security engineering. We sketch the language and implementation requirements for our modeling tools, design and implementation considerations, and report on pitfalls and remaining issues with regard to the development of modeling tools based on our experiences. I.

