Stan Kurkovsky, PhD
HomeTeaching › Software Engineering

Software Engineering

CS 410/530 - Fall 2017

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-06
Phone
(860) 832-2720
Fax
(860) 832-2712
E-mail
kurkovsky@ccsu.edu
Office hours
MW 12:30-1:30, TR 1:30-3:00 or by appointment
Class meetings
TR 3:05 - 4:20 pm @ MS 204

Textbook and other reference materials

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:

  1. 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 (c);
  2. Use current software engineering techniques, such as iterative software processes to develop a software system (i);
  3. Apply knowledge and skills to analyze and specify software design and architecture documents (i);
  4. Use current tools such as UML design and version control in a practical setting (i);
  5. Apply design and development principles in the construction of software systems of varying complexity (k);
  6. Function effectively as a team member (d);
  7. Understand professional, ethical, and social responsibilities of a software engineering professional (e);
  8. Recognize the need for and be able to engage in continuing professional development (h);
  9. Be able to convey technical material through oral presentation and interaction with an audience and through written reports which satisfy accepted standards for writing style (f).

Tentative schedule

Please note that this schedule may change as we progress through the course material

Reference: S - Sommerville, Software Engineering, 10th edition

Week 1: August 28 - September 1

Week 2: September 4 - September 8

Week 3: September 11 - September 15

Week 4: September 18 - September 22

  • Hands-on case study: Requirements elicitation and analysis
  • Case study debrief

Week 5: September 25 - September 29

Week 6: October 2 - October 6

Week 7: October 9 - October 13

Week 8: October 16 - October 20

Week 9: October 23 - October 27

  • Case study debrief
  • Midterm

Week 10: October 30 - November 3

Week 11: November 6 - November 10

Week 12: November 13 - November 17

Week 13: November 20 - November 24

  • Furlough
    To help Connecticut solve its budget crisis, state employees agreed to give up some of their pay and benefits to help lawmakers who were unwilling to balance the budget. One of these concessions is that all state workers, including full-time faculty at CSU, have agreed to take 3 unpaid leaves of absence (furlough days). On those days we are required to stay home from work and will not receive any pay. At CCSU full-time faculty will be taking one of these furlough days on Friday, 9 March 2018, and will not teach or hold office hours on that day. Each faculty member will choose two additional days for which they will not be paid. We are sorry that your education may have been disrupted by the unwillingness of our legislature to adequately fund higher education.
  • November 22-26 - Thanksgiving Recess

Week 14: November 27 - December 1

Week 15: December 4 - December 7

Final: December 12

  • Final exam: Tuesday, December 12, 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.

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.

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, Willard Hall, 101-04 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.

The final course grade will be calculated according to the following distribution of points:

CS 410

Case study participation (3 @ 5 pts each)       15
Project 30
Midterm exam 25
Final exam 30
Total 100

CS 530

Research briefs (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