CPSC 871: Introduction to Software Engineering
Instructors: Dr. John D. McGregor
Associate Professor, School of Computing
312 McAdams Hall; phone 864-656-5859; email: johnmc@cs.clemson.edu
Office Hours: TTh: 11:00 – 12:15; other hours by appointment
Catalog Description:
CP
SC 871 Foundations of Software Engineering 3(3,0) Techniques
and issues in software design and
development; tools, methodologies and environments
for effective design, development
and testing of software; organizing
and managing the development
of software projects. Preq:
Graduate
standing in Computer Science.
Course Objectives:
· Provide experience in an end-to-end software engineering process
· Provide exposure to state-of-the-practice and state-of-the-art software engineering methods
· Provide criteria for evaluating alternative methods for each software engineering task
· Provide a foundation for further study in software engineering
Textbooks:
Instructor notes and available internet resources
|
2 Exams (including final) |
60 points |
|
Assignments |
35 points |
|
Class participation |
5 points |
|
|
|
1. No late assignments accepted.
2. No makeup exams.
3. All work should be completed independently
(without the assistance of anyone except the instructor or someone he
designates) unless explicitly stated otherwise in the assignment.
4. It is expected that students will wait at
least 15 minutes from the scheduled start time for class before leaving because
the instructor has not arrived. (I am a professional and will treat you
professionally. Only in a VERY VERY rare case would I
not either give prior notice OR send someone to explain the delay.)
5. The university’s academic integrity
statement says: As members of the Clemson University community, we have
inherited Thomas Green Clemson's vision of this institution as a "high
seminary of learning." Fundamental to this vision is a mutual commitment to
truthfulness, honor, and responsibility, without which we cannot earn the trust
and respect of others. Furthermore, we recognize that academic dishonesty
detracts from the value of a Clemson degree. Therefore, we shall not tolerate
lying, cheating, or stealing in any form. See:
http://www.cs.clemson.edu/html/academics/academic_integrity_2002.html for more.
6. Students with disabilities requesting
accommodations should make an appointment with Dr. Arlene Stewart (656-6848),
Director of Disability Services, to discuss specific needs within the first
month of classes. Students should present a Faculty Accommodation Letter from
Student Disability Services when they meet with instructors. Accommodations are
not retroactive and new Faculty Accommodation Letters must be presented each
semester.
7. Clemson University is committed to a policy
of equal opportunity for all persons and does not discriminate on the basis of
race, color, religion, sex, sexual orientation, gender, pregnancy, national
origin, age, disability, veteran’s status, genetic information or protected
activity (e.g., opposition to prohibited discrimination or participation in any
complaint process, etc.) in employment, educational programs and activities,
admissions and financial aid. This includes a prohibition against sexual
harassment and sexual violence as mandated by Title IX of the Education
Amendments of 1972. This policy is located at
http://www.clemson.edu/campus-life/campus-services/access/title-ix/. Mr. Jerry Knighton is the Clemson University Title IX Coordinator. He
also is the Director of Access and Equity. His office is located at 111 Holtzendorff Hall, 864.656.3181 (voice) or 864.565.0899
(TDD).
Topical course
outline:
|
Development module |
Quality counterpart module |
|
Introduction |
Process models |
|
Requirements elicitation/analysis |
Requirements review |
|
Team work/project management |
Version control |
|
Architecture |
|
|
Architecture analysis |
Architecture evaluation - ATAM |
|
Design patterns |
|
|
Systems of Systems |
Interaction testing |
|
Component-based Software Engineering |
Verification and Validation |
|
Detailed design |
Design reviews\verification
techniques |
|
Design of user interfaces |
Usability testing\verification
techniques |
|
Interface specification |
Unit testing\verification techniques |
|
Implementation issues |
Realization tools |
|
Integration |
Integration testing\verification
techniques |