Instructor: Carol Taylor, Computer
Science Dept., University of Idaho, Moscow, ID
Office: JEB 340
Telephone:
208-885-5276
E-Mail: ctaylor@cs.uidaho.edu
Guest Lecturer: Bill Junk, Compter
Science Dept., University of Idaho, Moscow,
ID
Office: JEB
324
Telephone: 208-885-7530
E-Mail: billjunk@cs.uidaho.edu![]()
Class Location:ALB 202
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, C++, or Java programming is helpful and the ability to read and understand C or C++ programs is required. Examples in these languages may be used to illustrate some fundamental software engineering concepts.
Textbook: Software Engineering - A Practitioner's Approach, 6th Edition, Roger S. Pressman, McGraw Hill, 2005, ISBN 0-07-285318-2.
Other information sources: There are a number of excellent publications that provide access to contemporary writings in Software Engineering. 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. A number of these are listed in the section describing the term project. In addition, the Internet has many news posting dedicated to discussion of software engineering topics.
Class Meetings: The course 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. 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.
Disability Support Services
Reasonable Accommodations Statement:
* 885-7200
* email at dss@uidaho.edu
* http://www.access.uidaho.edu/ or www.webs.uidaho.edu/aap
Homework (35%): There will be many individual exercises given. Normally, exercises are due at the start of the next class session. If you are allowed additional time for a particular exercise it will be indicated in the instructions. Written exercises are to be computer printed. Hand written exercises will not be accepted. Drawings may be done by hand, if carefully prepared. If your response to the exercise 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 exercise. Do not e-mail your exercises! Bring the hardcopy to class or turn it in at the CS department office. Solutions may be discussed in class so don't expect late work to be accepted.
Exams (40%): A mid-term (15%) and a final exam (25%) will be given. The exams will be given on the dates indicated in the course schedule. Exams will be used as a way of providing you with feedback on your progress in learning the course material.
Term Project (25%): A term project on an approved topic relating to a software engineering discipline is also required. The term project will allow you to demonstrate your depth of knowledge in an area of software engineering.
Class Participation (5%): 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 are especially encouraged to make contribution via e-mail. A significant contribution each week is considered a satisfactory participation level.
Academic Integrity: Suffice it to say that academic integrity is expected and academic dishonesty will not be tolerated. Specific guidelines will be discussed at the first class meeting. Check this link for more details.
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:
Time permitting we will also cover topics of contemporary importance including, Software Quality Assurance, Total Quality Management, Object-Oriented Development, Component Development, Team Environments, Extreme Programming, and Software Process Maturity.
![]()