CS13002 Programming and Data Structures

Spring semester

Download and install utilities

Most students tend to use non-ANSI-compliant compilers while working at home. We strongly discourage doing so. Microsoft's Visual C++ compiler is good and recommended for use. But this compiler is proprietary and free copies of it cannot be obtained. The GNU range of compilers and the emacs editor can, however, be freely downloaded from the Internet. In order to save download time, we have made local copies of these software here. You are encouraged to download and install them in your machines, and use these software instead of non-standard software.

From this page you can download the essential compilers, editors and utilities to simulate the Linux environment of the lab from Windows platforms. We strongly encourage you to use these utilities instead of non-ANSI-compliant compilers like Turbo C.

The versions of the software that can be downloaded from this local site are not necessarily the latest ones. If you choose to go for the latest versions, download them from the appropriate web locations. The local files that you get here should suffice for your purpose and can significantly reduce your total download time.

GNU compilers (DJGPP)

The GNU C, C++ and Object-C compilers can be downloaded from this page. Download all the files mentioned in the page and follow the installation instructions carefully. If you can configure your installation properly, you can call gcc and gpp from a command prompt (DOS shell) sitting in any directory (folder). We recommend you not to clutter the compiler binary directory with your programs and executables.


Do not use the emacs binary that is bundled with DJGPP. Download one of the following emacs binaries:

Some additional binaries can be downloaded. You should not require these extra files. However, if your system refuses to work without these, install them.

Also add the path of the emacs binary directory (<wherever>\emacs-21.3\bin) to your Windows Path (or PATH) variable (as the administrator).

Finally, if your are adventurous, you may also install and use the

for windows. But then you should not blame us nor even ask us to rescue you, if you make a complete mess with this editor, in particular, when you are fighting with time (during a lab test, say).

Linux distribution

It is a good idea to have linux installed on your machine. The 'C' compiler comes as default with the distribution. Be sure to choose it, if it is not selected by defaults, from the 'Development' items during installation. If you forget to install and desired package at the time of installation then use rpmdrake to select and install new packages. You need to be a root (super) user to do this.

Linux can co-exist with windows, if you have that already installed. Otherwise, if you like to have both then you should install windows first and linux next. Windows sometimes disturbs other installed systems.

A recent distribution is locally available at:

   http://sit.iitkgp.ernet.in/archive/os/Mdk10.1/iso/official/ or

You will have to download the four CD images:


and then prepare CDs out of them.

If you are working in windows then you can follow this link to know howto create a CDROM from an iso image.

Miscellaneous utilities

Some of the programs downloadable by clicking the above links come as .tar.gz archives. WinZip should be able to handle these archives. If your copy cannot, or you simply do not have WinZip, you can use the following utilities.

This is a free substitute for WinZip. It supports many archiving formats (including tar and gz) and has a good user interface. The exe file is a self-extracting archive that can be installed anywhere you like. A short-cut and a menu-item can be created and used to run it.
This is a zip-cum-unzip program that can be run from the command prompt. You may optionally install the explicit gunzip program.
This program can be run from a command prompt to unpack tar archives. This requires the library file win32gnu.dll.

Flash Player plugin

You require the flash player plugin for viewing the animations for this course.

Course home