Mathias Ricken

Mathias Ricken




Curriculum Vitae (pdf)
(doc)  (txt)  (embedded)

Resume (pdf)
(doc)  (txt)  (embedded)


External linkArchive on A Concurrent Affair

RSSPublication RSS Feed

Research Projects

Concutest: A Framework for Testing Concurrent Programs

Mint: Multi-stage Programming for Java

xajavac: Extended Annotations-Enabled javac

LAPT-javac: Local Variable-Enabled javac

DrJava IDE

Programming for Change: The Temperature Calculator

Object-Oriented Design Festival

Design Patterns for Parsing

Assignments for an Objects-First Curriculum

Design Patterns for Marine Biology Simulation

Geometry Synthesis


Geometry Synthesis by Analogy


External linkCOMP 410 - Software Engineering Methodology

Past Classes


External linkA Concurrent Affair

External linkMy
External linkPapers
External linkTalks
External linkTeaching

      DrC# Integrated Development Environment

Beginning in the fall of 2002, I started working on DrC#, an integrated development environment especially suited for beginners. Similar to DrScheme or DrJava, it was to provide an "interactions" window to shorten the edit-compile-run-debug cycle.

I worked on this project with other people in Rice's Programming Language Team (PLT), mainly Dennis Lu.

In the initial phases of development, we realized we needed to split the program into two separate processes, one for the IDE and one for the interpreter, so that the interpreter would not be able to kill the IDE if it was told to quit. My main task in the beginning of the project was to set up a remoting scheme that let a local program control the remote interpreter. The interpreter also had to be able to write to the local program's output.

In the later stages of the development of DrC# I wrote a plugin to the SharpDevelop IDE that provided the interactions window. I also modified a version of SharpDevelop to make it look more like DrJava. Here's a picture of the IDE:


Copyright © 2002-2011 by Mathias Ricken. All rights reserved.