Software Engineering
CS 410 - Fall 2018
Catalog description:
Prerequisite: CS 253. An examination of the software development process from the initial requirement analysis to the operation and maintenance of the final system. The scope of the course includes the organization of software development projects, the verification and validation of systems, the problems of security and privacy, and the legal aspects of software development, including software protection and software liability.
Logistics
Instructor | Dr. Stan Kurkovsky, Professor of Computer Science |
Office | MS 303-06 |
Phone | (860) 832-2720 |
kurkovsky@ccsu.edu | |
Office hours | MW 1:30-3:00pm, TR 12:30-1:30 pm @ MS 303-06 |
Class meetings | TR 1:40 - 2:55pm @ MS 204 |
Textbook and other things you will need
- Software Engineering by Ian Sommerville, 10th edition.
Pearson, 2015, ISBN 0133943038 - In-class handouts
- Textbook supplements available at http://iansommerville.com/software-engineering-book/
- Instructor's web site available at http://www.cs.ccsu.edu/~stan/ and other web sites recommended by the instructor
- Course project document
Course learning outcomes
Program educational objectives and student outcomes are supported by the following course learning outcomes achieved by students upon a successful completion of this course:
- CLO-1: Analyze a complex software problem and to apply principles of computer science to identify solutions (ABET SO-1);
- CLO-2: Design, implement, and evaluate a software solution to meet a given set of functional, non-functional, and domain requirements (ABET SO-2);
- CLO-3: Communicate technical information orally and in writing (ABET SO-3);
- CLO-4: Understand professional, ethical, and social responsibilities of a software engineering professional (ABET SO-4);
- CLO-5: Function effectively as a member or leader of a software development team (ABET SO-5);
- CLO-6: Apply computer science theory and software engineering fundamentals to produce software solutions (ABET SO-6).
Tentative schedule
Reference: S - Sommerville, Software Engineering, 10th edition
Week 1: August 28 - September 1
- Lecture: What is software engineering?
Reading: S 1 - Lecture: What is software engineering? (cont.)
Reading: S 1
Week 2: September 3 - September 7
- September 3 - Labor Day
- Course project discussion
- Lecture: Software processes
Reading: S 2
Project team info sheet is due
Week 3: September 10 - September 14
- Lecture: Agile software development
Reading: S 3 - Course project discussion: meet product owners
Week 4: September 17 - September 21
- Hands-on introduction to scrum
Project proposal is due - Hands-on introduction to scrum (cont.)
Week 5: September 24 - September 28
- Lecture: Requirements engineering
Reading: S 4 - Lecture: System modeling
Reading: S 5
Week 6: October 1 - October 5
- Lecture: Architectural design
Reading: S 6 - Project requirements document is due
Week 7: October 8 - October 12
- Lecture: Design and implementation
Reading: S 7 - Course project discussion
Week 8: October 15 - October 19
- Hands-on case study
- Hands-on case study debrief
Product backlog document is due
Week 9: October 22 - October 26
- Lecture: Software testing
Reading: S 8 - Midterm
Week 10: October 29 - November 2
- Lecture: Software evolution
Reading: S 9 - Lecture: System dependability
Reading: S 10
Iteration 1 report document is due
Week 11: November 5 - November 9
- Lecture: Reliability engineering
Reading: S 11 - Lecture: Safety engineering
Reading: S 12
Week 12: November 12 - November 16
- Hands-on case study
- Hands-on case study debrief
Iteration 2 report document is due
Week 13: November 19 - November 23
- Lecture: Security engineering
Reading: S 13 - November 21-25 - Thanksgiving Recess
Week 14: November 26 - November 30
- Lecture: Resilience engineering
Reading: S 14 - Lecture: Project management
Reading: S 22
Week 15: December 3 - December 7
- Project demonstrations
Iteration 3 report document is due - Project demonstrations
User manual document is due
Final: December 13
- Final exam: Thursday, December 13, 1:00 - 3:00 pm
Midterm and final exams
Each test will focus on the most recent material. However, each test will very likely include some questions aimed at the material covered by the earlier test(s). Make-up tests may only be given if a student can provide a written proof of a serious reason for missing a test (such as illness or accident).
Hands-on case studies
Each case study will present students with a realistic problem or a plausible situation within a software development project. Working individually, in pairs, or in small teams, students will identify one or several solutions to the presented problem. Students will receive points for a case study only if they attend and participate in both the case study and its debrief session. No make ups will be available for missed case studies.
Course project
While working on the course project, students will use the knowledge and skills obtained in this course covering many if not all of the course topics. Working in teams, students will design, implement and document a software system to meet the requirements of an external customer.
Course project is described in detail in this document.
Academic misconduct
All students are expected to demonstrate integrity in the completion of their coursework. Academic integrity means doing one's own work and giving proper credit to the work and ideas of others. It is the responsibility of each student to become familiar with what constitutes academic dishonesty and plagiarism and to avoid all forms of cheating and plagiarism. Students who engage in plagiarism and other forms of academic misconduct will face academic and possibly disciplinary consequences. Academic sanctions can range from a reduced grade for the assignment to a failing grade for the course. From a disciplinary standpoint, an Academic Misconduct Report may be filed and a Faculty Hearing Board may impose sanctions such as probation, suspension or expulsion.
For further information on academic misconduct and its consequences, please consult the Student Code of Conduct and the Academic Misconduct Policy.
Attendance
All students are expected to attend class sessions regularly. However, recognizing individual differences, each student is responsible for his/her own attendance and for making-up any missed study or work. Limited assistance will be offered to those with plausible reasons for absences; unexcused absences will result in the student being totally responsible for the make-up process.
Students with disabilities
Please contact me privately to discuss your specific needs if you believe you need course accommodations based on the impact of a disability, medical condition, or if you have emergency medical information to share. I will need a copy of the accommodation letter from Student Disability Services in order to arrange your class accommodations. Contact Student Disability Services if you are not already registered with them. Student Disability Services maintains the confidential documentation of your disability and assists you in coordinating reasonable accommodations with the faculty.
Other statements
Here's a link to a document containing information about other policies and resources.
Grades and evaluation
Students will be evaluated regularly during the semester and should be aware of their progress continuously during the semester. The final course grade will be reported according to the stated University policy.
The final course grade will be calculated according to the following distribution of points:
Case study participation (3 @ 5 pts each) | 15 |
Project | 30 |
Midterm exam | 25 |
Final exam | 30 |
Total | 100 |
Course letter grade will be determined as follows:
A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
---|---|---|---|---|---|---|---|---|---|---|---|
94-100 | 90-93.99 | 87-89.99 | 84-86.99 | 80-83.99 | 77-79.99 | 74-76.99 | 70-73.99 | 67-69.99 | 64-66.99 | 60-63.99 | 0-59.99 |