Software Engineering
Spring 2019

Course Sections

There are 2 sections of CSE308 in the Spring 2019 semester. For details for each of the sections, follow the links below:


CSE308 introduces the basic concepts and modern tools and techniques of Software Engineering. It emphasizes the development of reliable and maintainable software via system requirements and specifications, software design methodologies including object-oriented design, implementation, integration and testing; software project management; life-cycle documentation; software maintenance; and consideration of human factor issues.

This is a project course, so you will be working in a team of 3-4 students to develop a complex system using the principles of software engineering. A single project will be available for all students.

For CSE majors, completion of CSE 219 (or CSE260), CSE320, CSE305 (or CSE306) are required to enroll in this course. You will also find that CSE333 and CSE336, although not required, provide some suitable background to CSE308. Depending on how many of these courses you have completed, you may need to spend more time working on the course project to understand the related database and user interface technologies.


The outcomes for the course are:

  1. An ability to perform project planning, requirements analysis, and system/test design.
  2. An ability to work as a team to produce software systems that meet specifications while satisfying an implementation schedule.
  3. An ability to produce professional quality oral/written presentations of system designs, reviews, and project demonstrations.

The course will also satisfy the following program objectives: