CSCI 1200 Data Structures
Spring 2013
  Contact Information

  Discussion Forum (LMS)

  Learning Outcomes
  Grading Criteria
  HW Grading Criteria

  Optional Textbooks
  Web Resources
  C++ Development
  Misc. Programming Info
  Memory Debugging

Getting Help
  Advice from TAs
  Advice from Students

  Lecture notes
  Lab materials
  Test reviews

Weekly Schedule
  Office Hours
  Lab Times

Academic Integrity

  Due Date and Time
  Late Day Policy
  Electronic Submission

C++ Development Environments


You may do your programming work for this course with any C++ compiler and development environment you wish, but your submitted homework code must compile and run under gcc/g++ 4.6.3. We understand that some of you may choose to use another compiler and development environment (e.g., Microsoft Visual Studio) for most of your work. We are asking you to write portable code (for g++/gcc) because it is good programming practice and it allows us to significantly streamline the grading process for your TAs. This leaves more time for us to give constructive feedback on programming style, individual tutoring, and debugging help.

The good news is that the gcc/g++ compiler is available for every operating system, and you have a variety of different options for development environments.


If you are using the RCS default installation of the Windows operating system, you should already have Cygwin. 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: NOTE: The default installation of Cygwin from RCS does not include all of the packages you will use this semester. If you are missing some packages, re-run the setup.exe installer, and search and click to enable installation of "g++", "ssh", and "zip". Upgrading is much faster than the original installation.

Plaintext & Code Viewers/Editors

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 consider include:

  • VI
  • Vim
  • Textmate (commercial, Mac OSX only)
  • E-texteditor (commercial, windows only)
  • Gedit
  • Programmer's Notepad (windows only)
  • notepad++ (windows only)
Important Note: The use and display of "newlines" in plaintext files is not standardized on UNIX/linux platforms vs. Windows. There are several characters that are used to represent end-of-line/carriage return. We will always used '\n' (newline) in this course. This is the UNIX/linux way. Please do not use '\m' or '\r' in this course, it won't match the output we are expecting on the homework server. In order to examine the provided code & sample output & your own output, you'll want to make sure you find a text viewer/editor that shows newlines.

C++ IDEs (Integrated Development Environments)

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