CS 390 - Software Engineering
MWF 1, KC-267
Announcements
These are announcements made in class or via email currently in effect
for this course.
Sunday, December 7, Re: User documentation, final
presentation, final grades
As noted in class last Wednesday, the final documentation for your
projects is the User Documentation on how to install and run/use your
project. Team projects should produce one such document that both
module websites link to and include any command line interfaces as
well as the graphical interface.
Final presentations are 12:30-2:30pm on Thursday, December 11 (the
regularly scheduled final exam period for this class). Individual
presentations are to be 12-15 minutes and should consist of an
overview of the project and a demonstration of final result. Team
projects should give one integrated presentation of 20-25 minutes and
should consist of an overview of the overall project, then overviews
of the individual modules, and a demonstration of the final result.
Each student should be prepared to demonstrate their individual module
in the event that the final integration is not completed. The goal of
the final presentation is to show that the final result meets the
project functional requirements. Presentations will be given in an
order determined by the instructor. Missing the presentation will
result in a 10% penalty on the project grade.
All project documents and implementations will be archived for
grading on Friday morning at 9am. No changes will be allowed after
that time. Email will be sent when projects have been graded and
final grades have been posted to WebAdvisor. (It is anticipated that
this will be sometime on Monday, December 15.) Scores for all graded
work will be posted to Blackboard as well.
Thursday, November 6, Re: Next week's
presentations
Here's the plan for next week. Progress
presentations will be on Monday and Wednesday (Nov. 10 & 12) next
week. They are to be no longer than 10 minutes (no more than 8
slides). It should be assumed that the audience is familiar with the
project (i.e., we saw the first presentation). This presentation
should expand on what the project does from the user's perspective
(i.e., the functional specifications) and an overview how the project
will be implemented (i.e., the high-level design).
Everyone is expected to be ready to give their presentation on
Monday, November 10. I will ask for volunteers first, then choose
randomly. If you are not ready to present, it will be noted and
considered when assigning final project grades, but you will be
allowed to present on Wednesday time permitting. To avoid the
problems we had last time with presentations, the presentation must be
either network accessible via a web browser or on a USB drive.
Most of you have been talking to me regularly, which is good. Those
of you who have not talked to me recently might consider doing so this
afternoon or tomorrow afternoon.
Friday, October 3, Re: Next few weeks' schedule
There will be no class meetings next week. Monday, October 6, will
be an HTML tutorial for those that want and/or need it. Everyone must
make an appointment to talk to the instructor no later than Wednesday,
October 8. Sign up sheets will be on the office door. Slots will
also be available on Thursday and Friday for those wanting additional
appointments.
Skeleton project websites and an initial version of a one-page project
description are to be up by Friday, October 10.
There will be class on Wednesday, October 15. On Friday, October
17, everyone is expected to give a short (less than 5 minutes, no more
than 4 slides) presentation on what their project is. Thereafter,
there will not be class on Fridays unless otherwise announced. Sign
up sheets will be posted for appointments on Thursdays and Fridays.
Links
This is a list of links to resources that may be useful in this
course.
Project Assignments
- Peg solitaire puzzle simulation
- Jonathan
Bach - Create a program that solves a peg
solitaire puzzle.
- Duong
Pham - Create a graphical representation of
a peg solitaire puzzle.
- Turing machine simulation
- Chris
Kilgore - Create a program that simulates a
running Turing machine.
- Guy
Wyant - Create a graphical representation of
a running Turing machine.
- Derek
Burrows - Create a web-based blog system that
allows for others to comment on the blog.
- Jason
Butz - Create a TCP/IP network protocol
simulation.
- David
Houngninou - Create a system to play the game
Mancala on-line by two remote players.
- James
Yoder - Create an emulator and assembler for the
MMIX computer described in The Art of Computer
Programming, Vol. 1 : Fundamental Algorithms, Revised
Edition by Donald Knuth.
- Michael
Zlatkovsky - Create a system that can transform
ordered input organically and recurrently into a structure
that possesses cognitive abilities.
Writing Assignments
Reactions to Dr. Roberts' Presentation on XP
Formal Papers
Responses to No Silver Bullet
Writing Assignment 3
Handouts
This is a list of documents posted for this class in reverse
chronological order. Some will be available in hard copy as well.
- Monday, December 1
- Writing Assignment 3:
Write a 1-2 page (3-5 paragraphs) discussion on
ONE of the following topics:
- Discuss how the ability to do semantic-preserving
transformations of code (Dr. Roberts' work) might change the way
software is developed.
- Discuss what life-cycle model (Chapter 2) you used to develop your
class project and how well it worked.
- Discuss the reusability and portability (Chapter 8) of
the components of your class project.
The assignment must be submitted in electronic
format (plain text, DOC, ODT, or PDF formats) by email to the
instructor and is due at the final presentation on Thursday,
December 11, 12:30pm. No late papers will be accepted. They will
be posted to the course webpage
for all to consider.
-
- Wednesday, November 19
- Monday, November 17
- Wednesday, November 12
- Reading assignment for Writing Assignment 2 and Monday's lecture next
week: "No
Silver Bullet: Essence and Accidents of Software
Engineering", originally publish in Proceedings of IFIP
'86 Conference; reprinted in IEEE Computer,
April 1987; reprinted in The Mythical Man-Month, 20th
Anniversary Edition, Addison-Wesley, 1995.
- Writing Assignment 2:
Write a 1-2 page (3-5 paragraphs) response to No Silver
Bullet. Some topics you might address:
- Do you agree with the assertion that
writing software is essentially hard?
- The conclusion of the essay is that there would be no
silver bullet within the next 10 years (1986-1996). Has
that prediction come true?
- Another conclusion of the essay is that there is a long,
hard road consisting of combining all of the forecasted
innovations to achieve an order-of-magnitude increase in
productivity. Has that prediction come true?
- Have you encountered any tools/technology that you
thought might be a silver bullet?
- Do you think there ever will be a silver bullet?
Note that these are just questions to consider. Just answering
these questions will not be sufficient, nor do all of them need
to be considered. Your submission must include your
personal reaction to the topics discussed to receive full
credit. The assignment must be submitted in electronic
format (plain text, DOC, ODT, or PDF formats) by email to the
instructor and is due by beginning of class on Monday,
November 17. They will be posted to the course webpage
for all to consider.
-
- Wednesday, October 29
- Monday, October 27
- Wednesday, October 22
- Monday, October 20
- Wednesday, October 15
- Friday, October 3
- Wednesday, October 1
- Monday, September 29
- Reading assignment for Wednesday:IEEE
Computer article, "Seven Principles of Software Testing". Be
prepared to discuss whether you agree or disagree with each
principle, and whether you have used any of the principles in
your own testing.
- Formal Paper Assignment: write a 5-7 page
paper on any software engineering topic based on at least one
substantial article written since 2000. Logistics:
- The article (send URL or submit hardcopy) and a thesis
sentence for the paper must be approved by the instructor via
email no later than Monday, October 6.
- The format of the paper is to be 11pt, Times Roman font,
1in margins on all sides, double-spaced. A cover page should
be provided and the pages should be numbered.
- Appropriate citations are required. References should be
listed and numbered in alphabetical order by author at the end of
the article. Citations should be of the form [#] where # is
number of the reference in the list.
- A full draft of the paper is due no later than
Monday, October 20. Submit in electronic format
(DOC, ODT, or PDF) by email to the instructor.
Papers will be evaluated and returned for revisions the next
class period.
- Final paper is due no later than 4:30pm on
Wednesday, October 29. Submit in PDF, if at all
possible.
- Lecture 15: Slides (HTML), Handout (PDF)
- Wednesday, September 24
- Monday, September 22
- Friday, September 19
- Wednesday, September 17
- Monday, September 15
- Guest lecture by Dr. Roberts on Extreme Programming
- Writing Assignment 1: Write a 1-2 page (3-5
paragraphs) reaction to Dr. Roberts' lecture focusing on the
software engineering issues that were raised. Some questions to
consider:
- Why did the client hire Dr. Roberts?
- Why did Dr. Roberts recommend changing to the XP
life-cycle model?
- What was the client's response to this recommendation?
- Was the client able to implement the XP model?
- Did the XP model provide the anticipated benefits?
Note that these are just questions to consider and may or may not
be answered by the lecture. Just answering these questions will
not be sufficient, nor do all of them need to be considered.
Your submission must include your personal reaction to
the topics discussed to receive full credit. The
assignment must be submitted in electronic format (plain text,
DOC, ODT, or PDF formats) by email to the instructor and is
due by 4:30pm on Friday, September 19. They
will be posted to the course webpage for all to consider.
- Friday, September 12
- Wednesday, September 10
- Monday, September 8
- Friday, September 5
- Wednesday, September 3
- Monday, September 1
- Friday, August 29
- Wednesday, August 27