| Instructor: A. Olson |
Office hours: MW 2:00-4:00, 5:15-6:00 PM and by appointment |
| Office: SL 280 |
E-mail: olsona@iupui.edu |
|
Office Phone: (317) 274-9727 |
URL:www.cs.iupui.edu/~aolson |
| Teaching Assistant: none | Contact: -- |
Copyright
2001. All rights reserved. Contact
the author
Introduction to the Team Software Process. W. S. Humphrey, Addison-Wesley, 2000, ISBN 0-201-47719-X
Object-Oriented Project Management with UML. M. R. Cantor, John Wiley & Sons, 1991,
ISBN 0-471-25303-0
Recommended:
Computer Ethics. D. G. Johnson, 3rd edition, Prentice-Hall, 2001, ISBN 0-13-083699-0
Software engineering is the establishment and use of engineering principles to manage the human and technical components involved in creating software so that it satisfies the client's functional requirements and constraints. This course is intended as an introduction to the principles and practice of software engineering. It will cover tools and techniques used in software development to evaluate and control software quality and project progress. Topics include life cycle concepts applied to program specification, development and maintenance, the use of a specific methodology in developing large programs, program verification, and techniques for testing and quality control.
The goal of this course is
for the participant to acquire an understanding of the principles of, and skills
in current practices for, carrying out a team-sized, software engineering
project. By the end of the course, the successful participant will
This course develops abilities related to the following
of the
university's six Principles of Undergraduate Learning:
3 credits. Prerequisites: CSCI 355 and CSCI 362.
No late assignments or projects will be accepted. All assignments and projects must be turned in by the beginning of the class on the due date. There will be NO EXCEPTIONS made to this policy except for strongly justified emergencies.
Attendance at the Final Examination Period is required. Do not register for another course that has an examination period that conflicts with this one.
Follow the Standard of Conduct described below.
| Session: | Date: | Topic: | Activity: | |
| 1 | 8/22 |
Introduction to class Ethics in Software Engineering |
Read Chapt. 2, Johnson, Notes: Providing a Philosophical Basis for Ethical Decisions & Liability in Software Development | |
| 2 | 8/27 | Overview of the
Software Engineering Process |
Read Chapt. 1 Cantor; Chapts. 1, 2 Humphrey |
|
| 3 | 8/29 |
PSP
Process |
Read Chapt. 2 Cantor; Chapt. 3 Humphrey |
|
| 4 | 9/3 |
No Class |
Labor Day | |
| 5 | 9/5 |
TSP Process; Management Roles |
Assignment 1 due; Read Appendix B, G, skim Chapts. 11-15 Humphrey |
|
| 6 | 9/10 |
Capturing the Problem |
Assignment 2 due;
Read Chapt. 4 Humphrey |
|
| 7 | 9/12 |
Life Cycles |
Read Chapt. 3 Cantor |
|
| 8 | 9/17 |
Scheduling |
Assignment 3 due;
Read Appendix C, Chapt. 5 Humphrey |
|
| 9 | 9/19 |
Planning, metrics |
Read Chapts. 4, 9 Cantor | |
| 10 | 9/24 |
Project Inception Requirements Specifications |
Read Chapt. 5 Cantor; Chapt. 6 Humphrey Assignment 4 due |
|
| 11 | 9/26 |
Testing |
Read sections 9.4-9.6 Humphrey | |
| 12 | 10/1 |
High Level Design |
Read Chapt. 7 Humphrey | |
| 13 | 10/3 |
Elaboration Level of Knowledge |
Read Chapt. 6 Cantor | |
| 14 | 10/8 |
Implementation |
Read Chapt. 8 Humphrey | |
| 15 | 10/10 |
Construction Level |
Read Chapt. 7 Cantor Assignment 5 due | |
| 16 | 10/15 |
Integration Ed. Yourdon's talk at Butler U. |
Read Chapt. 9 Humphrey | |
| 17 | 10/17 |
Transition Level |
Read Chapt. 8 Cantor | |
| 18 | 10/22 |
Post Mortem |
Read Chapts. 10, 11-15, 16-18 Humphrey | |
| 19 | 10/24 | Development Project | Development Project | |
| 20 | 10/29 | Review | Development Project | |
| 21 | 10/31 | Development Project | Midterm Exam | |
| 22 | 11/5 | Development Project | Development Project | |
| 23 | 11/7 | Development Project | Development Project | |
| 24 | 11/12 | Development Project | Development Project | |
| 25 | 11/14 | Development Project | Development Project | |
| 26 | 11/19 | Development Project | Development Project | |
| 27 | 11/21 | No Class | Thanksgiving Day | |
| 28 | 11/26 | Development Project | Development Project | |
| 29 | 11/28 | Development Project | Development Project | |
| 30 | 12/3 | Development Project | Development Project | |
| 31 | 12/5 | Project Review | Presentations; Reports Due | |
| 32 | 12/10 | Review | Final Reports Due | |
| 33 | 12/17 |
FINAL EXAM: 3:30-5:30 p.m. SL 148 |
||
Your grade in this course depends upon your individual performance on Assignments, the Midterm and Final Exams, and your personal contribution to the class and to Team Projects. It also depends upon the overall quality of the team's conduct during the projects, to which you are expected to make a major and proportionate contribution.
Assignment scores accumulate on a point-wise basis, depending upon their complexity. The Midterm Exam forms 30 % of the total score for the course and the Assignments form 5 % of the total score. The Project grade consists of the Final Exam score and the accumulation of periodic Team Reports. Together these form 60 % of the total score. There is also a measure of personal contribution, which forms about 5 % of the total score. It depends upon your personal contribution to the class and team efforts. Be aware that this factor may detract from points accumulated elsewhere, reducing your score. This reflects the fact that contribution can be detrimental as well as constructive.
A student who does not turn in a reasonable response to the Final Exam, or accumulate at least 50 % of the course's total possible points, cannot expect a passing grade in the course.
Providing a Philosophical Basis for Ethical DecisionsLiability in Software Development
Class meets at Reilly room, Atherton Union, Butler University, on Monday, October 15th, for Mr. Yourdon's speech.
Check the colloquium announcement at http://butler.edu/cs/seminars/ for information on
parking and Mr. Ed. Yourdon's speech.
Withdrawals during the period when the Instructor must sign the Drop/Add slip will require justification.
A grade of I (incomplete) will only be assigned under exceptional circumstances, such as illness, that prevent students from finishing all work required in this course. A grade of I will be awarded only if a minimum of 75% of the work has been completed and the work is of passing quality. Department policy requires a contract be signed by both the instructor and the student in the assignment of any I grade. This contract outlines course work required and establishes a specific date (no more than one year) by which all unfinished work must be completed. The instructor is not required to give the student a full year to finish the work. The instructor has the right to set an earlier deadline if deemed appropriate.
Each student is expected to adhere to high standards of ethical conduct, especially those related to cheating and plagiarism, IU Code of Student Ethics (see Misconduct) . See also the Association for Computing Machinery's Code of Ethics and Professional Conduct .
In this course, you are not permitted to collaborate or consult with other students when doing the assignments and exams. You may exchange general ideas with other students when working on assignments, but the results that you turn in must be yours alone.
On a project, you will be working in a team, which will follow semiformal software engineering guidelines, such as required by ISO 9000 standards, to development a software product. Student teams will consist of members with various areas of expertise. Team members must collaborate, providing assistance for all to understand new material, in order to meet their project's requirements and schedule. During a project, you are expected to perform promptly the responsibilities that are assigned to you, and these should be distributed approximately equally among the team members. Communication with your team members concerning your and the team's progress is a key factor in achieving the team's goals.
Any deviation from these
rules will be considered a violation of the Code above. Penalties, depending on the severity
of violation, can range from a reduction in credit, no credit, or disciplinary proceedings for
cheating or plagiarism as provided by the Code.
Watch this section for future postings.
For all those who have never logged on to Phoenix, here is important information:
As a student in the Department of Computer and Information Science, you can check out a key card for the SL 251 UNIX lab. This allows you use of the lab outside of class hours. Key cards may be obtained in SL 280, Monday through Thursday, 8:00 a.m. - 5:45 p.m. Students will be required to fill out a loan form and make a deposit of $10.00 which will be refunded when the card is returned by the end of the semester. Students are also required to renew their key card on a weekly basis via e-mail or online at http://www.cs.iupui.edu/~dtauriai/keycard_renewal.html. Students failing to renew their card weekly will have their card deactivated, denying them access to the lab, and the $10.00 deposit forfeited by the student. Students failing to return their key card by the end of the academic semester will forfeit their deposit.
IT IS YOUR PERSONAL RESPONSIBILITY TO RENEW YOUR KEY CARD WEEKLY.
You are responsible for the lab and the equipment within while the key card
is in your possession. You are expected to follow all lab rules such as: no
food or drink, no playing games on the computer and no work unrelated to the
course. If a student has food or drink in the lab they will be asked to dispose
of it. If a student is found violating the other rules of the lab they will
be asked to leave, return their card and will lose their lab access deposit.
If the key is lost or stolen, please notify the Department immediately. Until
the key loss is reported, the student remains responsible for the lab and equipment.
Do not leave the lab open. For example, do not leave the door propped open while
you leave the lab to take a break. You are responsible for the equipment and
supplies there. You have a key. Keep the door locked to make sure only authorized
persons enter. The better care you take of the lab, the nicer your working environment
will be. Thank you.