Version 2 Now available

P-Coder is a new tool that can assist in the teaching of programming principles to novices.  It is premised on the fact that most students new to programming have difficulties in understanding the basics of sequence, iteration, selection and recursion as computational process and , as a result, often do not develop the required programming skills early enough in their courses.

P-Coder used a pseudocode concept, combining textual and graphical notations to describe these basic processes, and to assemble them to define operational algorithms. 

Version 2 of P-Coder can be used to assist in the construction of programs using the following languages:

In each case the selection of the target language will determine the options available and the structure of the generated code. The appropriate compiler/interpreter must be installed to compile/execute the program.  Version 2 is only supported on Windows (2K, XP, Vista).

P-Coder provides a fully interactive graphical editor to construct programs like this:

Some things to note:

From the P-Coder model the structure of the program can be computed.  By adding additional details to each node, like this:

the complete code for the program can be constructed, then compiled and executed as required.

UML styles class diagrams can be generated automatically, like this:

that can show the associations between class in the model as well as external associations with Java library classes.

Objects can be created interactively using an instance creation mechanism, from which data and methods can be inspected, explored and manipulated.

Overview of  features in P-Coder

P-Coder User Guide can be downloaded from here (PDF format)

P-Coder Instructor Guide can be downloaded from here (PDF format)

P-Coder User Guide (on line HTML version)


P-Coder is freely available for education use. 

Download P-Coder (Windows or Linux versions)

Important Note: 

P-Coder is not intended to be a Java development environment, there are may other packages that will do this better.  It has been designed for use in a teaching environment, especially in the first few weeks of a first programming course.  It is also intended for use under the direction of an experienced teacher/lecturer.

An extensive Instructor Guide is also available.