There is a consensus among computer education experts and practitioners that teaching introductory programming is intrinsically hard. In particular, the choice of the first programminglanguage to support learning the...
详细信息
ISBN:
(纸本)9798400716539
There is a consensus among computer education experts and practitioners that teaching introductory programming is intrinsically hard. In particular, the choice of the first programminglanguage to support learning the fundamentals of problem solving and algorithmic reasoning is a hot issue that is driving a lot of attention within the last few decades. As a side effect, the computing education community has been long divided between supporters of industrial relevance and advocates of educational benefits as the prominent grounds on which a first programminglanguage should be elected. While the former seem to have the wind in their sails, with popular-in-industry languages such as java, C and C++ being still widely used to teach introductory programming, the case is far from being closed. In this paper, we propose to analyze the first language choice dilemma in the light of a number of rigorous studies carried out within and outside of the computing education community. We show that, in the light of these studies, we can efficiently question our choices as educators and stimulate objective discussions toward reconciling our views regarding the first language choice. Mainly, we devise a number of criteria, all backed up with scientific findings from different communities, according to which a first language should be evaluated. Our conclusions converge toward a justified concern vis-à-vis the use of languages such as java and C to teach introductory programming, and the pressing need for a better compromise between industrial popularity and educational advantages. To meet that need, our position gravitates around two major opinions stemming from our cross-disciplinary analysis: (i) java, C and C++ should not be used to teach introductory programming and should rather be saved for more advanced programming courses and (ii) while the recent trend of choosing Python is justified, it is still debatable and therefore other candidates, among which we propose a couple, shou
The growth of internet used automobile shopping has been tremendous in recent years. It is important for sellers to correctly evaluate the price of the used cars. From the literature, classification is an approach tha...
详细信息
The problem of solving matrix eigenvalue is a hot research topic in systems engineering and electronics, because matrix eigenvalue has important applications in many fields such as unmanned aerial vehicle (UAV) cluste...
详细信息
Data spaces have emerged as a paradigm for maintaining data sovereignty and interoperability in data sharing among various stakeholders. There is an increasing interest and progress in research and practice whereby cu...
详细信息
Typestates are a notion of behavioral types that describe protocols for stateful objects, specifying the available methods for each state. Ensuring methods are called in the correct order (protocol compliance), and th...
详细信息
ChatGPT, a large language model (LLM) developed by OpenAI, fine-tuned on a massive dataset of text and source code, has recently gained significant attention on the internet. The model, built using the Transformer arc...
详细信息
Indentation is a well-known principle for writing code. It is taught to progammers and applied in software projects. The typical argument for indentation is that it makes code more readable. However, taking a look int...
详细信息
Many algorithmic steps require more than one statement to implement, but not big enough to be a method (e.g., add element, find the maximum, determine a value, etc.). These steps are generally implemented by loops. In...
详细信息
java reflection allows a program to inspect the structure of objects at run-time and provides a powerful mechanism to achieve many interesting dynamic features in several java frameworks. However, reflection break the...
详细信息
GWIT is a validator for violation witnesses produced by java verifiers in the SV-COMP software verification competition. GWIT weaves assumptions documented in a witness into the source code of a program, effectively r...
详细信息
ISBN:
(纸本)9783030995270;9783030995263
GWIT is a validator for violation witnesses produced by java verifiers in the SV-COMP software verification competition. GWIT weaves assumptions documented in a witness into the source code of a program, effectively restricting the part of the program that is explored by a program analysis. It then uses the GDART tool (dynamic symbolic execution) to search for reachable errors in the modified program.
暂无评论