Conceptual weaknesses have been identified in previous research that contribute to student learning difficulties related to computer programming. We postulate that improved learning can be achieved by using a tool tha...
详细信息
ISBN:
(纸本)9781612844695
Conceptual weaknesses have been identified in previous research that contribute to student learning difficulties related to computer programming. We postulate that improved learning can be achieved by using a tool that combines approaches from active learning and visualisation. We describe the architecture and features of a tool that supports mobile phone input to an interactive code execution framework which interfaces with Jeliot 3. Mobile users are able to contribute code snippets, and make predictions about execution behaviour of code executing in the tool. Individual feedback is provided to mobile devices in real time, allowing us to provide customised feedback to individual learners during a period of instruction.
Tato práce se věnuje problematice nalezení zkopírovaných úseků kódu. Pozornost je přitom zaměřena na programovací jazyk Python verze 3 a na úseky kódu pocházejí...
详细信息
Tato práce se věnuje problematice nalezení zkopírovaných úseků kódu. Pozornost je přitom zaměřena na programovací jazyk Python verze 3 a na úseky kódu pocházející ze služby Stack Overflow. Cílem práce je vyhodnocení vlivu kopírování kódu na kvalitu softwarového projektu. Detekce úryvků kódu uvnitř softwarového projektu je provedena pomocí nástroje NiCad. Výchozí proces detekce byl upraven tak, aby se podařilo nalézt co největší počet shodných úryvků. Kvalita kódu je měřena podle míry obsahu duplicitního kódu a dále podle počtu nahlášených chyb daného projektu. Vliv kopírování na kvalitu je vyhodnocen na vzorku open-source projektů pocházejících ze služby GitHub. Vztah mezi přítomností úryvku ze služby Stack Overflow a kvalitou projektu byl prokázán formou statistického testu.
Automatic tagging on software information sites is a tag recommendation service. It aims to recommend content-based tags for a software object to help developers make distinctions among software objects. Due to deep c...
详细信息
Automatic tagging on software information sites is a tag recommendation service. It aims to recommend content-based tags for a software object to help developers make distinctions among software objects. Due to deep correlations between software objects and tags, it is challenging to simultaneously consider the code snippet and text description of a software object. Towards automatic tagging service, we propose a novel CDR4Tag method, code-mixed Deep Representation learning via dual-interactive fusion for Tag recommendation on software information sites. In CDR4Tag, a code-mixed dual interaction strategy is designed to fuse the deep semantic correlations between software objects and tags into a joint representation space. On the basis of it, the matching probability is predicted to complete our tag recommendation. Comprehensive experimental results on four software information site datasets have demonstrated the effectiveness of our proposed CDR4Tag in tag recommendation compared with the state-of-the-art methods.
code search is an essential task in software development. Developers often search the internet and other code databases for necessary source code snippets to ease the development efforts. code search techniques also h...
详细信息
code search is an essential task in software development. Developers often search the internet and other code databases for necessary source code snippets to ease the development efforts. code search techniques also help learn programming as novice programmers or students can quickly retrieve (hopefully good) examples already used in actual software projects. Given the recurrence of the code search activity in software development, there is an increasing interest in the research community. To improve the code search experience, the research community suggests many code search tools and techniques. These tools and techniques leverage several different ideas and claim a better code search performance. However, it is still challenging to illustrate a comprehensive view of the field considering that existing studies generally explore narrow and limited subsets of used components. This study aims to devise a grounded approach to understanding the procedure for code search and build an operational taxonomy capturing the critical facets of code search techniques. Additionally, we investigate evaluation methods, benchmarks, and datasets used in the field of code search.
Programming language identification (PLI) is a common need in automatic program comprehension as well as a prerequisite for deeper forms of code understanding. Image-based approaches to PLI have recently emerged and a...
详细信息
Programming language identification (PLI) is a common need in automatic program comprehension as well as a prerequisite for deeper forms of code understanding. Image-based approaches to PLI have recently emerged and are appealing due to their applicability to code screenshots and programming video tutorials. However, they remain limited to the recognition of a small amount of programming languages (up to 10 languages in the literature). We show that it is possible to perform image-based PLI on a large number of programming languages (up to 149 in our experiments) with high (92%) precision and recall, using convolutional neural networks (CNNs) and transfer learning, starting from readily-available pretrained CNNs. Results were obtained on a large real-world dataset of 300,000 code snippets extracted from popular GitHub repositories. By scrambling specific character classes and comparing identification performances we also show that the characters that contribute the most to the visual recognizability of programming languages are symbols (e.g., punctuation, mathematical operators and parentheses), followed by alphabetic characters, with digits and indentation having a negligible impact.
暂无评论