Back To: [Trinity College] [Computer Science Department] [Heidi Ellis home page] CPSC 240 Principles of Software Engineering


CPSC-240 Principles of Software Engineering

Instructor: Heidi Ellis
Semester: Fall 2007
Class Time: TuTh 11:20 a.m. - 12:35 p.m.
Class Location: MCEC 136
Office Hours: M 10:00-11:30 a.m., Tu 1:15-2:45 p.m. and by appointment


General Information Course Syllabus Course Policy Project Information


General Information

Texts:
  1. Shari Lawrence Pfleeger and Joanne M. Atlee, Software Engineering Theory and Practice, 3rd Edition, Prentice-Hall, 2006. ISBN: 0-13-146913-4
  2. Steve McConnell, Professional Software Development: Shorter Schedules, Better Projects, Superior Products, Enhanced Careers, Addison-Wesley, August 2003. ISBN: 0321193679.
Additional references (entirely optional):
  • Roger S Pressman, Software Engineering: A Practitioner's Approach, 6th edition, McGraw Hill, 2005, ISBN: 0072853182
  • Ian Sommerville, Software Engineering, 7th Edition, Addison-Wesley, ISBN 00321210263. This is one of the top two undergraduate software engineering texts. If you find Pressman difficult to understand, you may want to read the same material in Sommerville.
  • Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, Second Edition, Prentice Hall, ISBN 0-13-305699-6. Another perspective on the discipline of software engineering.
Description: In this course, we'll be studying the issues involved in developing large-scale software systems. We will cover the software lifecycle and touch on software management. Since many aspects of software engineering are best aprehended through hands-on experience, we will be using a team project to apply what we're learning.
Prerequisites: Prerequisite: C- or better in Computer Science 215L and either Computer Science 203 or Mathematics 205 (or concurrent enrollment in 203 or 205).
Back to Menu


Course Policy

Objectives: In this course, students will gain a broad understanding of the discipline of software engineering and its application to the development of and management of large software systems. Specifically, students will gain:
  • An understanding of the breadth and impact of the discipline of software engineering.
  • A general understanding of software process including software lifecycle models such as the waterfall, spiral, and evolutionary models.
  • An exposure to the role of project management including planning, control, organization, risk management, etc.
  • An understanding of software requirements including requirements analysis, definition, specification and review.
  • An exposure to software architectural styles.
  • An understanding of the fundamentals of software design using UML as a notation including design evaluation and validation.
  • An understanding of implementation issues including cohesion and coupling, modularity, coding standards, etc.
  • An understanding of approaches to verification and validation including reviews, static analysis, and various testing approaches.
  • An understanding of the issues involved in maintaining a large software system.
  • An understanding of the role of documentation.
Grading:
Quizzes (3) 20%
Homeworks (8-10) 20%
Project 60%
   
Total 100%

The grading for this course will consist of three quizzes, series of homeworks (8-10) and a team project. The project will consist of the deliverables and weighting shown below. Since software engineering is a group activity, class attendance and participation is essential. Individual contribution, both in class and on assignments, will be assessed.

Deliverable Weight
Project Assessment 5%
Launch Report 10%
SRS 15%
SRS Review Report 10%
SDS 15%
Implementation 10%
Test Specification 15%
Customer Documentation 10%
Presentation 10%
Total 100%


Policies: Office hours are M 10:00-11:30 a.m., Tu 1:30-3:00 p.m. and by appointment. Makeup exams will not be given. If you anticipate being unable to attend class, please notify me BEFORE class to make arrangements. If an emergency arises, please contact me.

Unexcused late assignments will be penalized by 10% of total possible points per day up to three days (maximum 30%). Assignments more than three days late will not be accepted.

All cell phones must be turned off during class time, not just set on vibrate mode.

CPSC-240 Principles of Software Engineering is supported by a Blackboard site. The Blackboard site will be used for occasional quizzes and for posting grades. You are responsible for reading all announcements and postings on the bulletin board.

The Intellectual Honesty section of Trinity College's Student Handbook states that "students are expected to abide by the highest standards of intellectual honesty in all academic exercises." Note that turning in work that was performed partially or completely by someone else qualifies as academic dishonesty. Such academic dishonesty will not be tolerated and may result in severe consequences. Please refer to the Intellectual Honesty section of the Student Handbook for more details.

Back to Menu

Send Dr. Ellis Mail.
http://www.cs.trincoll.edu/~hellis2/CPSC240/index.html
© Heidi J. C. Ellis