I am an eigth year PhD student in Computer Science at The University of Texas at Austin. During the Spring 2014 semester I am teaching CS105 Programming In Ruby. In the Fall 2013 semester I taught CS105 Programming In Python. I did my undergraduate degree in Engineering (M.Eng.) at The University of Durham, England (I'm English), and a Master's in Artificial Intelligence at The University of Georgia (M.S.). Between degrees I worked as a software developer in London for five years. My current research focuses on applying Evolutionary Algorithms for feature discovery in online Reinforcement Learning. Other academic interests include A.I., Machine Learning, Artificial Life, Simulation and Mobile Robots.
About This Site
Long-winded explanations aside, I hope you find the structure of this site intuitive and easy to navigate and I'll welcome any constructive feedback you feel like sending me. Now for some long-winded explanations.
This site employs an experimental content management system, conceived by me and generously implemented by Connected Web Solutions according to my somewhat unconventional specifications. Although I have yet to add much of the content, I wanted to put up a few words about navigating the site right off the bat.
The general idea behind this site is to model it on a Semantic Network. Each page in the site represents a 'thing' or 'concept' and the links between pages describe 'relations' between them. The pages in this site, like nodes in a semantic net, are not restricted to the kind of tree structure often used in a website. Instead they are best thought of as a directed graph with pages corresponding to vertices and links corresponding to edges. The current page's outgoing relations are displayed as lists on the right hand side of the screen. Pages which have outgoing relations to the current page are displayed as list headings on the left hand side of the screen with the corresponding relation name as a sub-heading (although sometimes this is omitted). Below the relation name is a list of other pages that also stand in that relation to the heading. The idea of all these lists is to provide the current page with context and relevant navigation.
Of course this has to be a usable website and for pragmatic reasons the display is not 100% faithful to the model. For example, although the meaning of most relations is one-directional, for the sake of navigating within the site they are all treated as bi-directional. Secondly, the name of the relation itself is not always displayed if doing so would uselessly clutter the current page. Nor is this site committed to providing its own page for every term in the lists: some terms link to other sites and some terms have no link at all and are included purely for context or as placeholders for future pages. Sometimes the name of a relation will link to a page that displays all the uses of that relation within this site.
Practical navigation is also facilitated by the expandable page history. Each line of the page history is a linear path through the site's pages that has already been traversed. As mentioned in the previous paragraph, such paths include traveling in the reverse direction of relations, lateral moves between list siblings, external links, and any other jump provided by page content.