General Catalog for 2009-10

(SENG) Mathematics & Computer Science


2003.0 Introduction to Software Engineering.
Principles of software engineering: Requirements, design and testing.
Review of principles of object orientation; object oriented analysis
using UML. Frameworks and APIs. Introduction to the client-server
architecture. Analysis, design and programming of simple servers and
clients. Introduction to user interface technology. Pre-requisite:
CSCI 1064.
Fall
2013.0 Software Engineering and Human Computer Interaction.
Psychological principles of human-computer interaction. Evaluation of
user interfaces, usability engineering, task analysis, user-centered
design, and prototyping. Conceptual models and metaphors. Software
design rationale. Design of windows, menus, and commands. Response
time and feedback. Color, icons, and sound. Internationalization and
localization. User interface architectures and APIs. Prerequisite:
SENG 2003.
Spring Even Yrs
3003.0 Software Construction.
General principles and techniques for disciplined low-level software
design. BNF and basic theory of grammars and parsing. Basics of lang-
uages. State-transition and table-based software design. Techniques
for handling concurrency and inter-process communication. Introduction
to middleware and performance tuning. Prerequisite:SENG 2003,MATH 2063
Spring Odd Yrs
3013.0 Software Design and Architecture.
An in-depth look at software design. Continuation of the study of
design patterns, frameworks, and architectures. Survey of current
middleware architectures. Component based and distributed design. De-
signing for qualities such as performance, safety, security, re-
usability, and reliability. Evaluation and evolution of designs.
Basics of softward evolution, reengineering, and reverse engineering.
Prerequisite: SENG 3003.
Fall Odd Yrs
3033.0 Software Quality Assurance and Testing.
Quality: how to assure it and verify it, and the need for a culture of
quality. Avoidance of errors and other quality problems. Inspections &
reviews. Testing, verification and validation techniques. Quality
process standards. Product and process assurance. Problem analysis &
reporting. Statistical approaches to quality control. Prerequisite:
SENG 2003; MATH 2063.
Spring
3043.0 Software Requirements Analysis.
Techniques for discovering & eliciting requirements. Languages &
models for representing requirements. Analysis & validation
techniques, including need, goal, and use case analysis. Requirements
document standards. Traceability. Human factors. Requirements manage-
ment: handling requirements changes. Prerequisite: SENG 2003.
Fall
4003.0 Software Project Management.
Project planning, cost estimation, and scheduling. Work Breakdown
Structure. Project management tools. Productivity metrics. Analysis
of options & risks. Release & configuration management. Software
contracts & intellectual property. Case studies of real industrial
projects. Prerequisites: SENG 3033, 3043.
Fall
4013.0 Software Engineering Capstone.
Development of significant software system, employing knowledge gained
from courses throughout the program. Includes development of require-
ments, design, implementation, and quality assurance. Students may
follow any suitable process model, must pay attention to quality
issues, and must manage the project themselves, following all appro-
priate project management techniques. Success of the project is
determined in large part by whether students have adequately solved
their customer's problem. Prerequisite: SENG 4003. [CAC-O and CAC-W]
Spring