Meeting time: Monday, Wednesday, Friday, 15:10 - 16:00, Jan 9 - April 28
Location: Sloan Hall 169 (Pullman campus)
Instructor: Haipeng Cai
Resources
Course Description
Software engineering is a subject that concerns the holistic process of software development, distilling the common principles for constructing and maintaining quality software products independent of particular programming languages used. The core of this subject is characteristics of a lifecycle model that covers different phases of software development process, including requirement analysis, software design, implementation, testing and validation, evolution and maintenance. Here the principles of software engineering are instructed through two complementary courses, Software Engineering I and Software Engineering II (CptS 422). Beyond an introduction to the holistic software process at first, this course will mainly focus on the first two phases, requirement analysis and design, covering object-oriented and functional paradigms.
Content Overview
The core content is the generic software process and concrete software process models, requirement engineering and various analysis model elements, design engineering and various design model elements, and introduction to quality assurance, software testing and software project management. Students will also learn valuable skills necessary for software engineering practices, including using version control system, creating project plan, soliciting requirements, creating design models, and practicing validation and verification activities. Students will participate in a semester long group project to gain hands-on experiences applying software engineering principles and techniques.
Learning Objectives
This course will help students achieve the following objectives:
Prerequisites
Students taking this course are expected to have already taken CptS 222 or CptS 223 with a grade C or better (NO concurrent enrollment). Through these prerequisite courses, students should have gained a solid background in data structures and object-oriented programming (C/C++ or Java).
Textbook
[SEPA] R. Pressman, Software Engineering: A Practitioner's Approach, 7th edition, McGraw-Hill. 2009. ISBN-10: 0073375977. (8th edition is good too.)
Supplemental Materials
[MMM] Frederick P. Brooks, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition. Addison-Wesley Professional. ISBN-10: 0201835959.
[ISSE] Ian Sommerville, Software Engineering, 9th edition, Addison-Wesley. ISBN-10: 0137035152.
Content Outline
| Topic | Related textbook chapters |
| Course overview and introduction to software engineering | 1 |
| Software life cycle and process model | 2 |
| Agile development | 3 |
| Software practices | 4 |
| Software requirement engineering | 5 |
| Requirements modeling | 6-7 |
| Software design engineering | 8 |
| Architectural and component-level designs | 9-10 |
| User interface design | 11 |
| Quality management | 14-16 |
| Software testing strategies | 17 |
| Software testing techniques | 18-19 |
| Software project management | 24 |
Grading
The final course grade will be calculated using the following breakdown and be converted from numeric numbers to letter grades using the scale mapping as follows. In addition to these basic components of grade, extra/bonus points can be earned through quizzes and extended class participation. There are three forms of extended class participation: in-class discussion, Piazza activities, and office-hour attendance. It is at the instructor’s discretion to calculate the extra/bonus points at the end of the semester.
Breakdown | Scale mapping | ||||||||||||||||||||||||||||||||||||||||
|
|
Class Participation
We will communicate announcements and lecture notes as well as off-class Q&A and extended discussions through Pizza. Blackboard will be used also but mainly for homework and project milestone submission and grading. Please make sure you have activated your Piazza account and joined this course over there as soon as possible. For questions on course materials, lectures, homework assignments, and course project milestones, contact the instructor/TA on Piazza by sending private posts instead of by emails to facilitate communication management (unless you change the privacy setting per post, your posting will be private by default and only the instructor/TA can access it). The course Piazza site is https://piazza.com/wsu/spring2017/cpts322/home.
Attendance is expected at all lectures. Although lecture notes will be posted online, reading the notes is not an adequate substitute for attendance. You are also expected to participate in class discussions to a reasonable extent. This aids learning and provides valuable feedback on the lecture. If you know you will miss a lecture for an approved reason such as a university activity, religious holiday, military service, or a medical appointment, notify the instructor ahead of time. If you are participating in a university activity the supervisor of the activity should provide you with documentation. Others should provide a written explanation in their own words by email -- documentation from medical personnel is NOT required but YOU must document the absence. If you are unexpectedly sick or otherwise unable to attend due to an emergency, contact the instructor as soon as possible. If you miss a class, arrange with a fellow student to get and digest the corresponding notes in addition to finishing the assigned reading.
While attendance will not be formally taken in every class, it will be sampled randomly at the discretion of the instructor. The basic participation credit that accounts for 5% in final grade will be calculated using the sampled attendance records. Bonus points can be earned through the extended participation as described in the section on grading above.
Prior to each lecture, students are expected to complete the assigned reading. The reading materials for each lecture can be found in the detailed class schedule. Most of these readings are textbook sections that are closely related to the lecture topic, but some readings are chosen from other sources such as the supplementary materials specified. Note that the schedule is subject to change, and it is the responsibility of students to regularly check out the schedule page. In addition, students are expected to maintain a professional and respectful classroom environment, for which students are suggested to:
Homework/Project Policies
Homework assignments usually require 1-2 weeks to complete. These assignments with respective due dates will be announced in class and
posted on Blackboard (and Piazza). You are encouraged to take advantage of office hours of both the instructor and TA if you have questions for
homework/project assignments.
The progress of a semester-long group project will be measured by milestones. The objectives, requirements, and deadline of each milestone will be
communicated the same way the homework assignments are managed. For each milestone, your group will be required to submit a written report, code, and/or test
cases to demonstrate the progress of the group. Each member of the group will initially receive the same credit based on the quality and timeliness of group
submissions, and will be later adjusted according to in-group peer evaluation by the end of the project.
Unless specified otherwise, each homework or project milestone shall be created and submitted electronically as a single PDF on Blackboard prior to the
deadline which is 11:59 pm of the posted due date. Typically the homeworks are due on Fridays and project milestones on Mondays.
The penalty of submitting within one week after the due date is a flat 10% point deduction if the
instructor is noticed about and consents the late submission before the deadline, or would be the receipt of zero point otherwise. Submissions more than
one week late will be declined without prior notice or special permission from the instructor. Note that by the end of the semester, missing any homework
or project milestone submission will lead to an “I” (incomplete) grade except for extenuating cases communicated to the instructor in advance.
Academic Integrity / Honor Code
The fundamental requirement for all student work in this class is: Unless otherwise explicitly permitted by the instructor, all work you turn in must be your own. Any instance of academic dishonesty, as defined in the WSU Student Handbook, in this class will be dealt with severely (typically by failing the class) and reported to the WSU Office of Student Conduct. Note in particular that it is dishonest not only to copy another student's work, but to permit another student to copy yours. Nevertheless, realizing that students can assist each other in understanding general course material, there are limited ways in which student collaboration is permitted:
It will be up to the discretions of the grader (if applicable) and instructor to determine if any assignment shows evidence of collaboration beyond these limits. Any attempt to circumvent the spirit of these rules will be treated as a violation of the fundamental requirement. If you are in doubt, do not give help to or request it from another student: That's what office hours are for. Information on WSU Academic Integrity can be found at www.academicintegrity.wsu.edu and conduct.wsu.edu, and the WSU Honor code is on https://provost.wsu.edu/tag/wsu-honor-code/. Please also read the EECS Academic Integrity Policy carefully. Use these resources to ensure that you do not inadvertently violate WSU's standard of conduct.
Accommodations
Reasonable accommodations are available for students who have a documented disability. Classroom accommodation forms are available through the Access Center (Washington Building 217; 509-335-3417). If you have a disability and need accommodations to fully participate in this class, please either visit or call the Access Center (Washington Building 217; 509-335-3417) to schedule an appointment with an Access Advisor. All accommodations MUST be approved through the Access Center. For more information, consult the webpage http://accesscenter.wsu.edu or email at Access.Center@wsu.edu.
Safety Information
The Campus Safety Plan contains a comprehensive listing of university policies, procedures, statistics, and information relating to campus safety. The University Emergency Management provides campus safety and emergency information. The University Emergency Alert provides information about emergencies and communication resources WSU will use to provide warning and notification during emergencies.
Classroom Safety is also of paramount importance at Washington State University, and is the shared responsibility of the entire campus population. WSU urges students to follow the "Alert, Assess, Act" protocol for all types of emergencies and the "Run, Hide, Fight" response for an active shooter incident. Remain ALERT (through direct observation or emergency notification), ASSESS your specific situation, and act in most appropriate way to assure your own safety (and the safety of others if you are able). Please sign up for emergency alerts on your account at MyWSU.