Jody Paul (Logo) Dr. Jody Paul – EducationMSCD Courses
Software Engineering Principles
jody@acm.org    
     
Link to Home Page for Jody Paul Link to the Education section main page Link to Software Engineering section Link to Music section Link to Recommendations section
    Link to MSCD Courses page        

Course Information

Title: Software Engineering Principles
Institution: Metropolitan State College of Denver
Course ID: CS 4250
Semester [CRN]: Fall 2010
Meeting Times:

Tuesdays & Thursdays 5:00PM - 6:50PM

Location:

South 231

Credit Hours: 4
Prerequisites:

For Fall 2010 — CS2050, COM 2610, PHI 3370

Course Website: http://www.jodypaul.com/cs/sweprin
Course Support: http://www.jodypaul.com/moodle/
Instructor: Dr. Jody Paul (schedule & office hours)
E-mail: jody@cse.mscd.edu
Office: Admin 420F (x68435)
Campus Mail: Campus Box 38

Course Details, Policies, Resources, Schedule of Topics, Assignments

Course Description

This course provides an overview of the principles of software engineering and an opportunity to investigate critical activities necessary for success. The software development life cycle provides the framework, with emphasis on the activities that surround the writing of source code.

Major topics include: Software Life Cycle Models (comparative analysis); Requirements Engineering; Verification & Validatio;, Metric;, Architecture & Design; Implementation; Debugging & Testing; Maintainability; Roles & Responsibilities; Deliverables & Milestones

Participants will locate, critically review and use outside resources related to the domain.

Prerequisites: For Fall 2010 — CS2050, COM 2610, and PHI 3370; or permission of instructor.

Course Objectives

Expected learning outcomes that students should be able to do upon completion:
  • Enumerate, define and relate phases in software development processes
  • Describe the activities performed in the software development process
  • Develop a coherent set of software specifications for a particular application
  • Apply any of several design methodologies to the design of a software artifact
  • Develop and implement test plans
  • Describe the activities associated with maintenance
  • Describe and utilize configuration management processes
  • Perform an impact analysis for a change request as it applies to a software artifact
  • Analyze a software development project and determine applicable and appropriate software engineering principles and practices
  • Evaluate the effectiveness of a given set of software engineering practices
  • Assess the effectiveness of software engineering processes, practices, products, and artifacts associated with a software engineering development effort
  • Work collaboratively and cooperatively with others as a team that produces selected software engineering products and artifacts
  • Describe ethical principles and guidelines such as the “Software Engineering Code of Ethics” as they apply to the practice of software engineering
  • Create and deliver quality presentations (individually and as part of a team presentation) related to selected aspects of software engineering processes, practices, products, and artifacts

Resources

Book Cover - Link to Amazon

Essentials of Software Engineering, Second Edition
by Frank F. Tsui and Orlando Karam
Jones & Bartlett (2009); ISBN 0763785342
REQUIRED

Book Cover - Link to Amazon

The Deadline: A Novel About Project Management
by Tom DeMarco
Dorset House (1997); ISBN 0932633390
REQUIRED

Book Cover - Link to Amazon

Refactoring Workbook
by William C. Wake
Addison-Wesley (2004); ISBN 0321109295
REQUIRED - (Available new & used at Amazon)

The following references are also recommended.
Book Cover - Link to Amazon

Balancing Agility and Discipline
by Barry Boehm & Richard Turner
Addison-Wesley (2004); ISBN 0321186125
STRONGLY RECOMMENDED

Book Cover - Link to Amazon

Extreme Programming Refactored
by Matt Stephens & Doug Rosenberg
Apress (2003); ISBN 1590590961

Book Cover - Link to Amazon

Refactoring: Improving the Design of Existing Code
by Martin Fowler
Addison-Wesley (2000); ISBN 0201485672

Book Cover - Link to Amazon

Exploring Requirements: Quality Before Design
by D. C. Gause and G. M. Weinberg
Dorset House (1989); ISBN 0932633137

Book Cover - Link to Amazon

The Mythical Man-Month (Anniversary Edition)
by F. P. Brooks, Jr.
Addison-Wesley (1995); ISBN: 0201835959

Book Cover - Link to Amazon

Mastering the Requirements Process (2nd edition)
by S. Robertson and J. Robertson
Addison-Wesley (2006); ISBN 0321419499

Book Cover - Link to Amazon

Facts and Fallacies of Software Engineering
by R. L. Glass
Addison-Wesley (2002); ISBN 0321117425

Book Cover - Link to Amazon

Waltzing With Bears: Managing Risk on Software Projects
by T. DeMarco & T. Lister
Dorset House (2003); ISBN 0932633609

Book Cover - Link to Amazon

Software Engineering: A Practitioner's Approach (7th ed.)
by Roger S. Pressman
McGraw-Hill (2009)
ISBN 007301933X

Course Information & Policies

You are expected to prepare for class sessions (reading, preparatory exercises, etc.), to participate in class discussions and exercises, and to make several in-class presentations. (Note that participation in class discussions and exercises is mandatory.)

Assignments, Practice & Self-Assessment

Practice is vital to applying course knowledge to real-world applications. Assignments represent your opportunity to practice applying the concepts and thereby enhance your understanding. Some assignments will have prerequisite assignments and may be submitted only after successful completion of the associated prerequisites.

Reflection: An individual write-up is required for every assignment, in which you are expected to reflect on the experience of working on the assignment and report personal insights and observations. This should be labeled "Reflection" and limited to 1 page maximum.

Projects

Several extensive projects are required of all participants. Details will be provided in class and on the course support website.

Grading

Alphabetical grades and status symbols are as defined by MSCD Academic Policies and Procedures:

A — Superior (4 quality points / semester hour)
B — Above Average (3 quality points / semester hour)
C — Average (2 quality points / semester hour)
D — Below Average but Passing (1 quality point / semester hour)
F — Failure (0 quality points / semester hour)

The final course grade is determined by combining scores on in-class activities, homework, assignments, projects and exams. You are guaranteed a grade no lower than that computed by the following distribution of total points and weighted conversion to letter grade:

40% – Individual Assignments and Contributions
20% – Group Projects
15% – Midterm Exam
25% – Final Exam

You are guaranteed a grade no lower than that given by the following conversion of score (percentage of total possible) to letter grade:

100-90%: A;  89-80%: B;  79-70%: C;  69-60%: D;  59-0%: F

A substantial amount of information will be disseminated during class sessions or on course websites that you will be responsible for knowing whether or not you attended the sessions or accessed the websites. Note in particular that the textbooks and references do not provide all of the information necessary to successfully complete the course requirements.

Every assignment and project turned in must include a section (maximum 1 page) labeled Reflection that includes your personal insights and observations. This reflection is required, whether or not the assignment specification mentions it explicitly.

Early assignments are eligible for a 10% bonus if a final version is turned in four or more days before the original due date. Late assignments will earn 30% of the credit if turned in within one week of the original due date, 10% of the credit if turned in within two weeks, and no credit after that. Unforeseeable illness, crises, and emergency situations will be dealt with on a case-by-case basis in accordance with MSCD, College, and Departmental policies.

Formats of documentation files turned in for assignments must not depend on specific operating system or software that requires purchase or paid licensing. The following are examples of generally acceptable formats: ASCII text, UNICODE text, HTML, RTF, PDF, GIF, JPEG, PNG. The following are examples of unacceptable formats: Microsoft Word, AppleWorks, PowerPoint. If your assignment submission consists of multiple files, please bundle them into an archive in tar, gz, or zip format.

Collaboration

Collaboration is encouraged and regarded as an essential aspect of learning Computer Science and Software Engineering. Collaboration and discussion with fellow students concerning course information, materials, assignments, projects, proofreading, and concept exploration is strongly encouraged. You are not expected to learn the course content or work on assignments and projects in isolation on your own.

Most project work in this course will be collaborative in nature. However, assignments that are used for individual assessment must be written up on your own, reflecting your individual effort, even if the solution is the result of a collaborative effort. In your write-up, you must credit the people with whom you worked.

Remember that you must write and turn in a personal reflection for every collaborative effort, as well as every individual effort.

If you consult any sources, please note in your document the materials that you used. Turning in work that does not credit collaborators, or includes uncited quotations or references, will be treated as academic dishonesty and an attempt at fraud. Collaboration during exams is never acceptable. All incidents of suspected dishonesty will be reported to the department and the Dean of the college. Consequences may include a grade of 0 on the assignment, a grade of "F" for the course, academic probation, or dismissal from the institution. This is a very serious matter and should not be taken lightly. If you have any uncertainty or concerns, please discuss them with your instructor or advisor.

Special Note: Because group work represents a significant aspect of this course, if you think you will drop, do your classmates a favor and drop early. If you drop after you are assigned to a team, your fellow students are adversely impacted.

Team deliverables are expected to be a joint effort involving all team members. An overall grade will be assigned for each deliverable that reflects the quality of product. An individual grade for each team member will also assigned for each deliverable. This individual grade will be a combination of instructor assessment and peer assessments. You will be expected to assess each team member's contribution (including your own) for each deliverable.

Quiet Period

The 24-hour period immediately preceding the due date/time for each assignment and project is considered a quiet period. During that 24-hour interval, no questions directly referencing that specific assignment/project will be addressed by the professor. All students are strongly encouraged to complete significant work on assignments and projects well in advance of this quiet period.

Official Announcements

Official policies applicable to all courses: http://cs.mscd.edu/metadot/index.pl?iid=2249

Also see the MSCD College Catalog at http://www.mscd.edu/academic/catalog/ for official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities, and the Academic Calendar at http://www.mscd.edu/academic/acal.htm for additional official dates and deadlines, including the last dates to withdraw and receive NC (with and without faculty signatures).

Valid HTML 4.01 Transitional ©2002, 2004, 2006, 2007, 2008, 2009, 2010 Dr. Jody Paul – All Rights Reserved