Home
  Contact
  Short Vita
  Research
  Teaching
  LSDIS Lab
  Links

CSCI 4050/6050  Software Engineering

Short Description

In this course we will study the principles of Software Engineering. We will begin with introductory discussion of the software development process and what constitutes well-engineered software. Then we will move on to software specification and requirements definition.

The next significant part of the course will be devoted to software design. Although we will discuss several of the major design techniques, we will specifically concentrate on Object-Oriented Design (OOD). We will also discuss the principles of user interface design, concentrating on Graphical User Interfaces (GUIs).

A large portion of the course will be devoted to programming techniques, geared for reliable software development and software reuse. We will conclude the course with the discussions of software verification and validation techniques. The programming projects will be done in either C++ or Java. We will include a quick overview of a popular and useful C++ library, as well as Web form design and CGI programming. The projects will be assigned and discussed at a later date.

Each student is expected to do his/her own work, but programming projects most likely will include teamwork. All suspected cases of academic dishonesty will be handled in strict accordance with department and university policy. The grade of I (incomplete) is reserved for special cases only, such as a serious illness, and will be decided on individual basis.