CS518 2005


General Information






Pattern presentation




Students will select projects that give an opportunity to participate in the research activities of the software engineering research group at Colorado State University. Often course projects have been further developed to lead to Masters thesis and PhD dissertations.

The project will be done individually. Students can select their own projects. Examples of topics are given below:

  • Use of aspect oriented techniques to develop middleware based applications. Students have the option of using and evaluating existing aspect libraries of our research group to build new applications, or develop aspect libraries for other middleware features and technologies. We would like to use the ideas to reengineer the application using .Net.
  • Extend our interaction diagram extraction tool. Currently our prototype is able to extract behavioral models from run-time information in the form of UML sequence diagrams. We need people to work on other complexities in the execution as well as extend the work to UML statemachines.
  • Develop testing and debugging tools for distributed applications.
  • Survey, compare, and evaluate component selection approaches.

The following table shows the deliverables, deadlines and the contribution of each deliverable toward the final grade.

Component Worth Due date
Proposal 3% Early March (before the spring break)
Demo 3% 5% May 4
Presentation 4% First two weeks of May
Report 15% 17% May 4


Students should discuss their ideas with the instructor before writing the proposal. Submit a 2-page proposal. The instructor will give you feedback before the spring break. The proposal must contain the following items:

  1. Title
  2. Author
  3. Problem description
    • What is the problem being addressed and its context?
    • What is the significance?
  4. Summary of your expected contribution
  5. Methodology for carrying out the project (e.g., what will you survey to get the background, tool that you will design and implement, case studies that you will pick)
  6. Final deliverables (code, case study results, survey, models)


The report is an important part of your project. You will get good practice for putting down your thoughts concisely. The report will show how well you have thought about the problems, what you surveyed to find out existing solutions, and how you solved the problem. Don't leave out any details. Assume that the reader does not know anything about the problem being solved.

The report will be between 10 and 15 pages, 11pt size, single spaced. The sections will be as follows:

  • Title, author, affiliation, date
  • Abstract (100 words)
  • Keywords (5-6)
  • The following are numbered sections
    1. Introduction
      • Problem description and significance
      • Objectives and contributions of your work
    2. Background and related work
    3. Approach
      • Assumptions
      • Method
      • Limitations
    4. Case study:
      1. Goal (Hypothesis)
      2. Procedure
      3. Data (charts, graphs, etc)
      4. Analysis of data
      5. Discussion of results, i.e. where it applies, what conclusions can be drawn, what cannot be done, etc
    5. Conclusions and future work
    6. References: Don't pad references. List a publication only if it is cited somewhere in the text. Give complete information about the citations.

Be careful about plagiarism, i.e., do not present other people's words as your own. Do not reproduce other's work verbatim without quotation marks and citiing the source. Do not paraphrase or summarize other's work or ideas without attributing the source.

For more details on quoting, paraphrasing and summarizing other people's work, please refer to the CSU writing center's teaching guide on understanding and addressing plagiarism.

Feel free to use the resources at CSU's writing center to improve your writing skills.

Last updated: February 7, 2006