There has been a significant need for the new urban design apparatus that carries out performance analyses of the urban models, since the code reform movements focused on the sustainable urban developments. This resea...
详细信息
ISBN:
(纸本)9789881902641
There has been a significant need for the new urban design apparatus that carries out performance analyses of the urban models, since the code reform movements focused on the sustainable urban developments. This research explores the use of parametric Building Information Modeling to enable stakeholders to intuitively understand the implications and consequences of urban design codes. We investigate whether key regulations can be captured as algorithms and ontologies in parametric BIM and object-oriented programming. Then we present our prototype of parametric urban models in a BIM platform that explains (1) the extent which urban design code information can be parameterized in BIM and (2) the methods how parametric models can hold code information. The results show that our prototype enables real-time manipulations of code requirements and interactive visualization of code allowances.
JavaScript is originally a prototype-based, object-oriented language, but in 2015, ECMAScript 2015 (ES2015) introduced a syntax sugar that enables the class-based programming style. However, the use of the class synta...
详细信息
ISBN:
(纸本)9798400717086
JavaScript is originally a prototype-based, object-oriented language, but in 2015, ECMAScript 2015 (ES2015) introduced a syntax sugar that enables the class-based programming style. However, the use of the class syntax is not mandatory, and it is not clear to what extent classes are used in practice. It is also possible to use both the class-based style and the prototype-based style together, or to write a program like a procedural language without using either of them. In this study, we analyse 636 JavaScript projects developed since the introduction of the class syntax to determine the actual usage of classes. The result of our analysis shows that 51.3% of the projects use the class syntax, which is higher than the percentage of projects that use only the prototype syntax without the class syntax, indicating that JavaScript project development is shifting from prototype-based to class-based.
The study describes the main structural components, elements and functions of an intelligent software system that models the project control processes of an economic entity. Numerical algorithms are based on a methodo...
详细信息
ISBN:
(纸本)9783031671913;9783031671920
The study describes the main structural components, elements and functions of an intelligent software system that models the project control processes of an economic entity. Numerical algorithms are based on a methodology for optimizing adaptive control of projects using network economic and mathematical modeling and the feedback principle, which makes it possible to take into account the incompleteness of information associated with the non-fulfillment or delay of specific project operations. The components under consideration involve the formation of a set of acceptable positions in the process of project control, as well as the implementation of feedback in the form of appropriate reactions of control actions to possible changes in situations during its implementation. Information support and technical and economic conditions for the implementation of a specific project are taken into account in the initial data of the components of the software system. The study presents a detailed description of the created components in the form of used objects, classes and other elements of objecto-riented programming, which structures the data from the point of view of their controllability, allows to control the modeling process under consideration and organize software implementation. The intelligent software system developed by the authors is a tool for supporting control decisions when implementing practical projects in the field of economic management.
This nifty assignment requires students to construct a Recycling Items Sorting System using Java, focusing on object-oriented design, abstract data types (ADTs), and sorting algorithms to classify recyclables by type ...
详细信息
ISBN:
(纸本)9798400709975
This nifty assignment requires students to construct a Recycling Items Sorting System using Java, focusing on object-oriented design, abstract data types (ADTs), and sorting algorithms to classify recyclables by type and properties. Targeted at intermediate students in a rigorous object-oriented Design course, the project emphasizes practical Java application, software design, and problem-solving skills. Provided in the fifth week of a sixteen-week program for postgraduates transitioning to tech, the task challenges students with ADTs, sorting algorithms, and unit testing. Interactive recitation sessions support learning, with an auto-grader on Gradescope facilitating immediate feedback and improvement.
Code generation benchmarks such as HumanEval are widely adopted to evaluate LLMs' capabilities. However, after consolidating the latest 24 benchmarks, we noticed three significant imbalances. First, imbalanced pro...
详细信息
ISBN:
(数字)9798400712487
ISBN:
(纸本)9798400712487
Code generation benchmarks such as HumanEval are widely adopted to evaluate LLMs' capabilities. However, after consolidating the latest 24 benchmarks, we noticed three significant imbalances. First, imbalanced programming language. 95.8% of benchmarks involve Python, while only 5 benchmarks involve Java, resulting in an insufficient understanding of LLMs' capability to generate Java code. Second, imbalanced code granularity. Function-/statementlevel benchmarks account for over 83.3% of benchmarks. Only a mere handful extends to class-/project-levels, and all are limited to Python. Third, lacking advanced features. Existing benchmarks primarily assess basic coding skills (e.g., variables, operators, and control structures), while overlooking advanced object-oriented programming (OOP) features (i.e., encapsulation, inheritance, and polymorphism). Considering the prevalence of these advanced features in real-world Java project development, constructing benchmarks to test LLMs on handling OOP features is necessary. To fill these gaps, we propose JavaBench, a project-level Java benchmark that exercises OOP features. It comprises four Java projects with 389 methods in 106 Java classes. The test coverage is up to 92%, and JavaBench is attested by 282 undergraduate students, reaching a 90.93/100 average score (i.e., pass rate against the test suite), ensuring the quality of documentation, code skeleton, and tests. To better evaluate LLM's capability against JavaBench, we introduce a systematic evaluation design covering three context settings and five synthesis strategies at two granularities using three hierarchical metrics. Our extensive experiment yields several interesting findings. First, we noticed that regarding project-level Java programming, LLMs are far behind undergraduate students (no project can be correctly completed by any studied LLMs, and at most 48.24% Pass@5 in a more relaxed evaluation). Second, using method signature as prompt context may strike an idea
Metacognition has been recognized as an essential skill for academic success and for performance in solving problems. During learning or problem-solving, metacognitive skills facilitate a range of cognitive and affect...
详细信息
ISBN:
(纸本)9798400710384
Metacognition has been recognized as an essential skill for academic success and for performance in solving problems. During learning or problem-solving, metacognitive skills facilitate a range of cognitive and affective processes, leading collectively to improved performance. This study explores the predictive potential of metacognition in the second introductory programming course. A two-dimensional model has been proposed, consisting of metacognitive awareness and metacognitive behavior. To evaluate the predictive capacity of metacognition empirically, an exploratory case study with 194 participants from two institutions was conducted in the second introductory programming course. A latent approach was employed to examine the associations between metacognition and performance in object-oriented programming. Our findings indicate that both metacognitive dimensions have a positive effect on programming. Likewise, the results of the structural equation modeling show that 27% of variance in programming performance is explained by metacognitive behavior. Following the results, metacognition has the potential to be considered as one of the important predictors of performance in introductory programming.
Each programming language implements its own standard library, which includes its own set of functions for manipulating with strings. We analyzed 10 popular languages and aggregated all 614 string functions found in t...
详细信息
ISBN:
(纸本)9798350374353;9798350374346
Each programming language implements its own standard library, which includes its own set of functions for manipulating with strings. We analyzed 10 popular languages and aggregated all 614 string functions found in their libraries. We identified a set of most popular functions. Also, we found out that a few most popular and demanded functionalities have lower complexity if strings are immutable. That's why we suggest designers of new languages to make strings immutable, if they aim for higher performance vs. smaller memory footprint.
Computer programming is an emerging skill for the 21st-century citizens worldwide. Coding and educational robotics are part of several educational curricula. However, even though people's personal attributes and c...
详细信息
ISBN:
(纸本)9798400717604
Computer programming is an emerging skill for the 21st-century citizens worldwide. Coding and educational robotics are part of several educational curricula. However, even though people's personal attributes and culture can have an impact on their perceptions of technology usability, socio-emotional aspects of programming are often neglected. Notably, empathy is an important element for social interactions among humans and previous research has shown signs of possible connections with programmers' coding experiences. As a result, this pilot study aims to explore potential correlations between Greek adults' level of empathy and their perceptions of ease of use of programming. For this purpose, an online questionnaire has been applied for data collection to 104 participants who had programming experiences in the past. According to the results, programmers' empathy is associated with perceived ease of use of object-oriented programming and educational robotics, but not with educational coding games. These findings can contribute further to our understanding of the interactions between users and technology in the fields of Human-Computer Interaction, Human-Robot Interaction, and Didactics of Informatics.
Automation has been used to assess student programming tasks for over 60 years. As well as assessing work, it can also be used in the provision of feedback, commonly though the utilisation of unit tests or evaluation ...
详细信息
ISBN:
(纸本)9798400711770
Automation has been used to assess student programming tasks for over 60 years. As well as assessing work, it can also be used in the provision of feedback, commonly though the utilisation of unit tests or evaluation of program output. This typically requires a structure to be provided, for example provision of a method stub or programming to an interface. This scaffolded approach is required in statically typed, object-oriented languages such as Java, as if tests rely on non-existent code, compilation will fail. Previous studies identified that for many tools, feedback is limited to a comparison of the student's solution with a reference, the results of unit tests, or how actual output compares with that which is expected. This paper discusses a tool that provides automated textual feedback on programming tasks. This tool, the "Java object-oriented Feedback Tool" (JOOFT), allows the instructor to write unit tests for as yet unwritten code, with their own feedback, almost as easily as writing a standard unit test. JOOFT also provides additional, customisable, feedback for student errors that might occur in the process of writing code, such as specifying an incorrect parameter type for a method. A randomised trial of the tool was carried out with novice student programmers (n =109), who completed a lab task on the design of a class, 52 of them having assistance from the tool. Whilst students provided positive feedback on tool usage, performance in a later assessment of class creation, suggests student outcomes are not affected.
In exploratory programming, programmers often face a semantic gap between their high-level understanding and the low-level interfaces available for interacting with objects in a system. That is, technical object struc...
详细信息
ISBN:
(纸本)9798400712159
In exploratory programming, programmers often face a semantic gap between their high-level understanding and the low-level interfaces available for interacting with objects in a system. That is, technical object structure and behavior need to be interpreted as abstract domain concepts, which then increases cognitive load and thus impedes exploration progress. We propose semantic object interfaces that bridge this gap by enabling contextual, natural-language conversations with objects. Our approach leverages an exploratory programming agent powered by a large language model (LLM) to translate natural-language questions into low-level experiments and provide high-level answers. We describe a framework for integrating semantic object interfaces into existing exploratory programming systems, including a prototype implementation in Squeak/Smalltalk using GPT-4o. We showcase the potential of semantic object interfaces through case studies and discuss their feasibility, limitations, and impact on the programming experience. While challenges remain, our approach promises to reduce mental effort and empower programmers to explore and understand systems at a higher level of abstraction for a better programming experience.
暂无评论