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 four 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?
T9. Look at the Top 25 Dangerous Programming Errors ( http://cwe.mitre.org/top25/ ).
Pick one and describe the problem, examine the references listed in the
detailed view of the error. Include your own thoughts on multiple places within
the software engineering lifecycle that the problem could have been avoided or
mitigated, and the techniques that would be used. Find one or more examples of
this error occuring in real software (news stories, security vulnerabilities
published on the web, etc...).
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.
Many students seem to leave out discussing "what was good?" ... don't forget
that's half of the essay points so should be more than one sentence!
The essay is due Mar 25, 2010.
You will get another student's essay to review that same day.
The review is due one week from receipt of the paper on Apr 1, 2010.
The final revision of your paper is due Apr
22, 2010. You will not have a chance to revise the paper after this
date. The paper is 10% of your grade, don't skip it!
Example of turning essay in by the
deadline |
Example of turning essay in with one
revision |
Example of turning essay in with multiple
revisions |
Bob (student) turns in the essay on Mar 25
Mary (student) receives Bob's essay to review
Mary write her review of the essay and turns it in April 1
Bob receives his essay and review back on April 1
Bob returns his updated essay by April 22.
|
Bob (student) turns in the essay on Mar 25
Mary (student) receives Bob's essay to review
Mary write her review of the essay and turns it in April 1
Bob receives his essay and review back on April 1
Bob returns his updated essay by April 8.
Raheem (GTA) grades essay and returns it April 15
Bob revises essay and resubmits it April 22
|
Bob (student) turns in the essay on Mar 2
Mary (student) receives Bob's essay to review
Mary write her review of the essay and turns it in Mar 9
Bob receives his essay and review back on Mar 9
Bob can now submit his essay and get it graded as much as possible
until the final due date of April 22.
|
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 (4-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.