About Me

Hi all, my name is Jonathan Lambert and I have been studying at NUI Maynooth 2000. I received my BSc. in Mathematics and Computer Science in June 2004 and continue here at Maynooth pursueing a Ph.D in Computer Science.


My research interests are in the field of Virtual Machines with a focus at present on the Java Virtual Machine(JVM). My research is part of the Principles of Programming research group here at NUI Maynooth. As an undergraduate student my final year thesis titled "Stack Optimization of the Java Virtual Machine" was my first real exposure to Virtual Machine technology. In this thesis we explored the possibilities of reducing the overhead associated with stack operations within the JVM by implementing superinstructions for frequently occuuring sequences of bytecodes. My supervisor was and is now also Dr. James Power.

Implementations of Java Virtual Machines come in many forms from trivial switch based interpreters to machines that utilise the latest developments in performance enhancing techniques such as just-in-time compilation. With this array of Java Virtual Machines comes a choice, what Virtual Machine will provide the best environment for the execution of our application? Determining real-time Java thread performance is inherently hard, due to the presence of unknown program input parameters and dynamically generated parameter values. As part of my research here at NUI Maynooth, I am working on identifying the effects a Java application has on the dynamic behaviour of a Java Virtual Machine.

My research has involved explorations in areas such as:

  • Timing Analysis
  • Queueing Theory
  • Information Theory
  • Bytecode Engineering
  • Natural Language Processing

Technical Reports


Academic Year 2006-2007 Semester 1 & 2:

  • Lecturing : Jan-May 07 : CS101 Principles of Programming
  • Lecturing : Sep-Dec 06 : CS158 Fundamentals of Computer Programming

Academic Year 2004-2005 Semester 2 :

  • Lecturing : Feb-May 05 : CSSE-202B Data Structures and Algorithms 2


Academic Year 2006-2007 Semester 1:

  • Demonstrating : Sep-Dec 06 : CS101 Principles of Programming
  • Demonstrating : Sep-Dec 06 : CS154/CS156 What is Computation? / CS: Past, Present & Future

Academic Years 2004-2006 :

  • Demonstrating : Feb-Present : CS211 Algorithms and Data Structures 2
  • Demonstrating : Sep-Dec 05 : CS156 What is Computation
  • Demonstrating : Sep-Dec 05 : CS210 Algorithms and Data Structures 1
  • Demonstrating : Sep-Dec 04 : CS210 Algorithms and Data Structures 1

Useful Downloads


email: jonathan@cs.may.ie

By phone:

National(01) 708 3847

International: +353-1-708 3847

By fax:(01) 708 3848

International: +353-1-708 3848

CS101 Principles of Programming

CS101 Home

Important Dates

CS158 Fundamentals of Programming

CS158 Home

Important Dates