Homework 2
CS 562
Software Engineering II
10 Points
Due Friday, Feb. 21, 2014 at the beginning of class

1. Showing all work, complete problems 11-20 of the Computer Science GRE Sample Exam available at the class eCompanion website (5 points).

Examples of Open Source Software projects follow below in no particular order.

Ubuntu (an operating system)
Octave (a mathematical program similar to Matlab)
gcc (a C/C++ compiler)
PySol (a Python based solitaire game)
OpenMPI (a Multi-processing library)
Apache (various web related projects)
Mono (an IDE used primarily with Linux)
Firefox (a web browser)
w3m (a text based web browser)
a2ps (a tool to convert ASCII to postscript)
xboard (a display tool for chess games)
gnuchess (the back end of a chess game)
Synaptic Package Manager (a GUI tool to display available packages in Linux)
evince (a PDF viewer)
ghostscript (a tool to convert documents and images to and from PDF)
bc (a basic calculator)
xsane (a GUI flatbed scanner interface)


Windows users will need cygwin to deal with some of these projects. An example of how to install cygwin and several of its utilities is provided here.

2. Investigate a critical or high priority bug in an Open Source Software (OSS) project. Why is that bug listed as such? Explain. How would you propose to fix it? You don't have to fix it yourself, but explain what files you might need to look at and any functions you might need to fix, if you can find them. If you can't figure out where to look, explain why. Don't spend more than an hour or two looking for a solution (2 points)!

3. Investigate two README or INSTALL files from two different OSS projects. How do these compare to your project? Do you expect you will need a huge README/INSTALL file or a small one? Explain (1 point).

4. Compile from source one OSS program. Was this easy or difficult? Why or why not (1 point)?

5. Assume you were going to add a module to an OSS project of your choice. Would it be easy or hard? Why? What difficulties do you forsee, especially those related to testing (1 point)?