Previous research has revealed gender differences that impact females' willingness to adopt software features in end users' programming environments. Since these features have separately been shown to help end...
详细信息
ISBN:
(纸本)0769524435
Previous research has revealed gender differences that impact females' willingness to adopt software features in end users' programming environments. Since these features have separately been shown to help end users problem solve, it is important to female end users' productivity that we find ways to make these features more acceptable to females. In this paper, we draw from our ongoing work with users to help inform our design of theory-based methods for encouraging effective feature usage by both genders. This design effort is the first to begin addressing the gender differences in the ways that people go about problem solving in end-user programming situations.
In recent years, the US has begun scaling up efforts to increase access to CS in K-12 classrooms and many teachers are turning to block-based programming environments to minimize the syntax and conceptual challenges s...
详细信息
ISBN:
(纸本)9781538642351
In recent years, the US has begun scaling up efforts to increase access to CS in K-12 classrooms and many teachers are turning to block-based programming environments to minimize the syntax and conceptual challenges students encounter in text-based languages. Block-based programming environments, such as Scratch and App Inventor, are currently being used by millions of students in and outside of classroom. We know that when novice programmers are learning to program in block-based programming environments, they need to understand the components of these environments, how to apply programming concepts, and how to create artifacts. However, we still do not know how are students' learning these components or what learning challenges they face that hinder their future participation in CS. In addition, the mental effort/cognitive workload students bear while learning programming constructs is still an open question. The goal of my dissertation research is to leverage advances in Electroencephalography (EEG) research to explore how students learn CS concepts, write programs, and complete programming tasks in block-based and hybrid programming environments and understand the relationship between cognitive load and their learning.
Computer science proficiency continues to grow in importance, while the number of students entering computer science-related fields declines. Many rich programming environments have been created to motivate student in...
详细信息
Computer science proficiency continues to grow in importance, while the number of students entering computer science-related fields declines. Many rich programming environments have been created to motivate student interest and expertise in computer science. In the current study, we investigated whether a recently created environment, Robot Virtual Worlds (RVWs), can be used to teach computer science principles within a robotics context by examining its use in high-school classrooms. We also investigated whether the lack of physicality in these environments impacts student learning by comparing classrooms that used either virtual or physical robots for the RVW curriculum. Results suggest that the RVW environment leads to significant gains in computer science knowledge, that virtual robots lead to faster learning, and that physical robots may have some influence on algorithmic thinking. We discuss the implications of physicality in these programming environments for learning computer science.
Improving the feedback that novices receive from programming environments is an important and often overlooked aspect of computing education research. This work in progress examines the effects of various mechanisms b...
详细信息
ISBN:
(纸本)9781450367936
Improving the feedback that novices receive from programming environments is an important and often overlooked aspect of computing education research. This work in progress examines the effects of various mechanisms by which environments deliver feedback to users. By providing insights on the effects of these mechanisms, we aim to inform designers, developers and educators about more effective design and use of such environments for students.
programming environments based on an iconic, flowchart-based notation have been widely used in the context of introducing novices to programming. These tools were initially heavily based on the technology of structure...
详细信息
ISBN:
(纸本)9781467361101;9781467361118
programming environments based on an iconic, flowchart-based notation have been widely used in the context of introducing novices to programming. These tools were initially heavily based on the technology of structure editing, with the aim of alleviating the burden of focusing on the syntactic details of programming languages and giving the chance to focus on acquiring problem solving skills. The technology of program animation was also utilized, in order to allow for a better comprehension of programming structures and flow of control. Furthermore, the ability of generating syntactically correct source code from the flowchart was integrated into these tools. Recently, several advanced features were added in flowchart-based programming environments, such as support for collaborative activities and distributed pair programming and usage in mobile devices. In this paper, a thorough review of programming environments based on an iconic notation is carried out with a focus on the support provided for introducing novices to programming, as well as other important software engineering issues in a simplified and straightforward manner. Proposals for research on this field and opportunities for a better teaching and learning of software engineering are presented.
Software development environments are becoming progressively more advanced in their support for construction of large software applications. However, it is still tedious and time consuming for programmers to build eve...
详细信息
ISBN:
(纸本)0201765578
Software development environments are becoming progressively more advanced in their support for construction of large software applications. However, it is still tedious and time consuming for programmers to build even simple applications. This paper describes an exploratory study which identifies some common problems experienced by programmers working with a range of currently available tools. Eight professional programmers were observed while each built the same simple application using a different software development environment. Problems encountered during the authoring process were noted. Four categories of common problems emerged. Design principles implied by these categories are suggested.
The standard techniques for the obstacles to software reuse are reviewed, and some emerging techniques that may makes a larger fraction of system software reusable are discussed. The main characteristics of five categ...
详细信息
The standard techniques for the obstacles to software reuse are reviewed, and some emerging techniques that may makes a larger fraction of system software reusable are discussed. The main characteristics of five categories of programming environments are briefly examined. The categories are: structure-oriented environments, language environments, toolkit environments, software development methodologies, and system development assistants. The requirements for further development of reusability are examined, and speculations are offered as to which type of environment will be best suited to support it.< >
Major requirements of a massively parallel programming environment are defined. The transputer peculiarities and the programming model of the transputer architecture are evaluated. The desiderata of a programming envi...
详细信息
Major requirements of a massively parallel programming environment are defined. The transputer peculiarities and the programming model of the transputer architecture are evaluated. The desiderata of a programming environment for a massively parallel architecture are analyzed. The models underlying a generic programming environment for massively parallel architecture are defined. The programming environments Express, Helios, and the Computing Surface CSTools are analyzed.< >
Block-based programming languages and their development environments have become a widely used educational platform for novices to learn how to program. In addition, these languages and environments have been increasi...
详细信息
ISBN:
(纸本)9781467383684
Block-based programming languages and their development environments have become a widely used educational platform for novices to learn how to program. In addition, these languages and environments have been increasingly embraced by domain experts to develop end-user software. Though popular for having a "low floor" (easy to get started), programs written in block-based languages often become unwieldy as projects grow progressively more complex. Software refactoring - improving the design quality of a codebase while preserving its external functionality - has been shown highly effective as a means of improving the quality of software written in text-based languages. Unfortunately, programming environments for blocks lack systematic software refactoring support. In this position paper, we argue that first-class software refactoring support must become an essential feature in programming environments for blocks; we present our research vision and concrete research directions, including program analysis to detect "code smells," automated transformations for block-based programs to support common refactoring techniques, and integration of refactoring into introductory computing curricula.
暂无评论