Stephen M. Watt: Introduction for New Students

Professor Watt forcing children's toy.

Bio-computing solution to "Towers of Hanoi" problem.

Professor
Computer Science Department , MC 375
The University of Western Ontario
London, Ontario CANADA N6A 5B7

Phone:   +1 519 859-2345
Fax:   +1 519 661-3515
E-mail:   Stephen dot Watt at uwo.ca

[Home Page]




Research Interests
[Publications] [Invited talks]

Computer Algebra

  • Computer algebra systems (e.g. Maple)
  • Mathematical algorithms
    (e.g. polynomials with symbolic exponents, polynomials with approximate coefficients)
  • Mathematical knowledge management
    (e.g. MathML, web services, document analysis)
  • Automatic Differentiation

Pen-Based Computing

  • Portability of pen-based computing (InkML)
  • Geometric methods for character recognition
  • Mathematical expression recognition
  • Pen-based expression manipulation

Programming Languages and Compilers

  • Templates, higher-order type systems, related code optimization (Aldor, Java)
  • Compiler middleware
  • Memory management
  • Compiliation for parallel and distributed computing
Example of computer algebra integration

Clare So at SmartBoard

Animated equation ink


ORCCA group

ORCCA Research Lab

  • Director of ORCCA, a joint lab between UWO and Waterloo
  • Monthly "Joint Lab Meetings", with invited speaker, poster session, lunch.
  • Middlesex College, 3rd floor, North end of hallway.




Courses September 2010

CS 1025a: Computer Science Fundamentals I

  • Tue 11:30-1:30, Thu 11:30-12:30 (TC 204)
  • An introduction to computer science for students who already have some significant programming experience.

CS 4447a: Compiler Theory (by permission only)

  • This class is taught with lectures at a mutually agreed time.
  • Topics include parsing, code generation, code optimization.
  • Students work on a C compiler writteng in Java targetting LLVM.

CS 9883a: Topics in Digital Ink and Handwriting Recognition

  • Thursdays 1:30-3:30 (MC 300)
  • Handwritten input is increasingly important in modern computing. Tablet PCs, electronic white boards and many telephones today accept hand written input. Document analysis systems strive to handle handwritten annotations or entire documents using multiple languages and scripts. Finally, large-scale business applications, such as mail sorting and cheque cashing, rely critically on computer-based handwriting recognition.
  • This course examines concepts in digital ink and aspects of computer-based handwriting recognition. The course involves lectures, review and discussion of articles from the research literature, and a programming project.
  • The subjects will be selected from:
    • On-line and off-line recognition.
    • Applications of handwriting recognition.
    • Properties of digital ink.
    • Digital ink representation. Standards.
    • Properties of writing systems.
    • Camera-based and digitizer-based input.
    • The geometry of digital ink.
    • Stages in handwriting analysis: normalization, segmentation
    • Recognition techniques: Hidden markov models, support vector machines, vector space methods.
    • Dictionary-based methods

CS 9888a: Topics in Programming Languages and Their Implementation (by permission only)

  • This class is taught with lectures at a mutually agreed time.
  • Compares implementiions of different langauge features, e.g. Memory management, Functional programming and closures, Lazy evaluation and parallel futures, Polymorphic programming, Types as first class values, type categories, dependent types, Method dispatch and optimization in object-oriented languages, Iterators, generators, co-routines and their optimization, Topics in code optimization.
Flow Graph