CSCI 250 - Scalable Software Design and Development
Spring 2017
Final Paper
Assignment
This semester, you have completed four programming projects. For each project,
write a section that addresses the following themes:
- From start to finish, what aspects of the project changed the most?
- How did the design of the project facilitate (or hinder) making the
necessary changes? In this discussion, make reference to all pertinent
design principles we have studied over the course of the semester.
- For the team projects, how did the design facilitate (or hinder)
effective teamwork? Again, make reference to the design principles.
(There is no need to name names here; just focus on
the technical aspects of teamwork.)
Having discussed the individual projects, write a section addressing the following. (Use evidence from the project descriptions to support your arguments.)
- What design concepts did you find most helpful in building scalable
software? Least helpful? Explain.
- What Java programming language constructs did you
find most helpful in building scalable software? Least helpful? Explain.
- Discuss the role of automated unit testing in your projects. Characterize
the situations in which it was most helpful. Describe the system properties
that were assessed, and pay careful attention to identifying trends that arose
throughout your projects.
Write a conclusion summarizing the main arguments of your paper.
Use MLA format, double-spaced, 12 point font, in writing your paper. I
expect 10-12 pages. Feel free to go a little longer if necessary.
Deadline
- Wednesday, May 10
- Submit paper via Moodle by 5 pm.