![]() |
Dr. Jody Paul – Education – MSCD Courses Software Engineering Principles |
| jody@acm.org | ||
| Title: | Software Engineering Principles |
| Institution: | Metropolitan State College of Denver |
| Course ID: | CS 4250, Section 2 |
| Semester [CRN]: | Fall 2007 [54991] |
| Meeting Times: | Mondays & Wenesdays 5:00PM - 6:50PM |
| Location: | |
| Credit Hours: | 4 |
| Prerequisites: | CS 3050, COM 2610, PHI 3370, and senior standing. |
| 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: | Science 225C (x68435) |
| Campus Mail: | Campus Box 38 |
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. Post-implementation — which represent eighty percent of the life cycle during which the software evolves as it is in use — is considered in depth.
Major topics include: Software Life Cycle Models (comparative analysis), Requirements Engineering, Verification & Validation, Metrics, Architecture & Design, Implementation, Debugging & Testing, Maintainability, Roles & Responsibilities, Deliverables & Milestones
Participants will perform various role-playing activities in which they represent key stakeholders during the development process.
Participants will locate, critically review and use outside resources related to the domain.
Expected learning outcomes that students should be able to do upon completion:
- Enumerate and define the phases in the software development process
- Describe the activities performed in each of the phases and how each phase relates to the others
- Develop a coherent set of software requirements for a particular application
- Convert a set of requirements into validatable specifications
- Apply any of several design methodologies to the design of a software artifact
- Develop and implement a test plan that will adequately exercise a software artifact with the purpose of discovering defects
- Enumerate and define the steps in the post-implementation phases
- Describe the activities associated with corrective, adaptive, and perfective maintenance
- Develop a software maintenance schedule and relate it to the configuration management process
- Perform an impact analysis for a change request as it applies to a software artifact
- Analyze a software development project and determine the most appropriate software engineering principles and practices for the given situation
- Evaluate the effectiveness of a given set of software engineering practices and make recommendations for changes that can improve the software development project
- Analyze a software development project to determine missing or inappropriate software engineering practices
- Assess the quality of software engineering processes, practices, products, and artifacts associated with a software engineering development effort
- Describe ethical principles and guidelines such as the “Software Engineering Code of Ethics” as they apply to the practice of software engineering
- Work collaboratively and cooperatively with others as a team that produces selected software engineering products and artifacts
- Create and deliver a quality presentation (individually and as part of a team presentation) related to selected aspects of software engineering processes, practices, products, and artifacts associated with a software engineering project
You are expected to prepare for class sessions (reading, preparatory exercises, etc.), to participate in class discussions and in-class exercises, and to make several in-class presentations. (Note that participation in class discussions and exercises is mandatory.) There will be homework assignments and projects that you are required to complete and turn in. Your final course grade is determined by combining scores on the exercises, presentations, assignments, projects, and exams. 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%: FA 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.
Late assignments will not earn course credit. You may submit an assignment after its due date for comments and advice, and you are encouraged to do so. However, the score for that assignment will be recorded officially as 0. Likewise, missing an in-class exercise will result in a score of 0 for that exercise. Late homework and make-up exercises will not be accommodated without prior arrangement and written agreement. Unforeseeable 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 systems or software that require purchase or paid licensing. The following are examples of acceptable formats: ASCII text, UNICODE text, HTML, RTF, PDF, GIF, JPEG, PNG. The following are examples of unacceptable formats: Microsoft Word, AppleWorks, PowerPoint. If the assignment product consists of multiple files, please bundle them into an archive in tar, gz, or zip format.
Collaboration
Collaboration is encouraged and regarded as essential aspect of learning, education, 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.
You must write and turn in a personal reflection for every collaborative as well as 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.
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).