Understanding how difficult a learning task is for a person allows teaching material to be appropriately designed to suit the person, especially for programming material. A first step for this would be to predict on t...
详细信息
ISBN:
(纸本)9783030224196;9783030224189
Understanding how difficult a learning task is for a person allows teaching material to be appropriately designed to suit the person, especially for programming material. A first step for this would be to predict on the task difficulty level. While this is possible through subjective questionnaire, it could lead to misleading outcome and it would be better to do this by tapping the actual thought process in the brain while the subject is performing the task, which can be done using electroencephalogram. We set out on this objective and show that it is possible to predict easy and difficult levels of mental tasks when subjects are attempting to solve Java programming problems. Using a proposed confidence threshold, we obtained a classification performance of 87.05% thereby showing that it is possible to use brain data to determine the teaching material difficulty level which will be useful in educational environments.
Creating automated tests for assessing student programs often requires considerable time, work, and knowledge that may exceed the instructor's comfortability threshold. This constitutes an obstacle to adding new t...
详细信息
ISBN:
(纸本)9781450398428
Creating automated tests for assessing student programs often requires considerable time, work, and knowledge that may exceed the instructor's comfortability threshold. This constitutes an obstacle to adding new tasks to a course, updating the existing ones, or setting up automatic assessment in courses where it is currently missing. This paper presents a system that was developed to meet the goal of making the creation of automated assessment easier for instructors. The system allows the instructor to specify a set of dynamic or static tests to be performed on the student program via specific user interface and it is part of a larger open-source submission and assessment system, Lahendus. The new system produces a tester code that actually assesses the student's submission and provides feedback. The central component of the system is the TSL language for specifying automatic tests. The paper also describes the process of system development and validation, carried out in close collaboration with the intended end-users, i.e., instructors of programming courses.
Pair programming is a technique within the computer science space in which two programmers are paired on one computer to solve a related programming task. This technique is often practiced in both the industry and the...
详细信息
Pair programming is a technique within the computer science space in which two programmers are paired on one computer to solve a related programming task. This technique is often practiced in both the industry and the academic setting, as it has a consistent history of positively impacting working professionals and students regarding personal experience and performance in programming. As a result, there has been a large focus within the computer science education field on how and why pair programming is a successful technique. More specifically, what traits of pairing students together make pair programming successful. At the University of Rhode Island (URI) we employ this technique in different formats across various computer science courses. This study focuses on the implementation of pair programming in one of those particular courses, an introductory programming course called ''Survey of Computer Science" (CSC 110). For more than five years this course has solely utilized pair programming in the laboratory environment with one specific combination of pairing traits, or pairing strategy. For each laboratory session, students are paired with new random partners on the condition that they have not paired with the same partner more than once. The implementation of this pairing strategy has proven to be successful in improving student learning, however, we recognize that no other pairing strategies have been implemented in this course. Curiosity about whether other pairing strategies exist that perform better at improving student learning had sparked the motivation to pursue this study. We designed and experimented with two new pairing strategies in addition to the one pairing strategy that has been used in CSC 110 for over five years; we can coin this strategy as the historical strategy. The two new pairing strategies possess a few of the traits from the historical strategy as well as new ones. First, pairing strategy one pairs students together once at the beginnin
Developers often ask how-to questions using search engines, technical Q&A communities, and interactive Q&A systems to seek help for specific programming tasks. However, they often do not formulate the question...
详细信息
ISBN:
(纸本)9781450394130
Developers often ask how-to questions using search engines, technical Q&A communities, and interactive Q&A systems to seek help for specific programming tasks. However, they often do not formulate the questions in a specific way, making it hard for the systems to return the best answers. We propose an approach (taskKG4Q) that interactively helps developers formulate a programming related how-to question. taskKG4Q is using a programming task knowledge graph (task KG in short) mined from Stack Overflow questions, which provides a hierarchical conceptual structure for tasks in terms of [actions], [objects], and [constraints]. An empirical evaluation of the intrinsic quality of the task KG revealed that 75.0% of the annotated questions in the task KG are correct. The comparison between taskKG4Q and two baselines revealed that taskKG4Q can help developers formulate more specific how-to questions. More so, an empirical study with novice programmers revealed that they write more effective questions for finding answers to their programming tasks on Stack Overflow.
tasks represent a central part of computer science lessons, and aim to practice programming skills or to concrete abstract concepts for example. We have investigated, which types of tasks are given to novice programme...
详细信息
ISBN:
(数字)9783319253961
ISBN:
(纸本)9783319253961;9783319253954
tasks represent a central part of computer science lessons, and aim to practice programming skills or to concrete abstract concepts for example. We have investigated, which types of tasks are given to novice programmers, typically. For that purpose, we have analyzed and generalized tasks from textbooks and exercise sheets. The result is a list of twelve task types classified according to required skills and knowledge representation. In addition, we found that the task types differ very much regarding their incidence. Finally, we tried to relate the three found forms of knowledge representation to concepts of cognitive psychology.
Morpheus is a special-purpose programming language that facilitates the efficient implementation of communication protocols. Protocols are divided into three categories, called shapes, so that they can inherit code an...
详细信息
Morpheus is a special-purpose programming language that facilitates the efficient implementation of communication protocols. Protocols are divided into three categories, called shapes, so that they can inherit code and data structures based on their category. The programmer implements a particular protocol by refining the inherited structure. Morpheus optimization techniques reduce per-layer overhead on time-critical operations to a few assembler instructions even though the protocol stack is not determined until run time. This supports divide-and-conquer simplification of the programming task by minimizing the penalty for decomposing complex protocols into combinations of simpler protocols.
Claims have been made that the failure of empirical studies to establish the efficacy of structured programming is due to the lack of psychological models of the program- ming task. Many authors have pointed out that ...
详细信息
Claims have been made that the failure of empirical studies to establish the efficacy of structured programming is due to the lack of psychological models of the program- ming task. Many authors have pointed out that psychological research on the human information processing model might provide substance to the claim that structured programming facilitates a programmers understanding of program logic. This thesis reviews the results of current psychological research and shows that at this time it is not possible to build a satisfactory psychological model of the programmer and his/her task. In order tc define the programming task more clearly, the issues involving the psychological model are identified.
暂无评论