137,578 research outputs found
Structural Induction Principles for Functional Programmers
User defined recursive types are a fundamental feature of modern functional
programming languages like Haskell, Clean, and the ML family of languages.
Properties of programs defined by recursion on the structure of recursive types
are generally proved by structural induction on the type. It is well known in
the theorem proving community how to generate structural induction principles
from data type declarations. These methods deserve to be better know in the
functional programming community. Existing functional programming textbooks
gloss over this material. And yet, if functional programmers do not know how to
write down the structural induction principle for a new type - how are they
supposed to reason about it? In this paper we describe an algorithm to generate
structural induction principles from data type declarations. We also discuss
how these methods are taught in the functional programming course at the
University of Wyoming. A Haskell implementation of the algorithm is included in
an appendix.Comment: In Proceedings TFPIE 2013, arXiv:1312.221
Bricklayer: An Authentic Introduction to the Functional Programming Language SML
Functional programming languages are seen by many as instrumental to
effectively utilizing the computational power of multi-core platforms. As a
result, there is growing interest to introduce functional programming and
functional thinking as early as possible within the computer science
curriculum. Bricklayer is an API, written in SML, that provides a set of
abstractions for creating LEGO artifacts which can be viewed using LEGO Digital
Designer. The goal of Bricklayer is to create a problem space (i.e., a set of
LEGO artifacts) that is accessible and engaging to programmers (especially
novice programmers) while providing an authentic introduction to the functional
programming language SML.Comment: In Proceedings TFPIE 2014, arXiv:1412.473
kLog: A Language for Logical and Relational Learning with Kernels
We introduce kLog, a novel approach to statistical relational learning.
Unlike standard approaches, kLog does not represent a probability distribution
directly. It is rather a language to perform kernel-based learning on
expressive logical and relational representations. kLog allows users to specify
learning problems declaratively. It builds on simple but powerful concepts:
learning from interpretations, entity/relationship data modeling, logic
programming, and deductive databases. Access by the kernel to the rich
representation is mediated by a technique we call graphicalization: the
relational representation is first transformed into a graph --- in particular,
a grounded entity/relationship diagram. Subsequently, a choice of graph kernel
defines the feature space. kLog supports mixed numerical and symbolic data, as
well as background knowledge in the form of Prolog or Datalog programs as in
inductive logic programming systems. The kLog framework can be applied to
tackle the same range of tasks that has made statistical relational learning so
popular, including classification, regression, multitask learning, and
collective classification. We also report about empirical comparisons, showing
that kLog can be either more accurate, or much faster at the same level of
accuracy, than Tilde and Alchemy. kLog is GPLv3 licensed and is available at
http://klog.dinfo.unifi.it along with tutorials
Project based learning on industrial informatics: applying IoT to urban garden
Copyright (c) 2018 IEEEThe fast evolution of technologies forces teachers to
trade content off for self-learning. PBL is one of the best ways
to promote self-learning and simultaneously boost motivation. In
this paper, we present our experience introducing project-based
learning in the last year subject. New Internet of Things (IoT) topic
allows us to carry out complete projects, integrating different
technologies and tools. Moreover, the selection of open-source and
standard free technologies makes easy and cheap the access to
hardware and software platforms used. We carefully have picked
communication, data management, and programming tools that
we think would be attractive to our students. They can start
making fast prototyping with little initial skills and, at the same
time, these are serious and popular tools widely used in the
industry. In this paper, we report on the design of a project-based
learning for our course and the impact this has on the
student satisfaction and motivation. Surveys taught us that tuning
the courses towards developing real projects on the field, has a
large impact on acceptance, learning objectives achievements and
motivation towards the course content.”I Plan Propio Integral de Docencia de la Universidad de Málaga” y Proyecto de InnovaciĂłn Educativa PIE17/085, de la Universidad de Málaga. Universidad de Málaga. Campus de Excelencia Internacional AndalucĂa Tech
Curriculum Guidelines for Undergraduate Programs in Data Science
The Park City Math Institute (PCMI) 2016 Summer Undergraduate Faculty Program
met for the purpose of composing guidelines for undergraduate programs in Data
Science. The group consisted of 25 undergraduate faculty from a variety of
institutions in the U.S., primarily from the disciplines of mathematics,
statistics and computer science. These guidelines are meant to provide some
structure for institutions planning for or revising a major in Data Science
Teaching Programming and Design-by-Contract
This paper summarizes the experience of teaching an introductory course to
programming by using a correctness by construction approach at Innopolis
University, Russian Federation. In this paper we claim that division in
beginner and advanced groups improves the learning outcomes, present the
discussion and the data that support the claim.Comment: 21th International Conference on Interactive Collaborative Learnin
A short note on quantifying and visualizing yearly variation in online monitored temperature data
The paper demonstrates how seasonal variation in sequentially arriving temperature data can be visualized by the specification of landmarks and subsequent time warping. We exemplify the idea with water temperature data from the river Wupper in northwestern Germany and with air temperature data from Berlin, Germany. Landmarks are thereby based on temperature thresholds. The method allows to assess whether the seasonal variation is running ahead or behind the average
- …