6 research outputs found
ChAmElEoN: A Customizable Language for Teaching Programming Languages
ChAmElEoN is a programming language for teaching students the concepts and implementation of computer languages. We describe its syntax and semantics, the educational aspects involved in the implementation of a variety of interpreters for it, its malleability, and student feedback to inspire its use for teaching languages
The Design of an Emerging/Multi-Paradigm Programming Languages Course
We present the design of a new special topics course, Emerging/Multi-paradigm Languages, on the recent trend toward more dynamic, multi-paradigm languages. To foster course adoption, we discuss the design of the course, which includes language presentations/papers and culminating, inal projects/papers. The goal of this article is to inspire and facilitate course adoption
Teaching Programming Languages by Experimental and Adversarial Thinking
We present a new approach to teaching programming language courses. Its essence is to view programming language learning as a natural science activity, where students probe languages experimentally to understand both the normal and extreme behaviors of their features. This has natural parallels to the "security mindset" of computer security, with languages taking the place of servers and other systems. The approach is modular (with minimal dependencies), incremental (it can be introduced slowly into existing classes), interoperable (it does not need to push out other, existing methods), and complementary (since it introduces a new mode of thinking)
Embedding programming languages: Prolog in Haskell
This thesis focuses on combining the two most important and wide spread declarative programming paradigms, functional and logic programming. The proposed approach aims at adding logic programming features which are native to Prolog onto Haskell. We develop extensions which replicate the target language by utilizing advanced features of the host language for an efficient implementation. The thesis aims to provide insights into merging two declarative languages namely, Haskell and Prolog by embedding the latter into the former and analyzing the results of doing so as the two languages have conflicting characteristics. The finished products will be something similar to a haskellised Prolog which has logic programming-like capabilities. --Leaf ii.The original print copy of this thesis may be available here: http://wizard.unbc.ca/record=b214135
Enhancing the Communication of Law: a cross-disciplinary investigation applying information technology
Law is pervasive in culture. It is a form of
communication between government and citizens. When effective,
it is a tool of government policy. If poorly designed,law
results in unnecessary costs to society. Impediments to
understanding of the law limits and distorts democratic
participation. Yet, historically, the law has been
inaccessible to most. Thus enhancing the communication of
law is an important and standing problem. Much work has
been done (for example through the plain language
movement) to improve the communication of law.
Nonetheless, the law remains largely unreadable to non-legal
users. This thesis applies information technology to investigate
and enhance the communication of law. To this end, this thesis
focusses on four main areas.To improve the readability of law, it
must be better described as a form of language. Corpus
linguistics is applied for this purpose. A linguistic
description of contract language arose from this work, which,
along with the corpus itself, has been made available to the
research community. The thesis also describes work for the
automatic classification of text in legal contracts by legal
function.Reliable measures for the readability of law are needed,
but they do not exist. To develop such measures, gold standard
data is needed to evaluate possible measures.To create this
gold standard data, the research engaged citizen
scientists, in the form of the online “crowd”.
However, methods for creating and using such user
assessments for readability are rudimentary. The research
therefore investigated,developed and applied a number of methods
for collecting user ratings of readability in an online
environment. Also, the research applied machine learning to
investigate and identify linguistic factors that are specifically
associated with language difficulty of legislative sentences.
This resulted in recommendations for improving legislative
readability. A parallel line of investigation concerned the
application of visualization to enhance the communication of law.
Visualization engages human visual perception and its parallel
processing capacities for the communication of law. The
research applied computational tools: natural language
processing, graph characteristics and data driven algorithms.
It resulted in prototype tools for automatically visualizing
definition networks and automating the visualization of selected
contract clauses. Also, the work has fostered an investigation
of the nature of law itself. A “law as” framework is used to
query the nature of law and illuminate law in new ways. The
framework is re-assessed as a tool for the experimental
investigation of law. This results in an enhanced description of
law, applying a number of investigatory frames:law;
communication; document; information; computation; design
and complex systems theory. It also provides a
contrastive study with traditional theories of law -
demonstrating how traditional theories can be extended in
the light of these multidisciplinary results. In sum, this
thesis reports a body of work advancing the existing
knowledge base and state of the art in respect of
application of computational techniques to enhancing the
communication of law