This paper presents an approach of static and dynamic visualizations synchronized along with source code in a web-based programming environment, JavelinaCode. Using JavelinaCode, student programmers can write Java pro...
详细信息
ISBN:
(纸本)9781509014293
This paper presents an approach of static and dynamic visualizations synchronized along with source code in a web-based programming environment, JavelinaCode. Using JavelinaCode, student programmers can write Java programs directly in a frontend web browser without any software or plug-in installation. They are provided with a view of the static state of a Java program in UML class diagrams and the dynamic run-time state of the program by stepping forwards and backwards through program execution. A case study has revealed that our approach is useful, in particular, to trace and detect an object flow anomaly caused by method overriding and polymorphism. A preliminary comparison test result also has shown that through our web-based platform-independent environment, student programmers are freed from concern with continuous version changes and evolutions of the Java language, plug-ins, and operating systems.
Computational Thinking has recently returned into the limelight as an essential skill to have for both the general public and disciplines outside Computer Science. It encapsulates those thinking skills integral to sol...
详细信息
ISBN:
(纸本)9781509002535
Computational Thinking has recently returned into the limelight as an essential skill to have for both the general public and disciplines outside Computer Science. It encapsulates those thinking skills integral to solving complex problems using a computer, thus widely applicable in our technological society. Several public initiatives such as the Hour of Code successfully introduced it to millions of people of different ages and backgrounds, mostly using Blocks programming environments like Scratch that lower the barriers of programming and facilitate learning. In this paper we present our arguments for fostering Computational Thinking skills using a Blocks programming Environment augmented with a Tangible User Interface, namely by exploiting objects whose interactions with the physical environment are mapped to digital actions performed on the system. Our demonstration includes a working prototype implementing our Tangible Blocks programming Environment called TAPAS.
The notion of a conceptual model is present in any discussion about the modelling and simulation process within the discrete event dynamic system domain (Robinson 2011). This paper presents an overview on an activity-...
详细信息
ISBN:
(纸本)9781509044849
The notion of a conceptual model is present in any discussion about the modelling and simulation process within the discrete event dynamic system domain (Robinson 2011). This paper presents an overview on an activity-based conceptual modelling framework: Activity Based Conceptual modelling = ABCmod (Birta and Arbez 2013). It transforms the general notion of a conceptual model to into a specific conceptual modelling artefact. The ABCmod framework encompasses the naturalness of the activity perspective which has considerable intuitive appeal (Pidd 2004a and 2004b). ABCmod accommodates both the structural and the behavioral aspects that are fundamental components of any conceptual model and provides a collection of constructs both for handling input/output and for dealing with special circumstances such as pre-emption, interruption and balking. We provide an overview of the framework and illustrate many of its features in examples.
In computer science education, the programming environment is just as crucial as the classroom environment. Students must be provided with adequate tools for developing an understanding of computer science paradigms. ...
详细信息
ISBN:
(纸本)9781509017911
In computer science education, the programming environment is just as crucial as the classroom environment. Students must be provided with adequate tools for developing an understanding of computer science paradigms. These paradigms include object-oriented programming (OOP) concepts, such as inheritance, polymorphism, and encapsulation. JavelinaCode is a web-based integrated development environment (IDE) for Java programming that provides students with both a static and dynamic visualization of code; the static structure of code at compile time and the dynamic execution of code at run time. The objective of this research is to present the differences between JavelinaCode and similar programming environment tools to demonstrate how JavelinaCode improves students' understanding of OOP concepts. Comparative analysis is conducted between JavelinaCode and programming environment tools, including BlueJ, Jeliot 3, AguiaJ, JIVE, and jGRASP. Each of these tools is evaluated on the basis of time constraints for download and installation, complexity of the download process and tool's interface, and the provision of static and dynamic visualizations. The results of the comparative analysis show that JavelinaCode provides students with a more effective tool for understanding OOP concepts than those considered. This is due to a simplified set up process and user interface and a better integrated set of visualizations. The combination of these factors contributes to a programming environment that emphasizes developing and running code.
Computer science education has recently begun expanding in middle and high schools, but many students still do not have access to computer science education in a classroom [1]. As a result, many children learn program...
详细信息
ISBN:
(纸本)9781509002535
Computer science education has recently begun expanding in middle and high schools, but many students still do not have access to computer science education in a classroom [1]. As a result, many children learn programming outside of formal education using novice programming environments and games such as Scratch [2] and *** [3].
A key retention issue when educating computing novices is ensuring that the frustrations of mastering programming fundamentals do not demotivate and discourage students from studying the discipline. In particular, non...
详细信息
A key retention issue when educating computing novices is ensuring that the frustrations of mastering programming fundamentals do not demotivate and discourage students from studying the discipline. In particular, non-CS majors often struggle to find relevance in traditional computing curricula that tend to either emphasize abstract concepts, focus on non-practical entertainment (e.g., game and animation design), or rely on decontextualized settings. To address these issues, this paper introduces BlockPy, a block-based environment for Python (http://***). BlockPy is a web-based, open-access programming environment that supports introductory programming with an emphasis on data science. It promotes long-term transfer by scaffolding an introduction to textual programming (Python) through a block-based programming view, ideal for beginners of any background. By supporting the latest Learning Tools Interoperability (LTI) standards, BlockPy is designed to support both informal learners and formal class settings. Specifically, it can be configured to provide guiding feedback for its interactive programming problems, so as to support learners at their own pace. The results from a pilot study of the initial deployment and utilization of BlockPy indicate the potential of the environment to address many of the problems faced by novice learners.
We have had practice of programming education using Scratch, which is a visual programming environment, and NanoBoardAG, which is a microcomputer board with multiple sensors. After students learned the basics of progr...
详细信息
ISBN:
(纸本)9781509009886
We have had practice of programming education using Scratch, which is a visual programming environment, and NanoBoardAG, which is a microcomputer board with multiple sensors. After students learned the basics of programming and how to treat values that sensors measured, they produced original games while giving ideas each other. Finally, they published completed games.
This article describes the design and implementation of the course Introduction to Computational Thinking (PC-01) for primary and secondary education. The course introduces the “concepts” and core “processes” of C...
详细信息
ISBN:
(纸本)9781509045976
This article describes the design and implementation of the course Introduction to Computational Thinking (PC-01) for primary and secondary education. The course introduces the “concepts” and core “processes” of Computational Thinking using a visual programming environment. The design of the course PC-01 includes a set of multimedia content, learning tools and technologies that help teachers and students in the teaching-learning process. These tools allow the teacher the successful delivery of the course content as well as the individual/collective monitoring of students' progress in the course. Students have access to their progress throughout the course and participate in creative and collaborative tasks. This course also serves to introduce transversely educational technologies to many students of primary and secondary education. The technological environment integrates the online teaching resources and the methodological tools of the course. The course uses Scratch 2.0 as the programming environment and Moodle as the learning platform. At present the course is being implemented in public schools in the Dominican Republic.
S-Eden is an Empirical Modelling tool for learners to build software artefacts using observables and dependencies. Previous case studies in Greece and Thailand have evaluated the potential for using JS-Eden in high sc...
详细信息
S-Eden is an Empirical Modelling tool for learners to build software artefacts using observables and dependencies. Previous case studies in Greece and Thailand have evaluated the potential for using JS-Eden in high school as an alternative to programming environments such as Scratch, Toontalk and Logo. The purpose of this talk is to introduce the characteristics of JS-Eden that make it suitable as a learning environment and to reflect on the experiences of using JS-Eden in these schools. Furthermore, the challenges for students and teachers to make effective use of JS-Eden are discussed.
Software visualization can be very useful for answering complex questions that arise in the software development process. Although modern visualization engines offer expressive APIs for building such visualizations, d...
详细信息
ISBN:
(纸本)9781509038510
Software visualization can be very useful for answering complex questions that arise in the software development process. Although modern visualization engines offer expressive APIs for building such visualizations, developers often have difficulties to (1) identify a suitable visualization technique to answer their particular development question, and to (2) implement that visualization using the existing APIs. Examples that illustrate the usage of an engine to build concrete visualizations offer a good starting point, but developers may have to traverse long lists of categories and analyze examples one-by-one to find a suitable one. We propose MetaVis, a tool that fills the gap between existing visualization techniques and their practical applications during software development. We classify questions frequently formulated by software developers and for each, based on our expertise, identify suitable visualizations. MetaVis uses tags mined from these questions to offer a tag-iconic cloud-based visualization. Each tag links to suitable visualizations that developers can explore, modify and try out. We present initial results of an implementation of MetaVis in the Pharo programming environment. The tool visualizes 76 developers' questions assigned to 49 visualization examples.
暂无评论