Task-based programming Learning (TBPL) is an approach which is based on ideas of Task-based Language Learning in second language acquisition. It can use output-prompting and input-providing tasks. This paper describes...
详细信息
ISBN:
(纸本)9781467386333
Task-based programming Learning (TBPL) is an approach which is based on ideas of Task-based Language Learning in second language acquisition. It can use output-prompting and input-providing tasks. This paper describes the theoretical background and methodical aspects of the input-providing TBPL variant and its implementation in higher education courses. The approach was implemented and evaluated in five different programming courses from both students (N=165) and lecturers (N=4). It became clear that the TBPL-approach has several positive aspects and that it can serve as a valuable instrument for learning and teaching programming in higher education.
The focus of this case study is the exploitation of visual learning analytics coupled with the provision of feedback and support provided to the students and their impact in provoking change at student programming hab...
详细信息
ISBN:
(纸本)9783319451534;9783319451527
The focus of this case study is the exploitation of visual learning analytics coupled with the provision of feedback and support provided to the students and their impact in provoking change at student programming habits. To this end, we discuss mechanisms of capturing and analysing the debugging habits and the quality of the design solutions provided by the students in the context of an object-oriented programming course. We instrumented the programming environment use by the students in order to track the student behavior and visualize metrics associated with it, while the students developed programs in Java.
Pattern matching is a common mechanism to provide analysis and transformation of data structures. Such an approach basically checks whether the containing elements of a data structure are constituents of a pattern, de...
详细信息
ISBN:
(纸本)9781450345248
Pattern matching is a common mechanism to provide analysis and transformation of data structures. Such an approach basically checks whether the containing elements of a data structure are constituents of a pattern, described by the developer. This paper is a step towards having seamless object-oriented pattern matching, which would be applicable to any object in Pharo. We present a pattern matching library, called Phorms, which enables users to compose patterns using the syntax of the Pharo programming language. In this library, patterns are objects and therefore can be inspected and debugged using existing Pharo tools. Our solution is extensible unlike The Rewrite Engine - Pharo's current pattern matching facilities. Moreover, by treating patterns as first class objects, our library provides more flexibility in the pattern matching process.
This paper presents a novel and simple solution to Wadler's Expression Problem that works in conventional object-oriented languages. Unlike all existing solutions in Java-like languages, this new solution does not...
详细信息
ISBN:
(纸本)9781450339957
This paper presents a novel and simple solution to Wadler's Expression Problem that works in conventional object-oriented languages. Unlike all existing solutions in Java-like languages, this new solution does not use any kind of generics: it relies only on subtyping. The key to the solution is the use of covariant type refinement of return types (or fields): a simple feature available in many object-oriented languages, but not as widely known or used as it should be. We believe that our results present valuable insights for researchers and programming language designers interested in extensibility. Furthermore our results have immediate applicability as practical design patterns for improving the extensibility of programs.
In this paper we present a newly developed online learning platform which introduces gamification elements into software engineering education. Starting from assumptions based on cognitive load theory we present the d...
详细信息
ISBN:
(纸本)9781467386333
In this paper we present a newly developed online learning platform which introduces gamification elements into software engineering education. Starting from assumptions based on cognitive load theory we present the design of an online gamification-based training system to be used in software engineering contexts. Students can voluntarily solve challenges for which they may earn credits. These small problems serve as assessments;the approach follows the assessment for learning paradigm in that assessments provide formative feedback to enhance the learning experience. The combination of formative assessment and gamification is new to software engineering education. We describe system design as well as the different types of challenges in detail. We also provide several examples for actual challenges used in an object-oriented programming introduction using Java.
We report on two tools that extend Java with support for static type-checking of communication protocols. Our Mungo tool extends Java with typestate definitions, which allow classes to be associated with state machine...
详细信息
ISBN:
(纸本)9781450341486
We report on two tools that extend Java with support for static type-checking of communication protocols. Our Mungo tool extends Java with typestate definitions, which allow classes to be associated with state machines defining permitted sequences of method calls. A complementary tool, StMungo, takes a communication protocol specified in the Scribble protocol description language, and generates a typestate specification for each endpoint, capturing the permitted sequences of messages along that channel. Endpoint implementations can be validated by Mungo against their typestate definitions and then compiled as usual with j avac. We formalise Mungo's typestate inference system and demonstrate the Scribble, Mungo and StMungo toolchain via a typechecked SMTP client that can communicate with a real-world SMTP server.
Professor Kristen Nygaard (1926-2002) was a multi-talented scientist whose achievements were amply honoured in his later years. For general readers of Computer Science history Nygaard will be recognized as the creator...
详细信息
ISBN:
(数字)9783642151996
ISBN:
(纸本)9783642151989
Professor Kristen Nygaard (1926-2002) was a multi-talented scientist whose achievements were amply honoured in his later years. For general readers of Computer Science history Nygaard will be recognized as the creator with Professor Ole-Johan Dahl of the SIMULA programming languages and object-oriented programming. But Nygaard also had a social and political engagement that over the years brought him from a liberal-democratic to a socialist position where solidarity and empowerment were the major chords. This paper gives a condensed descriptive tour of the life of this many-sided computer scientist with an emphasis on how the scientific and political sides of Nygaard worked hand in hand, leading to his active cooperation with the trade unions and making him a strong advocator of the Scandinavian School of System Development and Participatory Design.
Recently proposed as a general purpose numerical method, the Isogeometric Analysis (IGA) offers great perspective to bridge the gap between CAD and CAE. The IGA is closely related to the finite element method (FEM) as...
详细信息
Recently proposed as a general purpose numerical method, the Isogeometric Analysis (IGA) offers great perspective to bridge the gap between CAD and CAE. The IGA is closely related to the finite element method (FEM) as the method is based on the same variational framework. Moreover, this method has shown in many circumstances to be have a better accuracy than the FEM (large mesh distortions...). Our final aim in this work is to simulate complex multiphysics problems for elastomers industrial parts. As matter of fact, the two main numerical issues in this context is the incompressibility/quasi-incompressibility of the material and the thermochemical coupling in Galerkin formulations. First, we propose, a programming paradigm of the IGA in an existing Java object-oriented hierarchy initially designed for solving multi-fields coupled problems at finite strains. We develop an approach that fully take benefit of the original architecture to reduce developments for both FEM and IGA (one problem developed in FEM can be run in IGA and vice versa). Second, we investigate volumetric locking issues persisting for low order NURBS element observed with standard displacement formulation as finite elements. To cure the problem, we adopt two-fields mixed formulation (displacement/pressure) for the sake of simplicity and target at assessing different discretizations in stability (inf-sup condition). The basic idea is to first to increase the internal knot's multiplicity or to subdivide the patch for displacements. These ideas that are directly inspired from patches properties, have been found in the literature for the Stokes problem and extended to large strain in solid mechanics. The comparison between the two-fields mixed formulation and a strain projection method is lead at small and large strains. At last, we originally adopt a similar strategy for thermomechanical problem at small and large strains. In the context two-fields formulation, displacement/temperature, the LBB stabili
Unleash the power of Python and its robust data science capabilitiesKey Features: * Unleash the power of Python 3 objects * Learn to use powerful Python libraries for effective data processing and analysis * Harness t...
详细信息
ISBN:
(数字)9781786465160
ISBN:
(纸本)9781786465160
Unleash the power of Python and its robust data science capabilities
Key Features:
* Unleash the power of Python 3 objects
* Learn to use powerful Python libraries for effective data processing and analysis
* Harness the power of Python to analyze data and create insightful predictive models
* Unlock deeper insights into machine learning with this vital guide to cutting-edge predictive analytics
Book Description:
The Python: Real-World Data Science course will take you on a journey to become an efficient data science practitioner by thoroughly understanding the key concepts of Python. This learning path is divided into four modules and each module are a mini course in their own right, and as you complete each one, you’ll have gained key skills and be ready for the material in the next module.
The course begins with getting your Python fundamentals nailed down. After getting familiar with Python core concepts, it’s time that you dive into the field of data science. In the second module, you'll learn how to perform data analysis using Python in a practical and example-driven way. The third module will teach you how to design and develop data mining applications using a variety of datasets, starting with basic classification and affinity analysis to more complex data types including text, images, and graphs. Machine learning and predictive analytics have become the most important approaches to uncover data gold mines. In the final module, we'll discuss the necessary details regarding machine learning concepts, offering intuitive yet informative explanations on how machine learning algorithms work, how to use them, and most importantly, how to avoid the common pitfalls.
What you will learn:
* Install and setup Python
* Implement objects in Python by creating classes and defining methods
* Get acquainted with NumPy to use it with arrays and array-oriented computing in data analysis
* Create effective visualizations for presenting your data using M
NASA Technical Reports Server (Ntrs) 19940018009: Programmability in Aips++ by NASA Technical Reports Server (Ntrs); NASA Technical Reports Server (Ntrs); published by
NASA Technical Reports Server (Ntrs) 19940018009: Programmability in Aips++ by NASA Technical Reports Server (Ntrs); NASA Technical Reports Server (Ntrs); published by
暂无评论