CptS 322: Software Engineering Principles I

Fall 2016


Meeting time: Monday, Wednesday, Friday, 12:10pm - 1:00pm, Aug 22 - Dec 09
Location: Sloan Hall 150 (Pullman campus)

Instructor: Haipeng Cai

Teaching Assistant: Mohammad Namaki

Annoucements

Detailed lecture schedule

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 software specification (including formal methods), prototyping, and design (including object-oriented and functional paradigms).

Goals:

The core content is the overall software process, requirement analysis , specification, design, project management, quality assurance, and risk management. Students will also learn valuable skills necessary for software engineering practices, including using version control system, creating project plan, soliciting requirement, creating design, and practicing validation and verification activities. Students will participate in a semester long project to give them hands-on experience with software engineering principles. In the project students will practice principles and techniques introduced in the class, and follow software process models in development efforts. The objective is to experience a particular method for the systematic development of large software systems. Students will learn what it takes to build real software products.

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).

Textbooks:

[SEPA] R. Pressman, Software Engineering: A Practitioner's Approach, 7th edition, McGraw-Hill. 2009. ISBN-10: 0073375977.

Supplemental Materials: [MMM] Frederick P. Brooks, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition. Addison-Wesley Professional. ISBN-10: 0201835959.

Content outline and suggested readings:

Topic Hours Chapters
Course overview and introduction to software engineering 3 1
Software life cycle and process model 3 2
Agile development 1.5 3
Software practices 1.5 4
Software requirement engineering 1.5 5
Requirements modeling 9 6-7
Software design engineering 1.5 8
Architectural and component-level designs 9 9-10
User interface design 1.5 11
Quality management 1.5 14-16
Software testing strategies 3 17
Software testing techniques 6 18-19
Software project management 1.5 24

Grading:

Breakdown

Homework assignments
(4 assignments, each accounting for 5%)
20%
Course project
(8 milestones, each accounting for about 5%)
40%
Midterm exam
(in-class; part I: 12:10pm-1:00pm, Oct. 5th; part II: 12:10pm-1:00pm, Oct. 7th)
20%
Final exam
(in class; 1:00pm-3:00pm, Dec. 12th)
20%
(Note: bonuses can be earned through quizzes and additional merits of course project submissions.)

Scale mapping

Score Letter grade Score Letter grade Score Letter grade
>=93 A [80,83) B- [66,70) D+
[90,93) A- [77,80) C+ [60,66) D
[87,90) B+ [73,77) C <60 F
[83,87) B [70,73) C-

Piazza site: https://piazza.com/wsu/fall2016/cpts322/home

We will communicate announcements and important notes as well as off-class Q&A and extended discussions through Pizza. Please make sure you have activated your Piazza account and joined this course over there.

Homework/project policies:

Homework assignments usually require 1-2 weeks to complete. Homework assignments with their respective due date will be announced in class and posted on this course website. You are encouraged to take advantage of office hours if you have questions for homework assignments. Unless posted, homework and project documents shall be edited and submitted electronically.

The progress of semester-long project will be measured by milestones. The objectives, requirements, and deadline of each milestone will be posted in the project section. At each milestone, you may be required to submit a written report, code, or test cases to demonstrate your progress.

Late penalty is a flat 10% point deduction. Late assignments may be turned up to one week after the original due date and an advanced notice must be given to the instructor beforehand for the late submission. No homework will be accepted after its due day without advanced notice or special permission from the instructor.

Classroom policies:

Class attendance is strongly encouraged for the best understanding of the course materials as well as for enhancing communication skills with other students and benefiting from in-class discussions. In addition, students are expected to maintain a professional and respectful classroom environment, for which students are suggested to:

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.