Date: Tue, 26 Nov 1996 19:05:43 GMT
Server: NCSA/1.4.1
Content-type: text/html
Last-modified: Fri, 30 Aug 1996 21:02:04 GMT
Content-length: 7197
CS 381 Software Engineering
CS 381 SOFTWARE ENGINEERING
Fall 96-97
Lasted updated August 27, 1996
Computer Science Home
Page
Univ. of Idaho Home
Page
Quick links to additional course material:
Instructor:
William S. Junk,
Computer Science Dept.,
University of Idaho,
Moscow, ID 83844-1010
Telephone: 208-885-7530 /
800-824-2889
Fax: 208-885-6165
(alternate: 208-885-9052)
E-Mail: billjunk@cs.uidaho.edu
Video Tapes Are Available: The Fall 94-95 offering of the combined J381/J581 course is
available for purchase or rental. The content of that course are very similar to
that described here. Contact Engineering
Video Outreach at 1-208-885-6373 for more information.
Note: Prior to the Fall 95-96 semester, Software Engineering was offered as a
joint course combining an undergraduate
and graduate version in the same lecture section under the course
number J381/J581. Beginning in Fall 95-96 these
courses were split to better serve a diverse student population.
Prerequisites: (CS Majors) Certified for upper division course work
in computer science. (Non-CS Majors) Experience in
development of moderate sized programs in a structured, high-level language.
Knowledge of C and Pascal programming is helpful
and the ability to read and understand simple C or Pascal programs is required.
Examples in these languages will be used to
illustrate some fundamental programming ideas.
Textbook: Software Engineering: A Practitioner's Approach,
Fourth Edition, Roger S. Pressman, McGraw-Hill, 1996.
Class Meetings: The schedule is a guide to the coverage of course material.
In preparing for each class please read and study the appropriate material
in the text. There will be self evaluation and assessment forms for
you to complete on each reading assignment. We will also do in-class activities
to explore or solidify concepts. Discussion is an important part of this course.
Outside reading in trade and professional publications is also
encouraged. Some articles from professional journals may be provided for
reading.
Other information sources: There are a number of excellent publications
that provide access to contemporary writings in
Software Engineering. A number of these are listed in the section
describing the term project. In addition, the Internet has a news
posting dedicated to discussion of general software engineering topics
(comp.software-eng) and there are additional
news groups relating to special interest areas.
Homework: There will be about fifteen homework assignment given
in this course. Normally, homework assignments are due at the start of
the next class session. If you are allowed additional time for a
particular assignment it will be indicated in the instructions. If your
response to the assignment requires more than one page, staple the pages
together in the upper left corner. Make sure your name is on the first
page of the assignment.
Exams: A mid-term and a final exam will be given.
The exams will be given on the dates indicated in the course schedule.
COURSE OVERVIEW
This course will study some of the major problem areas in software development
and will review, analyze, and apply many of the new techniques being used
in the development of medium to large scale software
systems. Although the emphasis for their development has stemmed
from large project environments, most
of the techniques can be easily adapted and applied to smaller projects
as well, with the similar expectations
of improved project performance. This is not a programming project
course, but we will extensively study
the software development process. Major topics to be covered include:
- Software Engineering Concepts & Historical Perspectives
- Software Life Cycle Paradigms
- Software Requirements Definition -- traditional and OO
- Software Design Methodologies -- traditional and OO
- Verification and Validation
- Software Quality
- Management Considerations in Software Development
We will also cover topics of contemporary importance including,
Software Quality Assurance, Total Quality Management, Object-Oriented
Development, and Software Process Maturity.
A "survey" textbook has been selected for use in this course, but the
most up to date material can only be found in the recent technical
literature. Examples include the IEEE Transactions on Software Engineering,
IEEE Transactions on Reliability, IEEE Computer, Communications of the ACM,
ACM SIGSOFT Notices, and IEEE Software. Most of these are available at the
U of I library. Selected articles may be assigned for reading and study
during the semester to supplement the text. Some of them will be discussed
in course lectures.
A term project on an approved topic relating to a software engineering
discipline is also required. In preparing the term project,you will
need personal access to a reasonable technical library.
GRADING
Final course grades will be determined on the following basis:
Collected Homework 20 %
Mid-term Exam (2) 20 %
Term Project 25 %
Final Exam 25 %
Class Participation 10 %
A numerical grading system will be employed with the final grade
based on the weighted sum of the points accumulated in each of the
above categories. Final grades will be determined by a "curve" based
on class performance, but in no case will the curve be more severe
than a standard (90, 80, 70, etc.) curve.
CLASS PARTICIPATION
All students are expected to make a regular contribution to the class.
You should be prepared to offer your
comments regarding material presented, ask interesting questions during class,
and respond with good answers to questions asked in class. You may also
make contribution via e-mail. A significant contribution about every other
week is considered a satisfactory participation level.
Computer Science Home
Page
Univ. of Idaho Home
Page
billjunk@cs.uidaho.edu