During
the semester you must write one essay and review one other student's
essay. The process is double-blind --- you will not know the
reviewer and the reviewer will not know who's paper they are reviewing.
The process:
1. You write an essay. You submit your essay with a cover sheet that has your name, essay title (
sample). The rest of your essay must not have your name on it.
2. Prof. Fleck will remove your cover sheet and assign the essay a number.
3.
Essays will be given to other students to review and comment on. The
reviewer will add a coversheet with their name, the essay number.
All comments will be on the following pages.
4. Essays with comments will be returned to Prof. Fleck
5. Prof. Fleck will remove the reviewer's coversheet.
6. Prof. Fleck will attach your coversheet and return the essay, and review to you.
7. You can then revise the essay and submit it for review by the Professor (or GTA).
8.
The essay will be graded and returned. If you submitted your essay
early enough for grading, you can resubmit it again until you get the
grade you want or the final due date is reached. (Remember, it takes a
week to grade though!)
Your
essay content should be three to five single-sided pages, double spaced, 12
point Serif font (such as Times New Roman), with one inch margins. You
should have page number and number of pages (for example
"2/5") right-aligned in the footer of each page. Please be sure
to check your paper for spelling and grammar before submitting
it. As with all of your work, the GMU Honor Code applies, so
be
sure to cite your references (if you are unsure about how to do
citations, try using
MLA
format ). The essay is due in hard copy in
class .
For this essay you will find at least two recent papers (published >= year 2000) on
a software engineering topic (see below). Your paper should
present your own thoughts on the
material backed up by evidence from your references. You paper should
include a thesis statement as described in
Thesis
Statements . To find good papers to reference, see the FAQ below.
Remember: This is not a book report. I want you to add your own
thoughts, not just tell me what the references said.
(If you prefer to write on another topic that is
fine, but you must get it approved by Prof. Fleck before
writing.)
T1. Find and discuss two papers that describe an approach for
generating and/or using software metrics. What decisions do they help
make? In what situations are they valid/invalid? Should you use them?
Would you use them in a project?
T2. Find papers on different software engineering models
(possibly each paper
taking a different view on which is better). Compare and contrast the
models, explaining advantages, disadvantages of the models and
situations in which each is appropriate and why. Some models can be found in chapter 3 of our textbook.
T3. Describe the software engineering choices and
differences between creating web applications versus non-web
applications. Find papers that discuss this issue (both sides, or
either side).
T4. Extreme Programming and Agile Software Development techniques have
gained a lot of popularity in recent years. Compare one of
these techniques to one of the more traditional models, and explain the
benefits of one model over the other, and any challenges that might
appear with one approach or the other. Can you think of any
situations where the traditional model might be more effective than the
agile approach? How would you decide which model to apply for
a particular software project?
T5. Explain the SIMILARITIES of Agile versus traditional approaches.
How were traditional approaches evolved into Agile approaches? If there
are no papers on this exact topic, find some on the origins of Agile
development, and discussions of traditional approachs and add your own
views on how traditional approaches evolved.
T6. Discuss why gathering requirements is a challenging process. What
techniques are used, and how do they attempt to solve the problem?
Also, how do different methodologies (Agile) try to address the problem?
T7. Describe Mutation Testing, how it works, advantages and
disadvantages. Explain the usage of
MuJava,
and apply it to a program and report the results. (It can be an open
source project or any program... you do not need to write your own
software for this, only the tests.
T8.
Discuss automatic generation of test cases. Find a paper that describes
an approach. How do they do it? What are the advantages? Disadvantages?
When do you think it would be appropriate to use the technique? When
wouldn't it be appropriate?
Remember: A goal of this essay is to add your own views and thoughts about the
topic. Avoid purely summarizing the author's views, add in your own
views and insights! Just because it's published, doesn't mean it's right!
As a reviewer your job is to help the author understand what parts
were good and what parts were not. To do this provide your thoughts on
how to make the essay better. Explain why you think this would help the
essay (flow better, be less confusing, etc... ). Be clear and
professional (don't be rude). Also include what parts of the essay you
thought were done well, and why.
This should be 1/2 to 1 page
of written text. If it helps you can also write on the essay itself.
Frequently it's easier to mark "Location A" on the essay, and then
reference that location on the written part of the review. You can mark
spelling / grammar errors on the essay itself.
For the review
include a cover page with your name, but don't put your name on the
other part of the review. Staple it all together. Lastly, make a
note of the essay number for the unlikely event that things get mixed
up, you will know you reviewed essay X.
The essay is due
Nov 5, 2009.
You will get another student's essay to review that same day.
The review is due one week from receipt of the paper on
Nov 12, 2009.
The final revision of your paper is due
Dec 3, 2009.
You will not have a chance to revise the paper after this date. The paper is 10% of your grade, don't skip it!
Criteria |
Points |
The essay well-organized and free of spelling and
grammatical errors. The essay flows well. |
10 |
The essay was formatted correctly: - Cover page with at least your name and essay title - Body of the essay (3-5 pgs) including the title on the first page, but NO AUTHOR NAME - Bibliography page was included
|
5 |
Thesis
is clearly presented in the first paragraph. Including both the general
topic, and viewpoint of the student. The body of the document develops
and supports the thesis. |
5 |
The body of the
document clearly presents the views of the reference papers. Not simply
quoting the papers, but explaining what they mean. |
10 |
The
body of the document includes the student's viewpoint and their own
thoughts on the topic. The body demonstrates clear reasoning about the
topic beyond just echoing what was in the references. (This is not a
book report.) |
10 |
Your paper was not submitted on schedule | -10% |
Review | |
The
review you provided included thoughts on ways to make the paper better
in a clear and professional manner. Remember -- you're reviewing the
paper, not the writer! (Don't be rude.) | 8 |
The review included what you thought were the good parts of the paper, and why you thought they were "good". | 7 |
Your review was not provided on schedule | -10% |
Total: |
55 |
How do I find scholarly
papers? Search
http://scholar.google.com . Try searching for "software engineering",
"software testing", "software design", "software process",
etc...
Many
papers can be found there, some are free, but most aren't. To get the academic ones:
- Remember the author and title you found from scholar.google.com
- Go to
http://library.gmu.edu
and click on "E-journal finder"
- Put IEEE in the Journal Title box and submit (almost all are IEEE)
- Click on any "IEEE/IET Electronic Library (IEL)" link
- Click on "Search-> Author" from there
- Enter
your author's name. 90% of what you want is in the IEEE, if you want
something that you can't find there let me know and I can help you
search.
Do grammar and spelling
count? YES! Learning to write professionally is an
important skill that George Mason emphasizes. It is likely your paper
will be returned at least once and possibly twice. That's OKAY... the
goal is not perfection the first time -- this is a learning experience!
Do I need a bibliography?
YES! You must cite all references you used to write the paper. Note how
it's done in the papers you read, that's the same way you should do it.
You can also use the
MLA
format.
Does an essay with a
coversheet, one page of text and a bibliography count as 3 pages?
No! That counts as one page of text.
I
f a software engineer
falls in the woods, but doesn't make a sound, did they really fall?
That's an invalid premise that wouldn't happen. Why go to the woods
when you can be doing software development?!? Unless you have a laptop
and wireless cell phone card... hmmm.... maybe it could happen.