COMPSCI 320 F26
Syllabus
Schedule
  • 09/10
  • Git 1
  • Rapid Prototyping
  • Customer Communication
  • Integrative Experience 1
  • Third Party Software
  • Git 2
  • Testing
  • UI Heuristics
Presentations
Code Review Checklist
  • Intro to SE
  • Process Models
  • Selecting 3rd-Party Software
  • Teams Workshop
  • Evaluating User Interfaces
  • Giving Presentations
  • PEaRCE Introduction
Edstem Forum
Syllabus
Schedule
  • 09/10
  • Git 1
  • Rapid Prototyping
  • Customer Communication
  • Integrative Experience 1
  • Third Party Software
  • Git 2
  • Testing
  • UI Heuristics
Presentations
Code Review Checklist
  • Intro to SE
  • Process Models
  • Selecting 3rd-Party Software
  • Teams Workshop
  • Evaluating User Interfaces
  • Giving Presentations
  • PEaRCE Introduction
Edstem Forum
  • Homework: Evaluating Third-Party Software

Homework: Evaluating Third-Party Software

A customer is asking for you to recommend a Java library that will read a CSV input file, do some simple transformations, and then write the transformed text out to the file. In this assignment, you will evaluate several potential Java libraries using a provided set of criteria and conclude with an analysis and recommendation based on your findings.

You may complete this assignment individually or with a partner.

Table of Contents

  1. Homework: Evaluating Third-Party Software
    1. Task
      1. Initial Analysis
      2. Summary & Recommendation
    2. Submission & Grading
      1. Grading Criteria

Task

Your job is to evaluate each of the following Java libraries:

  • Flatpack http://flatpack.sourceforge.net/
  • Apache Commons CSV https://commons.apache.org/proper/commons-csv/
  • OpenCSV http://opencsv.sourceforge.net/

Initial Analysis

Apply the following criteria for evaluation for each library. List each criterion and its number followed by your comments and findings.

  1. Is the software open-source or closed-source? What are the terms of the license?

  2. Describe the documentation: does it include full interface docs, a tutorial, an FAQ, describe any other other documentation.

  3. Describe the support community. Who uses it, what is the user base? Mention any feedback or ratings posted online. For example, sourceforge will show ratings.

  4. What is provided regarding bug fix history, change logs?

  5. Is the library under active development? Provide more than “yes” or “no”, such as a description and link.

  6. Is the API well-designed: easy to use, compact? Provide more than “yes” or “no”, such as a description and link.
    Conclusion:

Summary & Recommendation

At the end of the three evaluations, include a paragraph summarizing your analysis and stating which library you would recommend.

Submission & Grading

Submit your work as a PDF to Canvas. Put your name and your partner's name at the top of the file. If working with a partner, both of you must submit the same file.

Grading Criteria

  • Evaluates each of the Java libraries with all criteria clearly numbered.
  • Answers show evidence of research.
  • Answers accurately report details of libraries.
  • Conclusion summarizes the findings and clearly indicates the most favorable choice.
Last Updated:: 9/2/26, 12:46 PM
Contributors: James Perretta