[Click for a panorama of Red Square.]

Sandiway Fong

Associate Professor
Department of Linguistics
Director, HLT Master's Program (see website here)
Cognitive Science Program Member
SLAT Program Member

Phone: 520 626 5657
Fax: 520 626 9014
Office: 311 Douglass
Email: sandiway at email dot arizona dot edu
About me: (Updated 5/2004) here
Resume: (Updated 2016) PDF
Selected Papers: here

Computational Linguistics Laboratory

Location: 301/309 Douglass
Phone: 520 626 0549
Click on brochure! (4/15/2014)

Contents: Courses Research Research Software: Treedraw (NEW!) Sudoku Software: Logic reasoning Sony Vaio VGN-U71P Links

Slides from the Statistics in Linguistics colloquium (March 2rd 2006) here

Recent and upcoming courses.

CSC/ECE/PHIL/PSYC/LING 696i Computational Intelligence

An interdiscplinary graduate seminar course on computation and intelligent systems.

General course homepage http://www.ece.arizona.edu/~compintell/.

Slides: (language section) Spring 2005.

LING/C SC/PSYC 438/538 Computational Linguistics

Room: AME S314

An advanced introduction to computational linguistics.

Syllabus, slides: Fall 2021.

LING 388 Computers and Language

Room: ECE 228

A hands-on introductory course to computational linguistics for beginning undergraduates. There are no pre-requisites. One goal of the course is to develop the skills necessary to write simple programs for natural language processing in Python.

Syllabus, slides: Fall 2021
C SC 620 Advanced Topics in Natural Language Processing

Natural language processing (NLP) is a broad and exciting field at the intersection of computer science, formal linguistics and cognitive science. This course will survey selected topics in NLP.

Syllabus, slides: (WordNet, Machine Translation) Spring 2004.

LING 696G Computational Linguistics Seminar

Syllabus, slides: Spring 2004.

LING 364 Introduction to Formal Semantics

An introduction to language and formal semantics.

Syllabus, slides: Spring 2006.

LING 581 Advanced Computational Linguistics

The follow-on course to 538. An advanced project/tools-based course designed to give students experience with software packages.
Note: this is not the D2L 7.5W online class. This is the on-campus class.
Pre-requisite: LING/C SC/PSYC 538

Syllabus, slides: Spring 2022.

LING/C SC/PSYC 408/508 Computational Techniques for Linguists

An introduction to computers and programming for linguists.

Syllabus, slides: Fall 2020.
NOTE: all classes will be online for now.
Emails with instructions will be sent Monday August 24th.

LING 696G Topics in Computational Linguistics

2015: An advanced seminar on implementing contemporary syntactic theory.
2016: Seminar on machine translation
2017: Seminar on fundamental syntactic computational theory.

Syllabus, slides: Fall 2017.

Independent Study

Students working with me for Independent Study (Spring 2014):

Left to right, top to bottom: Elly Matthias, Heather Lent, Guy Pearson, Eric Graham, Mithun Paul, Monica Larcom and Michael Capizzi.

Research Areas

[This is still under construction.]

An unpublished/unpublishable paper of mine on adversial testing for statistical parsing. From circa 2018.
Presented at the Generative Grammar at the Speed of 90 workshop, University of Arizona, December 11th 2018.
Occasionally, I get a request for it. So I just leave it here for general access.
DRAFT - Adversarial Testing of Statistical Parsers.


Modeling Linguistic Theory on a Computer: From GB to Minimalism
Slides from the MIT IAP Computational Linguistics Fest (webpage), January 14th 2005.

powerpoint (25 slides, with animation)
pdf (32 slides, printable version)

Parsing and the Principles-and-
Parameters Framework

newpappi: The tcl/tk SWI-Prolog version of PAPPI.
  • Documentation: intro etc. here
    (Last updated April 2014.)
    The non-GUI part of PAPPI Reference Manual remains basically the same.
  • Preliminary release: Newpappi-0.4a.zip (May 18th 2014)
    (as a double-clickable application for Mac OS X. Drag Newpappi.app to the Applications folder.)
    linux-0.4a.zip (May 18th 2014) (Unzip. Run shell script run.)
    Notes: No need to install swiprolog. Assumes a 64 bit kernel. For 32 bit systems, rename pappi32 to pappi first.
    Linux dist. bug: Japanese treeprinting doesn't work...
    uname -m returns x86_64 (64 bits), i686 (32 bits).)

    Warning: it is not anywhere as functional as (old) PAPPI yet. Functionality is being restored gradually. For example, other theory variants and languages are not supplied in this release.

  • Installation: drag it into the Applications folder.
    (If it's not automatically uncompressed when downloaded, double-click on the .zip file to expand it first. No need to install SWI Prolog. Tcl/tk should be present already.)

PAPPI: A Multilingual Principles-and-Parameters Parser

  • Ported to MacOS X and Linux. (Obsolete)
    (Older NEC Research Institute version for Sun Solaris available on request.)
  • Arabic PAPPI pages online
  • PAPPI reference manual online


The Minimalist Machine: a project to assemble a large-scale yet coherent theory in the Minimalist Program.

Project webpage
(Updated: August 2020)

Computational implementation of Chomsky's Problems of Projection (2013):
Example derivation
Video: pop.mov
(Quicktime, may not work on VLC.)
(Updated: May 1st 2014)

For old papers etc., go to the webpage here

Three papers on WordNet:

See also wnconnect software listed below.



Need to render some syntax trees in a hurry?
Trees are displayed using your browser and can be dragged into other apps.
No-install version, Mac, Linux, and Windows 10 versions available.
Documentation: here

Notes on developing for Sicstus Prolog and Windows XP: here

Find connections between two words using WordNet semantic relations.
Now available for Windows and Linux as well as MacOS X!
newpappi: The tcl/tk SWI-Prolog version of PAPPI

A Multilingual Principles-and-Parameters Parser
Now available for Linux and MacOS X!

TreeBank Viewer:
A tree viewer for treebanks, e.g. the Penn Treebank (PTB)
Platforms: MacOS X (Intel/PPC), Windows XP and Linux (Debian-based and RedHat-based)

New! CCG version: here

TreeBank Search:
A logic-based treebank search and display program
Platforms: MacOS X (Intel) initial release

Minimalist Program Parser.
See here

Sudoku Sandiway

Solving Sudoku puzzles through deductive logic, without guessing.
Explains the route to the solution one step at a time in an easy-to-understand format.
Using just a few simple heuristics, it can solve surprisingly difficult puzzles.

  • An application of logic programming.
    [Written using a combination of Sicstus Prolog, tcl/tk and C.]
  • Available for MacOS X. (Other platforms to come.)
  • Application download sudoku.zip (1.2MB)
    Note: requires Tcl/Tk Aqua, a free download via Apple Computer.
    Put Sudoku application in your Applications folder.
  • Documentation: How to run. Heuristics. etc.
  • Puzzle examples
  • LATEST: The "Unsolvable 11" from SudokuList. Solutions.

Sony VGN-U71P


To my u.arizona webpage

To my NEC Laboratories research webpage
(Sorry, this has been taken down.)