|
|
-
- Software Engineering Degree (B.S.E.)
-
- Software Engineering Option (B.C.S./S.E.)
-
- SE 101 - Introduction to Methods of
Software Engineering
An
introduction to some of the basic methods and principles used by
software engineers, including
fundamentals of technical communication, measurement, analysis, and
design. Some aspects of the
software engineering profession, including standards, safety and
intellectual property.
- CS 246 - Software Abstraction and
Specification
Systematic
methods for designing, coding, testing, and documenting medium-sized
programs. Major topics include formal specification, abstraction,
modularity and reusability. Students will become strong apprentice programmers able to write a clear
specification for a problem, read a specification and design the
software to implement it, use appropriate data structures in a program,
write reusable code and reuse existing code when possible, debug a
program, and adequately test a program.
- CS 445 - Software Requirements and
Specification
Introduction
to the requirements definition phase of software development. Models,
notations, and processes for software requirements identification,
representation, validation, and analysis. An important component of the course is a group project: the
software requirements
specification of a large software system.
- CS 745 - Computer Aided Verification (grad course)
This course
introduces the theory and practice of formal methods for the design and
analysis of software systems. The
emphasis is on models of software, algorithms for analyzing models, and
heuristics for coping with the algorithm's high computational complexity.
CS 846 - Model Based Software Engineering (grad course)
This course looks at the state of the art of Model-based software
engineering (MBSE). MBSE is an approach to software development in
which software models play a primary and indispensible role. It
allows developers to work and reason about software requirements,
design, and correctness at higher levels of abstraction, and to
generate automatically implementations, deployments, and other
artifacts.
|
|