Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleOctober 2024
JavaBench: A Benchmark of Object-Oriented Code Generation for Evaluating Large Language Models
ASE '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software EngineeringPages 870–882https://doi.org/10.1145/3691620.3695470Code 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 ...
- research-articleOctober 2024
Talking to Objects in Natural Language: Toward Semantic Tools for Exploratory Programming
Onward! '24: Proceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and SoftwarePages 68–84https://doi.org/10.1145/3689492.3690049In 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 ...
- ArticleSeptember 2024
A Picture Is Worth a Thousand Words: Exploring Diagram and Video-Based OOP Exercises to Counter LLM Over-Reliance
Technology Enhanced Learning for Inclusive and Equitable Quality EducationPages 75–89https://doi.org/10.1007/978-3-031-72315-5_6AbstractMuch research has highlighted the impressive capabilities of large language models (LLMs), like GPT and Bard, for solving introductory programming exercises. Recent work has shown that LLMs can effectively solve a range of more complex object-...
- research-articleDecember 2024
Analyzing Class Usage in JavaScript Programs
WSSE '24: Proceedings of the 2024 The 6th World Symposium on Software Engineering (WSSE)Pages 139–143https://doi.org/10.1145/3698062.3698081JavaScript 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 ...
- abstractJuly 2024
Towards the Integration of Large Language Models in an Object-Oriented Programming Course
ITiCSE 2024: Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 2Pages 832–833https://doi.org/10.1145/3649405.3659473The advent of Large Language Models (LLMs) has created multiple challenges for the Computer Science Education Community. This research project aims at integrating LLMs into Object-Oriented Programming courses, by generating and evaluating new teaching ...
-
- research-articleJuly 2024
Comparing the Experiences of Live Coding versus Static Code Examples for Students and Instructors
ITiCSE 2024: Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1Pages 506–512https://doi.org/10.1145/3649217.3653562Introductory programming courses can be taught in a variety of ways, including live coding, where instructors write code in real-time in front of students, or static code examples, where pre-prepared code is explained to students. While previous studies ...
- research-articleJune 2024
A Type System for Flexible User Interactions Handling
Proceedings of the ACM on Human-Computer Interaction (PACMHCI), Volume 8, Issue EICSArticle No.: 246, Pages 1–27https://doi.org/10.1145/3660248Engineering user interfaces involves the use of multiple user interactions. Developers may struggle with programming and using those user interactions because of a lack of flexibility that affects the current user interface programming approaches. First, ...
- abstractJune 2024
Recycling Items Sorting System
WCCCE '24: Proceedings of the 26th Western Canadian Conference on Computing EducationArticle No.: 21, Pages 1–2https://doi.org/10.1145/3660650.3660660This 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 ...
- research-articleMay 2024
LLMs Still Can't Avoid Instanceof: An Investigation Into GPT-3.5, GPT-4 and Bard's Capacity to Handle Object-Oriented Programming Assignments
ICSE-SEET '24: Proceedings of the 46th International Conference on Software Engineering: Software Engineering Education and TrainingPages 162–169https://doi.org/10.1145/3639474.3640052Large Language Models (LLMs) have emerged as promising tools to assist students while solving programming assignments. However, object-oriented programming (OOP), with its inherent complexity involving the identification of entities, relationships, and ...
- research-articleJuly 2024
Multi-threaded OpenSmalltalk VM: Choosing a Strategy for Parallelization
Programming '24: Companion Proceedings of the 8th International Conference on the Art, Science, and Engineering of ProgrammingPages 87–93https://doi.org/10.1145/3660829.3660846Dynamic, object-oriented programming languages are widely regarded as enjoyable and easy to use. These languages lend themselves well to exploration and very short iteration cycles and feedback loops. However, many of them have no or limited support for ...
- research-articleDecember 2023
Nubes: Object-Oriented Programming for Stateful Serverless Functions
WoSC '23: Proceedings of the 9th International Workshop on Serverless ComputingPages 30–35https://doi.org/10.1145/3631295.3631398Serveless computing and the Function-as-a-Service (FaaS) model promise rapid development of cloud-based applications by abstracting away deployment and resource allocation. As the stateless nature of functions undermines the generality of the model, they ...
- research-articleDecember 2023
Transformation of C Programming Language Memory Model into Object-Oriented Representation of EO Language
Automatic Control and Computer Sciences (ACCS), Volume 57, Issue 7Pages 803–816https://doi.org/10.3103/S0146411623070088Abstract—The paper analyzes the possibilities of transforming C programming language constructs into objects of EO programming language. The key challenge of the method is the transpilation from a system programming language into a language of a higher ...
- research-articleFebruary 2024
Design Pattern for Reusing Immutable Methods in Object-Oriented Languages
EuroPLoP '23: Proceedings of the 28th European Conference on Pattern Languages of ProgramsArticle No.: 6, Pages 1–9https://doi.org/10.1145/3628034.3628040Context. Features and styles inspired by functional programming have grown in popularity in the world of object-oriented programming. Immutability is a core concept of functional programming, which brings advantages to software development. However, ...
- posterJune 2023
Introduction to programming Using Clean
ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 2Page 655https://doi.org/10.1145/3587103.3594176In this poster, we report our on-going project that aims to design a good set of course materials for introduction to programming using a functional programming language, Clean[2]. While procedural languages such as C, Python, etc are used in most ...
- research-articleMay 2023
Requirements‐related fault prevention during the transformation from formal specifications to programs
AbstractSoftware faults are costly to find and remove from programs. It is better to avoid inserting the faults in the first place. The authors identify requirements‐related faults that can arise during the transformation of formal specifications into ...
In this paper, we identify requirements‐related faults that can arise during the transformation of formal specifications into programs, analyse each to discover its causes, and propose corresponding fault prevention methods. The approach works by ...
- abstractMarch 2023
Java: What's New and How Might It Change Our Teaching?
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2Page 1182https://doi.org/10.1145/3545947.3569616Java had a long period of little change in its features: between Java 5 in 2004 and Java 9 in 2017, lambda functions were the only major addition to the language. However, Java's development pace has suddenly quickened, and not just in version numbers: ...
- research-articleAugust 2022
Memory Usage Comparison in an Android Application: Basic Object-Oriented Programming vs Decorator Design Pattern: Coding styles for keeping low memory usage in a mobile application.
ITCC '22: Proceedings of the 4th International Conference on Information Technology and Computer CommunicationsPages 125–131https://doi.org/10.1145/3548636.3548655This paper explores how an Android application consumes memory when it is developed by two approaches: basic object-oriented programming versus decorator design pattern. Somehow programmers develop applications based on their coding experience without ...
- research-articleOctober 2023
Formalizing ϕ-Calculus: A Purely Object-Oriented Calculus of Decorated Objects
FTfJP '22: Proceedings of the 24th ACM International Workshop on Formal Techniques for Java-like ProgramsPages 29–36https://doi.org/10.1145/3611096.3611103Many calculi exist for modeling various features of object-oriented languages. Many of them are based on λ -calculus and focus either on statically typed class-based languages or dynamic prototype-based languages. We formalize the untyped calculus of ...
- abstractMarch 2023
'Early X or Late X' Questions for Discussing Curricular Practices in CS1 and CS2
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2Page 1269https://doi.org/10.1145/3545947.3573240In teaching university entry-level calculus, it proved useful to distinguish early from late transcendentals depending on the time at which transcendentals such as the exponential and logarithmic functions are introduced. I suggest we pose analogous "...
- posterMarch 2023
Boosting Conceptual Thinking in a Programming Course - An Ontology-Based Approach
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2Page 1303https://doi.org/10.1145/3545947.3576249Students constantly have to learn and relate new concepts. However, those multiple relations are easily not given enough attention as their practical application is often given priority. Hence students are left with incomplete reflection on the subject ...