CS278

Principles of Software Engineering

Fall 2009. 3 credits

TR 09:35-10:50


Stephen R. Schach
Room 380, Jacobs Hall
Ph: 2-2924
E-mail: srs@vuse.vanderbilt.edu

  1. Course objectives: This course is the first in a two-course sequence, CS278 and CS279, that prepares students for a successful fast-track career in the software industry. In CS279, students work in teams to develop a nontrivial software engineering project that covers the entire life cycle. CS278 provides the theoretical background needed to be able to build software successfully. By the end of the two-course sequence, students will be able to start work as software engineers.

  2. Course description: Topics to be covered include: Scope of software engineering. Problems of software development. Object-oriented technology. The software process. Software planning. Stepwise refinement. Testing. Specification methods. Objects. Design methods. Implementation. Maintenance. CASE (Computer-aided software engineering). Portability and reusability. Computer Ethics. Management of the software development process.

  3. Prerequisite: CS270 or senior standing in Computer Science or Computer Engineering.

  4. Text: Object-Oriented Software Engineering, by Stephen R. Schach, McGraw-Hill, 2008
    ISBN-13: 978-0-07-352333-0
    ISBN-10: 0-07-352333-0

  5. Course Outline:
    Lecture 01            Course objectives
    Lectures 02-03        Chapter 01 
    Lectures 04-05        Chapter 02
    Lectures 06           Chapter 03
    Lectures 07-08        Chapter 04
    Lectures 09-10        Chapter 05
    Lectures 11-12        Chapter 06
    Lectures 13-14        Chapter 07
    Lecture 15            Chapter 08 
    Lecture 16            Chapter 09
    Lectures 17-18        Chapter 10
    Lectures 19-21        Chapter 11
    Lectures 22-23        Chapter 12
    Lectures 24-25        Chapter 13
    Lectures 26-27        Chapter 14
    Lectures 28-29        Chapter 15
    Lecture 30            Emerging Technologies
    

  6. Grading:

    There will be four tests, some of which will be cumulative. However, there will not be a final examination. Each of the four tests will count 10 percent toward the overall grade. In order to pass the course, it is necessary to obtain an average of 60 percent for the four tests.

    Homework will be assigned. Other than Problem 6.15, you will have one week to complete each homework assignment. Homework must be handed in at the start of the class in which it is due. Homework will count 40 percent toward the overall grade.

    Ten percent of the grade is for attendance--see paragraph 9 below.

  7. Honor Code: The homework will be assigned from problems in the textbook. An instructor's solutions manual has been published for these problems but may not be consulted under any circumstances whatsoever. An student's signature on homework indicates that the work is that of the relevant student, aided only by the TA or by me.

  8. Attendance:

    Class attendance is required. It is understood that, for a variety of reasons, a student may not be able to attend every class. Accordingly, the attendance component of the overall grade for the course will be computed by means of the formula

    min (100%, (Actual attendance / (Total number of classes - 3)) * 100%)
    
    In other words, there are no "excused absences" in this class. Instead, each student may miss up to three classes with no penalty.

  9. Late submission of homework : All assignments are due at the start of class on the specified due date; late homework will not be accepted. If exceptional circumstances preclude the timely submission of an assignment, please inform me before the due date to allow alternative arrangements to be made.

  10. Office Hours: Please see me at once if anything is unclear; it is very important that you should not fall behind. My office hours are Tuesday and Thursday from 11:00 to 12:00 in my office, Room 380, Jacobs Hall. Before or after class is a good time to set up an appointment to see me at your convenience. Questions regarding the homework or project work that begin with the words "How do I solve?" or "How do I debug?" should be referred in the first instance to the TA. Ask me all other questions regarding homework or projects.

  11. Communicating with the Instructor: My telephone number is 2-2924. However, the best way to communicate with me outside of class hours is via e-mail. Please feel free to use e-mail to set up an appointment, or if something is unclear in the homework or term project, or for anything else at all. My e-mail address is srs@vuse.vanderbilt.edu. Usually you will get a reply within 2 hours or so.

  12. WWW: The primary form of communication outside class is the Web. Every student is required to check the class Web site at least once every 24 hours. Its URL is www.vuse.vanderbilt.edu/~srs/cs278.

  13. Graduate Credit: In addition to the above requirements, graduate students enrolled in CS 278 will be required to answer selected "Readings in Software Engineering" problems in the textbook. Their grades for these problems will form part of the Homework component of the course.

  14. Ice: If the roads are covered with ice I will not be able to drive to Vanderbilt. If class is canceled, I will update the Web site accordingly.

  15. Disabilities: Vanderbilt is committed to equal opportunity for students with disabilities. If you have a physical or learning disability, you should ask the Opportunity Development Center to assist you in identifying yourself to your instructors as having a disability, so that appropriate accommodation may be provided. Absent notification, your instructors assume that you have no disability or seek no accommodation.

  16. Emergency Evacuation Plans: In the event of a fire or other emergencies, the occupants of this class should collect coats and personal belongings and leave the building via the open stairway leading to the first floor atrium area and exit via the Tower Lobby. The classs should assemble on the lawn in front of McTyeire. VANDERBILT UNIVERSITY POLICY FORBIDS REENTRY TO A BUILDING IN WHICH AN ALARM HAS OCCURRED WITHOUT AUTHORIZATION BY VANDERBILT SECURITY. If, as a consequence of a disability, you anticipate the need for assistance, please discuss that need with me.

  17. ABET Category Breakdown: Engineering topics: 3 credits.