CSCI 1200 - Fall 2008
Computer Science II
  Contact Information


  Course Overview

  Web Resources
  Additional Tutoring


  Lecture notes
  Lab materials
  Test reviews

  Lab Times
  Office Hours

Academic Integrity

  Due Date and Time
  Late Day Policy
  Electronic Submission

Programming Tips

C++ Development
  C++ IDEs

Other Information
  Command Line Args
  File I/O
  Redirecting I/O


You probably already have Cygwin on your laptop as part of the RCS default installation. What is it? It's a UNIX environment for the Windows Operating System. You can do all of your work for this class using Cygwin, g++, and a text editor such as Emacs (in other words, you don't need to use Visual Studio). Read more about Cygwin here:

Emacs on Windows

For those of you interested in running the Emacs text editor on your Windows OS, you can download the binaries and access documentation here: Other text editors you may want to conside include:
  • VI
  • Vim
  • Textmate (commercial, OSX only)
  • E-texteditor (commercial, windows only)
  • Gedit
  • Programmer's Notepad (windows only)
  • notepad++ (windows only)

Memory Debugging

Segmentation faults and other memory bugs (reading unitialized memory, reading/writing beyond the bounds of an array, memory leaks, etc.) can be hard to track down with a traditional debugger. We recommend Valgrind:

C++ IDEs (Integrated Development Environments)

Here are a few C++ development environments (similar to Visual Studio) that can be used with the gcc compilers:

MinGW (Minimalistic GNU for Windows)

MinGW is a Windows native port of many of the GNU tool sets - including g++. This will allow you to run g++ (and other GNU tools) in Windows without needing to use Cygwin. These tools are released under Public Domain & GNU General Public License.

The main site contains links to the tool documentation (in the Documentation section) as well as a Wiki which contains lots of information (such as FAQs and How-To).

The downloads page on the main MinGW page is a bit out-of-date, so head on over to the MinGW SourceForge page to find the most recent downloads.

Quick and easy installation:

  • Go to the download page on the SourceForge protect page
  • Download 'MinGW 5.0.3' which is currently located under the 'Candidate' section. This installer will download and install the needed packages for you. Make sure that if you have a firewall you allow it to access the internet.
  • When you run the installer, you want to 'Download and Install' the packages, and you want to download them from the 'Current' releases (you will be prompted for this information)
  • When you are presented with the option to select packages to install, be sure to select the 'g++' package


  • If you want to use ./configure && make then you want to download and install MSYS as well.
  • If you are going to be using the jEdit commando file linked to below, make sure that the installation path dose not contain any spaces.

Insight (Stand-Alone GNU Debugger (GDB) Front-End)

Insight is a front-end for the GNU Debugger (GDB). This is covered by the GNU General Public License.

The website is unfortunately lacking when it comes to documentation, however, the tool is pretty easy to use. If you play around with it enough, you'll get the hang of it. This tool is released as source code that is compatible with *nix and Windows/Cygwin.

If you don't want to build it and you are a Windows user, our friends at MinGW have a Windows native version you can download. Go to the MinGW SourceForge download page. Under the 'Purposed' section, download 'insight.exe' under 'insight-6.3.50-20051116-cvs'


  • When compiling your projects, make sure to tell the compiler to generate the needed debugger information.

jEdit g++ Commando File

For those of you out there who use the jEdit text editor, this is a Console Commando file for running g++ (i.e. an easy to use GUI). This should be compatible with WinXP, *nix, and Mac. The download contains a readme with important information and notes. Please be sure to read this!