6 research outputs found

    ChAmElEoN: A Customizable Language for Teaching Programming Languages

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Teaching programming languages in a post-linnaean age

    No full text

    Enhancing the Communication of Law: a cross-disciplinary investigation applying information technology

    No full text
    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
    corecore