Programming at Home

It is possible using freely available software to write and compile C programs on a Windows PC at home.

The software is large and so ideally you will have a fast interenet connection.


While the software is relatively easy to install, the course organisers cannot be responsible for any problems that you have installing and using the software. You are also strongly encouraged to backup your work frequently.

Some assignments involve libraries, particularly graphics libraries, which are only available in specific university computing laboratories.

If you complete assignments at home then you must still submit your work in the lab through the standard mechanism - remembering to do a check compilation first in case there are any subtle differences.


Cygwin is a Linux-like environment for Windows. It includes a C compiler and provides something equivalent to the terminal window that you use on the machines in the labs.

To install cygwin, click on the "install cygwin now" button on the cygwin web site.

I suggest that you create a directory called \gnu. Then install cygwin as \gnu\cygwin with \gnu\package as the package directory from

The default install is mostly ok - make sure you include "gcc" and make from Devel, "man" from Doc, "bash" and "rxvt" from Shells.

When you start cygwin you might like to run "rxvt &" to create a proper window for program output.

Use the command "gcc" in place of "cc" to compile programs.


XEmacs is the program editor that has been used on the course.

In theory it is possible to install emacs as part of cygwin. I have never tried installing it this way. Instead, I prefer to install the latest stable version of XEmacs as \gnu\xemacs.