Home Page| Contact information | Courses | Publications | Research | Miscellany | Bookmarks


Miscellaneous

Informal Publications

Proof Outline Logic
Theodore S. Norvell

2009

Abstract: This is a tutorial on proof outline logic, which is an approach to proving concurrent programs correct.. I wrote it for my courses, but include it here, as it largely stands on its own. My course notes give additional examples and applications.

Click here to read it

The JavaCC Tutorial
Theodore S. Norvell
Summer 2002
Abstract:

A tutorial introduction to my favourite parser generator

Click here to read it.

Why Bombing Afghanistan is Wrong
Theodore S. Norvell
Oct 2001
Abstract:

An essay sent to a number of Canadian parliamentarians in October 2001.

Click here to read it.

A "New Normal" Glossary
Theodore S. Norvell
Oct 2001
Abstract:

A somewhat more cynical approach to current affairs

Click here to read it.

An Invitation to Fencing
Theodore S. Norvell
Sept 1994
Abstract: A nonacademic article on fencing.

Published in The International Teletimes, Sept, 1994.

Click here to read it.

Or my own copy

Typesetting Algorithms in Scientific Word
Theodore S. Norvell
Oct 1996
Abstract: How to use the Scientific Word / Scientific Workplace editor to typeset algorithms and programs.

Click here to read it. This is a TeX file and is best viewed using Scientific Workplace, or Scientific Word. It can also be viewed less successfully with Scientific Notebook or the freeware Scientific Notebook Viewer.

Programming With Style
Theodore S. Norvell
Spring 1999
Abstract: A short essay on programming style.

Click here for a  translation into html

C++ in 24 minutes
Theodore S. Norvell
Spring 1999
Abstract: A review of the essentials of C++ for students entering my data structures course.

Click here for a   translation into html

Monads for the Working Haskell Programmer
Theodore S. Norvell
Spring 1999
Abstract: An introduction to Monads for Haskell (and Gofer) programmers.

Click here to read it

Parsing Expressions by Recursive Descent
Theodore S. Norvell
Spring 1999
Abstract: A short introduction to 3 methods of parsing expressions

Click here to read it


Slides from talks

See also my publications page, for talks associated with publications.

The Unified Modelling Language
Theodore S. Norvell

Fall 1999

Abstract: Slides from a short talk I gave on UML to the local CIPS special interest group on software design.

Click here to read it

Structure and Patterns in Software Design and the Unified Modeling Language
Theodore S. Norvell

Summer 2001

Abstract: Slides from a talk I gave on Structure in Software Engineering to the MUN Student branch of the IEEE.

Click here for more


Some Software I've Written

The Teaching Machine
Theodore S. Norvell and Michael Bruce-Lockhart
1997-- present
Abstract: The Teaching Machine is a program animator. It gives a view into an abstract computer, as that computer is executing a program written in a high-level language. See The Teaching Machine Site. See also my publications page.
A Parsing Monad for Haskell
Theodore S. Norvell
Spring 1999
Abstract: A parsing monad module in Haskell. Features limited backtracking.

Click here to get it

PerlInHTML
Theodore S. Norvell
Winter 2000
Abstract: Embedding Perl expressions and statements within HTML files for server side scripting and automated page building.

Click here for more information

UltraEdit word list for Haskell
Theodore S. Norvell
Summer 2000
Abstract: My favourite programming editor under Windows is UltraEdit-32 from www.idmcomp.com. Since I program in Haskell from time to time I built a word list that helps UltraEdit to syntax colour Haskell programs.

ULTRAEDIT_WORDFILE.TXT

Mark-up C++ or Java
Theodore S. Norvell
Winter 2001
Abstract: This applet is useful for converting C++ or Java files to HTML. If you want a copy, let me know.

URL to String
Theodore S. Norvell
Winter 2001
Abstract: This applet is useful for reading files over the internet.

Source code

CHEAT
Theodore S. Norvell
Summer 1996
Abstract: CHEAT stands for Classification Heuristic for Educational Assignments and Tests. This application assigns a degree of similarity to each pair of a set of source files. It can be tuned for the particular programming language; C, C++, and Turing are supported, but it is easy to extend;  it could also be used for prose. It is either impervious or resilient to most methods of modifying a source file to disguise their similarity. More than that, I'd rather not say.
 
For source code (UNIX/C++/lex) email me. Available only to educators. It is currently free, but requires a license agreement.
Autotest
Theodore S. Norvell
Summer 1998--present
Abstract: Autotest is used to test student assignments against a battery of tests.
 
Alpha release. If you use it and find it useful, let me know.
A SAX content model parser.
Theodore S. Norvell
Summer 2002
Abstract: SAX is an API for XML processing widely used for parsing XML. In SAX 2.0, a widely implemented extension makes the content models from the DTD available as strings. This package parses those strings to produce both regular expressions (represented as trees) and finite state automata.
This is really still an alpha release. Try it if you like, but please let me know of any problems. Zip file
A JJTree java parser
Theodore S. Norvell
Summer 2002
Abstract: This is the Java parser for the Teaching Machine. It may still have some flaws and you'll have to implement a couple of the classes your self. The point of this is to make an abstract syntax tree that is more digested than the parse tree created by the example grammars that come with JavaCC. Directory
Better monitors for Java
Theodore S. Norvell
2007
Abstract: This is an implementation of monitors for Java. It is based on Hoare's version of monitors, but extends it by treating assertions, as well as conditions and monitors as objects. This allows assertions to be checked and reduces the need to repeat assertion code more than once. Follow this link.

FAQs I maintain

The JavaCC FAQ. 2001 -- present

Clubs I'm involved with.

The Memorial University Fencing Club