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: Spring 2009
Class Time: W 1:15-3:55 p.m.
Class Location: MCEC-293
Office Hours: Tu 1:00-2:00, W 11:00-1:00, 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
Launch Report 10%
SRS 15%
SRS Review Report 10%
SDS 15%
Implementation 20%
Test Specification 15%
Presentation 15%
Total 100%


Policies: Office hours are posted on the course web page. Makeup quizzes 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.

No late projects or homeworks are accepted. However, you are alloted 2 "free late days". These days may be used if you would like to delay handing in a project or homework late without penalty. Late days can only be used in increments of 24 hours (3 minutes late or 23 hours late still counts as using 1 late day). There is no bonus for unused late days. When applied to a project, late days will be incurred for all team members.

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