What is 'programming thinking'? In a study, first year students were interviewed on their understanding of what learning to program means. Many students talked about learning to program in terms of learning a ...
详细信息
ISBN:
(纸本)1595930434
What is 'programming thinking'? In a study, first year students were interviewed on their understanding of what learning to program means. Many students talked about learning to program in terms of learning a special way to think, different from other subjects studied. Many of these students had problems in describing what this special way to think included. The analysis of the interviews revealed some features of this thinking, as expressed by the students. In this paper we discuss and analyse 'programming thinking' using phenomenography as our research approach [7]. Our results are coherent with Hazzan's research on the learning theory 'process-object duality' [4], but points to problems in learning of object-oriented programming not indicated in 'process-object duality'. In comparing the results form our own study with this learning theory, we discuss what this might mean in learning object-oriented programming. Copyright 2005 ACM.
An advanced communication system, the FlexRay system, has been developed for future automotive applications. It consists of time-triggered clusters, such as drive-by-wire in cars, in order to meet different requiremen...
详细信息
ISBN:
(纸本)1595930914
An advanced communication system, the FlexRay system, has been developed for future automotive applications. It consists of time-triggered clusters, such as drive-by-wire in cars, in order to meet different requirements and constraints between various sensors, processors, and actuators. In this paper, an approach to static scheduling for FlexRay systems is proposed. Our experimental results show that the proposed scheduling method significantly reduces up to 36.3% of the network traffic compared with a past approach. Copyright 2005 ACM.
There are many oil wells in onshore fields that need artificial lift methods in Brazil. These wells periodically need some maintenance services that are performed by workover rigs, available on a limited number. The p...
详细信息
Aspect-oriented languages such as AspectJ can be implemented by a preprocessor that converts aspects to classes, converts advice to methods, and inserts explicit method calls to the advice methods at the appropriate j...
详细信息
ISBN:
(纸本)9781932415759
Aspect-oriented languages such as AspectJ can be implemented by a preprocessor that converts aspects to classes, converts advice to methods, and inserts explicit method calls to the advice methods at the appropriate join points. The resulting code calls the advice methods in places where the programmer coded no explicit calls. We refer to such calls as implicit method calls. We can achieve capabilities similar to AspectJ but with a simpler language by focusing on the notion of implicit method calls. We propose Micky, an extension of Java that implements implicit method calls.
Educators have developed a myriad of tools to help novices learn to program. Unfortunately, too little is known about the educational impact of these environments, or even how to assess this impact. In this paper we s...
详细信息
ISBN:
(纸本)1595930434
Educators have developed a myriad of tools to help novices learn to program. Unfortunately, too little is known about the educational impact of these environments, or even how to assess this impact. In this paper we summarize a representative collection of the assessments of novice programming environments, present a rubric for evaluating the quality of such assessments, and demonstrate the application of our rubric to the summarized works. The intent is that such an evaluative framework will help inform future efforts in assessing novice programming environments. Copyright 2005 ACM.
Developers must often deal with concerns that crosscut a program's structure. Understanding the crosscutting structure may help a developer understand and work with the concern. Current tools for presenting crossc...
详细信息
Many combinatorial problems require of their solutions that they achieve a certain balance of given features. In the constraint programming literature, little has been written to specifically address this issue, parti...
详细信息
Medical image analysis experiments usually require a certain level of programming skills and are often time-consuming. Visual programming can address these issues by providing a high-level user interface to visually a...
详细信息
Reflective programming is becoming popular due to the increasing set of dynamic services provided by execution environments like JVM and CLR. With custom attributes Microsoft introduced an extensible model of reflecti...
详细信息
ISBN:
(纸本)9781581139648
Reflective programming is becoming popular due to the increasing set of dynamic services provided by execution environments like JVM and CLR. With custom attributes Microsoft introduced an extensible model of reflection for CLR: they can be used as additional decorations on element declarations. The same notion has been introduced in Java 1.5. The extensible model proposed in both platforms limits annotations to class members. In this paper we describe [a]C#,1 an extension of the C# programming language, that allows programmers to annotate statements or code blocks and retrieve these annotations at run-time. We show how this extension can be reduced to the existing model. A set of operations on annotated code blocks to retrieve annotations and manipulate bytecode is introduced. Finally, we discuss how to use [a]C# to annotate programs giving hints on how to parallel a sequential method and how it can be implemented by means of the abstractions provided by the run-time of the language. Copyright 2005 ACM.
When students are learning to develop algorithms, they very often spend more time dealing with issues of syntax rather than solving the problem. Additionally, the textual nature of most programming environments works ...
详细信息
ISBN:
(纸本)1581139977
When students are learning to develop algorithms, they very often spend more time dealing with issues of syntax rather than solving the problem. Additionally, the textual nature of most programming environments works against the learning style of the majority of students. RAPTOR is a visual programming environment, designed specifically to help students envision their algorithms and avoid syntactic baggage. RAPTOR programs are created visually and can be executed visually by tracing the execution through the program. Required syntax is kept to a minimum. Students preferred expressing their algorithms visually, and were more successful creating algorithms using RAPTOR than using a traditional language or writing flowcharts.
暂无评论