CMPSC 390 - Software Engineering



Prerequisite:     CMPSC 311 or Instructor Consent

Description:     Requires participation in community-based activities, some of which may occur off campus. This course addresses the foundations, methodologies, and tools for developing high-quality large-scale software systems, with an emphasis on the technical issues of software development. Students in this course work in groups to design and implement real-world projects for clients such as non-profit organizations and other community groups.  Since some of these activities may occur off campus, students should be prepared to travel to the client site.

Class project spring 2013 and spring 2014
Text:       None required

Learning Objectives:


  1. Students will learn the process of software engineering, from requirements to specifications, design, coding, and testing.
  2. Students will learn to work in groups; several students will learn to manage groups.
  3. Students will develop meaningful connections between academic course content and experiences outside the classroom
  4. Students will learn to work with a client, and they will realize that this is vastly different from doing an exercise in a textbook.

Mission Based:

  1. Students will learn how to use their knowledge as computer scientists to better provide service to the community and work within the community.
  2. Students will gain knowledge and understanding of the mission and goals of the non-profit or local community group.

3.  Students will become better citizens by learning to work cooperatively for the common good.

Evaluation:       Assignments in the form of review questions, deliverables, and teamwork. In addition, there will be several written exercises in which students reflect on the experiential learning associated with the course.