Martin Syllabus for CS 147W

advertisement
CS 147: Team Project Development and Professional Ethics
Instructor: Prof. C. Dianne Martin
Tompkins Hall, Room 105
Phone: (202) 994-8675 dmartin@gwu.edu
Office Hours: M, W 3-5 PM or by appointment
GTA: Ingrid Mihai, ingrid@gwu.edu
Description: Developing a large software project using a team approach. User interface and
interface standards. Integration and testing of modules. Social impact analysis. Professional code
of ethics. Intellectual property; computer crime and hackers. Oral presentation and demonstration
of the project. Prerequisite or co-requisite: CSci 143 or permission of instructor.
Objectives for students:
Read! Think! Speak! Write! Program! Work in a team!
1. Work on a team to design, program, test and release a webservices application for a client
2. Develop ethical analysis skills to evaluate the design / implementation of computer systems
3. Develop social analysis skills to evaluate the social impact of computer systems in context
4. Use professional codes of ethics in decision-making
5. Improve written and spoken communication skills (This is a CS WID course.)
Required Textbooks:
Baase, Sara. (Third Edition). A Gift of Fire: Social, Legal and Ethical Issues of Computing.
Prentice Hall, 2007, ISBN: 0-13-978-0-13-601918-3.
Henry, Joel. Software Project Management: A Real-World Guide to Success. Addison-Wesley,
2004, ISBN: 0-201-75865-2
Course Evaluation Criteria
Ethics Scenario Evaluation
Science Fiction Report
Recitation Section Participation
Team Programming Project
Written Report / Impact Analysis of Project
Midterm Exam
Final Exam
Extra Credit: Current Issue Critiques (up to two)
10%
10%
10%
30%
15%
10%
15%
5% each
Note: All examinations, papers, assignments, and graded work products are to be completed n
conformance with The George Washington University Code of Academic Integrity.
For details, see: http://www.gwu.edu/~ntegrity/code.html
Description of CS 147 Assignments
Ethics Scenario Evaluation (10%): Evaluate an ethical scenario twice - once from the
viewpoint of your personal ethical framework and once using the Code of Ethics of a professional
society; then compare and contrast the two evaluations (total of 4-5 pages).
Science Fiction Report (10%): Read one science fiction short story or book or watch one
science fiction film that presents a point of view about the relationship between technology and
humans. Prepare a 3-4 page written report describing the point of view and your reaction to that
point of view and also present an oral report to your discussion group.
Recitation Section Participation (10%): Attendance will be taken each week during the
first 10 minutes of the Recitation Section. Each student will be graded based upon active
involvement in the discussion. This means preparing the draft products due related to the SDLC
and participating in peer review of them. Note: You will NOT get an A in this class if you do not
attend Recitations.
Team Programming Project (30%): This is a team project in which you will work in teams
of four- five students with an organization to develop a web-based application to help carry out the
organizational mission. The organization’s staff will work with you to define the specifications
for the application, to help to test the system and to provide an evaluation of the final product.
You will receive extra points if the application uses a database and / or a secure login system.
Your final project will include a working project, a user’s manual and a complete SDLC document
as part of the written report.
Written Report / Impact Analysis of Project (15%): A significant part of this project will
also include a comprehensive analysis of the social impact of the application you develop as it is
used by the organization in the actual work environment. It will include an executive summary,
description of the system, analysis of the use, impact, and ethical concerns of the system, a set of
recommendations, references to literature related to these issues, and an appendix describing your
data and data collection methods. As a team you will develop a report and present an oral report to
the class about your application and its impact in the organization.
Midterm/Final Exam (10% /15%): Questions are based upon readings from the text and
handouts and class discussions and will include multiple choice, true-false, and essay questions.
Current Issue Critique (5 points extra credit each, two at most): During the semester you
will be informed about special out-of-class events or hot topics (lectures, exhibits, conferences,
newspaper or magazine articles, URL's to relevant websites) dealing with current societal issues
related to this course. You may report on up to two of these events. You are to turn in a 2-page
report containing a summary of the issue or event and your reaction to it. The professor will
provide a list of extra credit topics.
Lecture assignments due: start of the Thursday lecture
Team Project assignments due: rough draft in recitation; electronically by 5 PM Friday.
Late assignments: turned in by Sunday 5 PM - 1/2 credit; after Sunday 5 PM, NO credit
CS 147 Syllabus Lectures (T, 3:30- 6:00 pm, 1957 E ST, room 213)
Recitations (T, 12:45-2:00 pm, TOMP 410; Th, 9:35-10:50 am, TOMP 410)
Week 1
Jan. 15
Lectures:
Course Overview, Tools as Social Artifacts
Defining the Social Impact Issues
Read Baase, chapt. 1; Henry, chapt. 1, 2
Recitations:
Java tutorial – servlets, sockets
Week 2
Jan. 22
Ethics at Work: Professional Codes of Ethics
Skill: Ethics scenario analysis
Read Baase, chapt. 9, Henry, chapt. 3, 4, 5
Week 3
Jan. 29
Software Project Management
Skills: Leadership and teamwork
Read Henry, chapt. 9
Week 4
Feb. 5
Privacy and Information
Skills: Writing a business plan/requirements
Read Baase, chapt. 2, Henry, chapt. 8
Ethics Scenario Analysis due
Privacy discussion question
Week 5
Feb. 12
Freedom of Speech and the Internet
Skill: Needs assessment / data gathering
Read Baase, chapt. 3, Henry, chapts. 10-12
Free speech discussion question
Requirements Analysis Draft
Week 6
Feb. 19
Computers, AI, and Robotics in Fiction
AI discussion question
Public Attitudes about Computers
Design Document Draft
Skills: Usability Data/ User Interface Design
Read paper: The Myth of the Awesome Thinking Machine
Week 7
Feb. 26
Midterm Exam
Team planning / work session
SW specs Draft/Testing Plan Draft
Week 8
March 4
Oral Reports/ class discussion of Sci Fi Reports
Read: Henry, chapt. 13
Science Fiction Report due
Sci Fi discussion question
Testing Plan Draft
Week 9
Case Study: Electronic Voting
Team Work Session
Skill: Technical Writing: organization of technical reports
Henry, chapt. 14-15
Implementation Plan Draft
March 11
Java tutorial- JSP
Form teams – team building exercises
Spring Break March 15-23
Week 10
March 25
Interim Reports on Projects in class
New Age of Work: Read Baase Chapt.6
Computer work discussion
Training Plan Draft
Week 11
April 1
Intellectual Property Defined, Redefined
Read Baase, chapt. 4 Henry, chapt. 16
Intellectual property discussion
Maintenance Plan Draft
Week 12
April 8
Computer Security / Computer Crime
Identity Theft; Read Baase, chapt. 5
Skill: Developing the security plan
Computer crime discussion
Social Impact Analysis first draft
Week 13
April 15
Can We Trust the Computer - Reliability Issues
Read Baase, chapt. 8; Henry, chapt. 17
Skill: Oral Presentations: Organize and prepare
Week 14:
April 22
Internet Regulation and Governance Issues
Team Project work
Evaluating Information, Digital Divide, Read Baase, chapt. 7
Extra Credit Social Impact Critiques due/ oral discussion
Week 15:
April 29
Final Oral Presentations of Project
Friday, May 2:
Final report due to Prof. Martin by 5 pm
Final Exam
Tuesday, May 6, 3-5 pm
Computer reliability discussion
Security Plan Draft
Post Mortem Analysis
1957 E Street. Room 213
Assessment Requirements for Assignments
Ethics Scenario Evaluation (10%)
Purpose: An important purpose of this course is enable you to develop analysis skills to make
decisions on ethical issues that may arise related to computer systems that you develop and
implement in the future. An effective way to do that is to analyze hypothetical situations or
scenarios that present ethical dilemma based upon several criteria.
Assignment: In this assignment you will be given a scenario to evaluate in four parts:
1. First provide a brief description of the scenario in your own words. State who all the
stakeholders are and list all of the alternative actions that could have been taken (1 page).
2. Analyze the scenario from your own set of personal values (1 page). What is your
metaphysical, epistemological and axiological view of the world as related to the notes from the
second lecture on ethical frameworks? Answer the question “how do you think” rather than “what
do you think.” State your reactions to the actions/decisions of the people in the scenario based
upon your worldview. (You will not be graded upon your values, but upon how well you can state
them as they relate to the scenario.)
3. Analyze the scenario using the Code of Ethics of a professional society stating the
specific principles from the code that apply to the scenario and what the right course of actions are
based upon that code (1 page).
4. Finally, you will compare and contrast the conclusions made in part 2 and part 3 (up
to 1 page). Did your worldview differ with the professional code and how? Or was it similar and
how? (It will help you to complete this part if you state which worldview you think the code is
based upon.)
Assessment of your paper: Your paper will be graded based upon how well you can support your
arguments with carefully stated reasons derived from the philosophical frameworks and the codes
of ethics that were presented in class and in the Baase textbook. You are expected to use correct
English grammar and spelling. You will be penalized up to 5 points for grammatical errors and
spelling mistakes, depending upon the severity and frequency of the errors.
Select one of the following three scenarios to analyze:
(1) Software Reliability: A software development company is developing a new software package for
small businesses and individuals to compute the annual income tax owed. The package will incorporate
the latest changes from the income tax laws. The software development team has told the president of the
company that the product still has a few bugs, needs more testing, and won't be ready until March. He also
knows that the first company to get this product to market is likely to capture the largest market share. The
company widely advertised the product for the past six months and stated that it would be released in
January, 2008 in time for the 2008 tax preparation. He makes the decision to release version 1.0 of product
in January to beat out the competition. The package is shrink-wrapped with a disclaimer of responsibility
for errors that might result from use of the product. The company expects to receive a few complaints,
questions and suggestions for modification. The company plans to use these to make changes and
eventually issue an undated, improved and fully debugged version by June for the following tax year. The
president argues that this is general industry policy and that anyone who buys the 1.0 version of a product
knows this. Because of the bugs, a number of users filed incorrect tax returns and were penalized by the
IRS.
(From Communications of the ACM, February, 1993)
(2) Privacy: A software engineer has started her own consulting business. She has been so successful
that she now has 10 people working for her and a number of excellent clients. Their consulting work
included advising on how to put together networks, how to design database management systems, and how
to provide network security. Presently she is designing a web-based database system for the personnel
office of a medium-sized company. She has involved the client in the design process, informing the CEO,
the director of I'T, and the director of personnel about the progress of the system. It is now time to make
decisions about the kind and extent of the security to build in to the system. She has described several
options to the client. Because the system is going to cost more than they planned, the client has decided to
opt for a less secure system. The software engineer believes that the data they will be storing is extremely
sensitive personnel information, such as performance evaluations, salary data, medical records for insurance
filings, and so on. With weak security, it may be possible for company employees to gain access to this
data as well as for hackers to break into it through the web. She feels strongly that the system should be
much more secure. She tries to explain the risks, but the CEO and his staff all agree that the less expensive,
less secure solution will be fine. What should she do?
(From Communications of the ACM, February, 1993)
(3) Intellectual Property: A programmer, working on a sophisticated data mining package, is trying to
write an algorithm to do intelligent searches across multiple databases. Programmers in this company are
encouraged to write about their work and publish their algorithms in professional journals. After months of
tedious programming, the programmer finds himself stuck on one part of the problem. His manager, not
realizing the complexity of the problem, wants the job completed within the next few days. The
programmer remembers that a co-worker had written an article about a similar problem and given him the
source code from an earlier version of a commercial software package developed by another company. On
looking at those programs, he sees two areas of code that could be incorporated into his program. He
incorporates the segments of code from the co-worker's article and from the commercial package into the
program, but does not tell anyone or mention it in the documentation. The program works perfectly and is
delivered a day ahead of schedule.
Science Fiction Report Guidelines (10 %)
Purpose: You are to read a science book or short story or view a science fiction movie. The
purpose of this assignment is to examine how technology is portrayed to the public through
fiction. Is it presented by the author as a good, evil or neutral force in society? It is presented as
being under human control or evolving on its own? The technology discussed does not have to be
imaginary or futuristic - the book could have been written a century ago about technology that
now exists. In that case, it would be interesting to discuss how the view of the author matches
with what actually happened with the technology.
Assignment: The actual report consists of two parts: a 3--minute (well-organized!) oral report
to be given during the lecture session and a 3-4 page written report. The format of the written
report is as follows:
1. Briefly summarize the story. Don’t give all of the plot details.
2. State the social impact issues that the story addressed in the context of this course.
3. State the view of the author regarding the particular technology used in the story good, evil, neutral, in control, etc.
4. State your reactions to that view - do you agree or disagree with the author and why?
5. You are expected to use correct English grammar and spelling. You will be penalized up to 5
points for grammatical errors and spelling mistakes, depending upon the severity and frequency of
the errors. You will be graded on good writing and intellectual insight on the issue.
Sample list of Science Fiction works for CS 147 (you are not limited to this list.)
Classic Books:
George Orwell. 1984
Mary Shelley. Frankenstein
H. G. Wells. The Time Machine
Jules Verne. Paris in the Twentieth Century (old manuscript discovered and published in 1998)
More Recent Books:
William Gibson: Neuromancer; Mona Lisa Overdrive
Bruce Sterling: Islands in the Net
William Gibson and Bruce Sterling: The Difference Engine (brilliant!)
Neal Stephenson: The Diamond Age, Snowcrash, Cryptonomicon
James Hogan: Two Faces of Tomorrow; Thrice Upon a Time
Isaac Asimov: any of his robot or foundation books or short stories
Robert Heinlein: The Moon is a Harsh Mistress; Friday
Movies:
1926 silent film: Metropolis (a real classic!)
2001
Dr. Strangelove
Blade Runner Total Recall
Wargames
Sneakers
The Net
Woody Allen’s Sleeper The Matrix
A.I.
Bicentennial Man Minority Report
The Systems Development Lifecycle (SDLC) Process
For the project you have chosen, you will be traveling through the SDLC. At each phase of the
SDLC, certain documents are required for review. In a lot of projects, each document is reviewed by
clients to ensure that the process is going along according to spec. Larger scale projects particularly use
this method as checkpoints throughout the process and included expanded SDLC components such as
internal and external design documents and extensive training plans that include budgets and travel dates.
The organization you are working with may or may not request these documents, but it is an important part
of systems development. YOU, as analyst, may not always be with the client and, therefore, should leave
some documentation for future analysts to use as a reference, as well as your clients.
The following is list of deliverables during your short-term project. The component descriptions of
each document are also provided, but you are not limited to these components. The length of each
document varies based on your project scope. It could be short (several pages) or long, but must adequately
explain the phase of SDLC process for your site. There may be additional components that are specific to
your client site that need to be included in your SDLC document, and there may be some suggested
components that do not apply. Again, YOU ARE NOT LIMITED by the suggestions below, add items that
you think are needed for your project
DOCUMENT BY SDLC PHASE
REQUIREMENTS ANALYSIS
 Mission of Organization
 Intended social impact on the organization of work your doing
 Description of Project
 Intended Target User Area
 Intended advantages of systems
 Current systems environment.
 Current client standards for systems development (if any)
 Project Timeline (rough—includes all phases of SDLC)
 Target technical environment (NOS, LAN topology, etc.)
 Interview Questionnaire (clients may give you requirements by
further probing is always needed.)
 Requirement (user requests) Grid
 Level of security anticipated for system
 Preliminary Cost Benefit Analysis (CBA) – Though the “cost” is not
in terms of labor hours, think about what impact the changes have on
your client’s business, both positive and negative.
 Preliminary Risk Management Plan – what risks are presented and
how will they be monitored and mitigated.
DESIGN AND DEVELOPMENT DOCUMENT
 How are you going to structure any databases? What programming
tool will you use? (If this has been decided already, or you are
enhancing an existing system, say so, and include how decisions for
enhancement were made and why.) How will screens be designed
and features programmed? What will the system ‘look’ like? This
document is more specifically shows the development team how
user requirements will be coded/carried out in the dev. process.
Document Due
Date
Week 5
Week 6
DOCUMENT BY SDLC PHASE
SOFTWARE SPECIFICATION
 Describe, in detail, the development environment you are working in
and what software will be used to create the final product. Include
information about the network, NOS, for the development
environment. Also included in this document should be a
description of the USER environment. What are the differences in
the two environments? Are there any anticipated problems with
systems or software compatibility when migrating to the user
environment from the development area?
Document Due
Date
Week 7
TESTING PLAN
 How do you plan on verifying that your design and development
system is ‘ok’ with the users or that the program is ‘bug free’? Did
you encounter any ‘new requests’ from the users while you were
testing? How did you handle that? What are the results of the
testing? What errors were found and were they fixed? Did you
assigned priority levels to bugs found or were all changes do-able
and incorporated? What were they? (A table works well for this.
You may want to present your users with a list of requested features
from the Req. Analysis document and use that as a testing
document.
Week 8
IMPLEMENTATION PLAN
 This document may be short if the system is installed in one office
location on a small network or desktop environment. However, the
implications of even small-scale systems should be addressed
explicitly in this document. Think about your client’s current
systems backup scheme and how your system will be part of that.
How will that be implemented?
Week 9
TRAINING AND DOCUMENTATION PLAN
 Implementation plans also should include plans for USER
TRAINING AND USER DOCUMENTATION --What are your
plans to help users with training and/or user documentation? Will
there be additional help available? Is the help electronic, printed, or
both? How is training approached – computer-based, live, one-onone?
Week 10
MAINTENANCE PLAN
 Including listing of database structures, location of code, listing of
code, how upgrades or future requests will be handled, how is the
system backed-up, how do your users contact you. This is also
helpful to your client in the event that you are no longer available
for consultation (e.g., you return to school, move out of the area,
etc.). It is also advantageous to have printouts of the final code or at
a minimum provide a final, clean copy of the code on CD for
archive/backup purposes.
 A Data Dictionary of database elements and descriptions is also
required (if applicable to your project).
Week 11
DOCUMENT BY SDLC PHASE
SOCIAL AND ETHICAL IMPACT ANALYSIS
 Comprehensive analysis of the social impact of the application
Document Due
Date
Week 12
you develop as it will be used by the organization in the actual
work environment. This will include a description of the
system, analysis of the use, social impact, and ethical concerns
that could be raised by use of the system, and a set of
recommendations for dealing with those issues.
 Include references from research literature related to the
particular social impact and ethical issues that might be raised
by your project.
SECURITY PLAN
 What is the current physical and systems environment security
features? Are there any current client standards in place for
security? (How will your work ‘fit in’ to that plan?) Are you
creating a standard for them? What are your recommendations for
physical and systems security for this client?
 Risk Monitoring, Management, and Mitigation (RMMM): Since the
preliminary look at the system during requirements analysis, what
has changed about the risk mitigation? What other issues have come
to light?
FINAL SDLC DOCUMENT
 All documents in one file, with a cover page and table of contents
that is ready for delivery to your client. Remember to go back and
edit any documents for clarity or incorporate more information as
you see fit or any instructor comments you feel should be included.
 Most importantly, your personal reflections on this experience with
the organization, the SDLC process, and the social impact statement
are needed. Did you meet the requirements? Were the intended
advantages to the user achieved? What were their reactions and was
there any conflict that needed to be resolved (how?)? Consider what
went right and what went wrong and your opinions about the system
and its advantages and disadvantages in the client setting.
 INCLUDE YOUR WORK LOGS – each member will keep a log
of their work – what they worked on, what day, how much time did
they spend. You will submit individual work logs (“timesheets”) as
well as an overall team log show who worked on what pieces, date,
number of hours, etc. (See attached example).
Week 13
Week 15
IN LECTURE
with your
presentation
The document from each phase of the project will be part of a final, larger document and will be turned in at
the end of the course as the project report. Comments will be provided throughout the semester so that you
can improve on them for the final version. Please review the comments and incorporate what you think is
appropriate into that document for the final product. What you should have at the end of the project is a
nice set of documentation to leave with your client/users for future systems development needs.
DOCUMENT FORMAT: Please double space and use 1” margins all the way around. Clearly mark each
section and, for the final document, provide a table of contents and a cover page. These are formal business
documents and the writing style should reflect that (including any references that are helpful) so that the
language is clear and concise to your clients –and usable—long after you leave the project. However,
alternate styles can be considered… and helpful! For example, at your client site, programmers and
analysts would be looking at the specs, design, etc. documents while users will be reading the training and
documentation (in most cases). Remember your audience! As you write, think about who will be reading,
using, and trying to do their job from this comprehensive document.
Recitation Notes:
RECITATION ATTENDANCE IS REQUIRED. You cannot get an A in this course if you do not attend
the recitations. You cannot switch between recitation sections as the team you are assigned to will attend
the same recitation.
TEAM ASSIGNMENTS are due on the FRIDAY of the week due by 5 PM Eastern (United States)
Standard Time (EST). Assignments submitted by the following Sunday at 5 PM will receive a 50% grade
penalty. Assignments received after Sunday at 5 PM (EST) will not be graded and will receive a zero.
ALL TEAM ASSIGNMENTS MUST BE SUBMITTED ELECTRONICALLY TO THE RECITATION
TA’S DROPBOX.
TIME LOGS: Each member of your team will be required to keep a log of the time spent on your project.
These individual logs should be attached to your final SDLC document. Also, your team is required to
make a total team log indicating how much time was spent on each phase of the project, who did what, etc.
An example log is attached. Though each member has a specific role on the team, that doesn’t mean that
each person can’t assist with other roles (see example below).
TIME LOG FOR: Johanna Programma_____________
TEAM ROLE: ________Technical Writer ____________
Date
Work Accomplished
SDLC Phase
1/2/04
1/4/04
1/5/04
Created Requirements analysis doc outline
Met with team on coding procedures
Coded initial screen design. Loaded to test
server.
Team status meeting
1/7/04
1/8/04
Total Hours
R/A
Design
Dev.
Time
Start/Stop
5-8 pm
11 am – 12 pm
2-4 pm
---
1-2 pm
1
3
1
2
Download