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 3:15 - 5:15 pm and TR 3:00 - 3:30 pm, or by appointment
- Class meetings
- MW 5:15 pm - 6:30 pm @ NC 22412
Textbook and other reference materials
- Software Engineering, 7th Edition by Sommerville. Addison-Wesley 2005, ISBN 0321210263, or
- Software Engineering, 8th Edition by Sommerville. Addison-Wesley 2006, ISBN 0321313798
- In-class handouts
- Companion web site available at http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7
- 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, 7th edition
Week 1: January 25 - January 29
- Lecture: Introduction; course overview and objectives.
Reading: none - Lecture: What is software engineering?
Reading: S 1
Week 2: February 1 - February 5
- Lecture: What is software engineering?
(continued)
Reading: S 1 - Lecture:
Socio-technical systems
Reading: S 2
Week 3: February 8 - February 12
- Lecture: Critical
systems
Reading: S 3 - Lecture: Software processes
Reading: S 4
Week 4: February 15 - February 19
- February 12-15 - President Holiday break (no classes)
- Lecture: Project management
Reading: S 5
Week 5: February 22 - February 26
- Lecture: Software requirements
Reading: S 6
Project proposal is due - Lecture: Requirements engineering
processes
Reading: S 7
Week 6: March 1 - March 5
- Lecture: System models
Reading: S 8 - Lecture: Critical systems specification
Reading: S 9
Project requirements document is due
Week 7: March 8 - March 12
- Lecture: Architectural design
Reading: S 11 - Test 1
Week 8: March 15 - March 19
- Lecture: Distributed systems
architecture
Reading: S 12 - Lecture: Application architectures
Reading: S 13 - March 19 - Last day to withdraw from full-semester courses without approval
Week 9: March 22 - March 26
- March 22-27: Spring recess (no classes)
Week 10: March 29 - April 2
- Lecture: Object-oriented design
Reading: S 14
Project architecture design and development plan documents are due - Lecture: Rapid software development
Reading: S 17
Week 11: April 5 - April 9
- Lecture: Software reuse
Reading: S 18 - Lecture: Test 2
Week 12: April 12 - April 16
- Lecture: Component-based software
engineering
Reading: S 19 - Lecture: Software evolution
Reading: S 21
Week 13: April 19 - April 23
- Lecture: Verification and validation
Reading: S 22 - Lecture: Software testing
Reading: S 23
Week 14: April 25 - April 30
- Student presentations
- Student presentations
Week 15: May 3 - May 7
- Student presentations
Final iteration report document is due - Project demonstrations
Week 16: May 10 - May 12
Week of finals: May 17 - May 22
- Final exam: Monday, May 17, 5:00 pm - 7:00 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 |