Programming Assignment for CS6388 and CS4381

Your mission is to write a program that gives statistics on the source code for Java programs. Thus you should give the prgram the name of a folder, and it should find all the .java files in it and produce information cumulative for all of them. You can assume that any input program is syntactically correct, so you need not write a full parser. In particular, what it should show is:

  • The total number of lines in all of the modules.
  • The number of executable statements in all of the modules.
  • The number of pure comment lines in in the set of programs.
  • The number of comment lines that occur on a line with an executable statement.
  • The number of blank comment lines.
  • The percentage of the total non-blank lines that are pure comment lines.
  • You can be sure that the test input will contain things like this: String strComment = "/**********************/";

These programs are to be done by each student individually, not by your group.

You are to do this assignment in two parts.  The first part, due February 25, 2008 , is a work breakdown structure for the program.  DO NOT WRITE CODE YET.  List your classes, then methods you'll need in each class.  I understand that this list may not be exact, but do your best.  You should also include:

  • An estimate of the total lines of code that it will take to write the program, with justification and description of how you arrive at it.
  • An estimate of how many hours you will spend writing the code.
To hand in: E-mail to me the Word file with the following name: Your Last name, the Course Number, and Prog1. For example, if I were handing it in for CS6388, the file would be Cole6388Prog1.doc. Please use Word 2003 or earlier format.

Once the work breakdown structure has been handed in, proceed to code the program.  You have either Java or C# as possible languages. The program is due at the beginning of class on March 17, 2008 .

Grading: The first part is 30% of your total grade for the project.  Your grade will be based, not on the accuracy of your estimate, but upon your application of the methodologies we have discussed in class in obtaining it.  The program will be 70% of the grade, which will be based upon how well it works, structure, clarity of the code, and internal documentation.

To hand in: A Zip file containing your entire project. The name of this file should follow the same convention as the name of the document, but with a .PIZ extension. Note that you generally can't send .ZIP files through UTD e-mail, but .PIZ will work. Send this file to the TA