Software Engineering
2009/11 Catalog description
CS 410
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.
CS 530
Prerequisites: CS 501, 502. Study of the software lifecycle including requirements analysis, specification, design, coding, testing, and maintenance. Includes proofs of correctness and techniques of formal specification.
Logistics
- Instructor
- Dr. Stan Kurkovsky, Professor of Computer Science
- Office
- MS 303-08
- Phone
- (860) 832-2720
- Fax
- (860) 832-2712
- kurkovskysta@ccsu.edu
- Office hours
- MW 4:30 pm - 5:45 pm, TR 3:00 pm - 4:15 pm, or by appointment
- Class meetings
- MW 5:55 pm - 7:10 pm @ FD 314
Textbook and other reference materials
- Software Engineering, 9th Edition by Sommerville. Addison-Wesley 2005, ISBN 0137035152, or
- Software Engineering, 8th Edition by Sommerville. Addison-Wesley 2006, ISBN 0321313798
- In-class handouts
- Textbook supplements available at http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/
- Instructor's web site available at http://www.cs.ccsu.edu/~stan/ and other web sites recommended by the instructor
- Course project document
Course objectives
Program objectives and outcomes are supported by the following learning outcomes achieved by students upon a successful completion of this course:
- Be able to identify, formulate, and solve software engineering problems, including the specification, design, implementation, and testing of software systems that meet specification, performance, maintenance and quality requirements (a,b,c,j,k);
- Be able to elicit, analyze and specify software requirements through a productive working relationship with various stakeholders of a software development project (b,f);
- Be able to function effectively as a team member (d,f);
- Understanding professional, ethical and social responsibility of a software engineer (e);
- Participate in design, development, deployment and maintenance of a medium scale software development project (a,b,c,d,i,j,k);
- Be able to convey technical material through oral presentation and interaction with an audience (f);
- Be able to convey technical material through written reports which satisfy accepted standards for writing style (f);
- Be able to use Unified Modeling Language in software specification documents (i);
- Be able to evaluate the impact of potential solutions to software engineering problems in a global society, using the knowledge of contemporary issues and emerging software engineering trends, models, tools, and techniques (g,i).
Tentative schedule
Reference: S - Sommerville, Software Engineering, 9th edition
Week 1: January 24 - January 28
- Lecture: Introduction; course overview and objectives.
Reading: none - Lecture: What is software engineering?
Reading: S 1
Week 2: January 31 - February 4
- Lecture: Software processes
Reading: S 2 - Lecture: Software processes (continued)
Reading: S 2
Week 3: February 7 - February 11
- Lecture: Agile software development
Reading: S 3 - Lecture: Requirements engineering
Reading: S 4
Week 4: February 14 - February 18
- Lecture: Requirements engineering (continued)
Reading: S 4 - Lecture: System modeling
Reading: S 5
Week 5: February 22 - February 26
- February 18-21 - President Holiday break (no classes)
- Lecture: System modeling
(continued)
Reading: S 5
Project proposal is due
Week 6: February 31 - March 4
- Lecture: Architectural design
Reading: S 6 - Lecture: Architectural design (continued)
Reading: S 6
Project requirements document is due
Week 7: March 7 - March 11
- Lecture: Design and implementation
Reading: S 7 - Test 1
Week 8: March 14 - March 18
- Lecture: Software testing
Reading: S 8 - Lecture: Software testing (continued)
Reading: S 8 - March 18 - Last day to withdraw from full-semester courses without approval
Week 9: March 21 - March 25
- March 21-26: Spring recess (no classes)
Week 10: March 28 - April 1
- Lecture: Software evolution
Reading: S 9
Project architecture design and development plan documents are due - Lecture: Software evolution (continued)
Reading: S 9
Week 11: April 4 - April 8
- Lecture: Socio-technical systems
Reading: S 10 - Lecture: Test 2
Week 12: April 11 - April 15
- Lecture: Dependability and security
Reading: S 11 - Lecture: Dependability and security specification
Reading: S 12
Week 13: April 18 - April 22
- Lecture: Project management
Reading: S 22 - Lecture: Project planning
Reading: S 23
Week 14: April 24 - April 29
- Student presentations
- Student presentations
Week 15: May 2 - May 6
- Student presentations
Final iteration report document is due - Project demonstrations
Week 16: May 9 - May 11
Week of finals: May 18 - May 21
- Final exam: Wednesday, May 18, 4:30 pm - 6:30 pm
Tests
Tests are non-cumulative and are designed as elementary evaluation devices and to prompt the student to stay abreast of assigned topics. Each test will take 50 minutes. 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).
Questions on a test may include:
- True/false questions,
- Multiple choice questions,
- Fill in the blank questions,
- Short answer questions.
Final exam
Final exam is a cumulative objective test of representative content of the entire semester's course offerings.
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.
Course project is described in detail in this document.
Student presentations
Graduate students will be required to make an in-class presentation on a topic of their choice. All topics must be approved by the instructor.
Honesty policy
It is expected that all students will conduct themselves in an honest manner (see the CCSU Student Handbook), and never turn in any work which is not their own. Violating this policy will result in a substantial grade penalty, and could result in expulsion from the University. However, students are allowed to discuss assignments with others and receive debugging help from others.
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.
Help with computers
The University offers some student assistants who may be of value in helping students with basic computer functionality only, not with program writing.
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, room 241, Copernicus Hall 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 your faculty.
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.
CS 410
The final course grade will be calculated according to the following distribution of points:
| Test 1 | 20 |
| Test 2 | 20 |
| Project | 30 |
| Class participation | 5 |
| Final exam | 25 |
| Total | 100 |
CS 530
The final course grade will be calculated according to the following distribution of points:
| Test 1 | 15 |
| Test 2 | 15 |
| Project | 30 |
| Student presentation | 10 |
| Class participation | 5 |
| Final exam | 25 |
| Total | 100 |
Course letter grade will be determined as follows:
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
| 95-100 | 90-94 | 87-89 | 84-86 | 80-83 | 77-79 | 74-76 | 70-73 | 67-69 | 64-66 | 60-63 | 0-59 |