| |
|
Software Engineering Course Descriptions
SE 2V95 Individual Instruction
in Computer Science/Software Engineering (1-6 semester hours)
Individual study under a faculty member’s direction. May be repeated
for credit (6 hours maximum). Consent of instructor required. (Same
as CS 2V95) ([1-6]-0) R
SE 3195 Special Topics in Computer Science/Software
Engineering (1 semester hour) May be repeated for credit (4
hours maximum). Must be taken Credit/No Credit. Consent of instructor
required. (Same as CS 3195) (1-0) R
SE 3306 Mathematical Foundations of Software
Engineering (3 semester hours) Boolean logic, first-order logic,
models of first-order logic. Introduction to program verification, applications
in Software Engineering. Completeness Theorem. Regular expressions,
regular sets, finite-state machines, and applications in Software Engineering.
Fundamentals of Graph Theory, basic graph algorithms. Statecharts, Petri
Nets and their role in Software Engineering. Prerequisite: CS 2305.
(3-0) S
SE 3341 Probability and Statistics in Computer
Science and Software Engineering (3 semester hours) Axiomatic
probability theory, independence, conditional probability. Discrete
and continuous random variables, special distributions of importance
to CS/SE, and expectation. Simulation of random variables and Monte
Carlo methods. Central limit theorem. Basic statistical inference, parameter
estimation, hypothesis testing, and linear regression. Introduction
to stochastic processes. Illustrative examples and simulation exercises
from queuing, reliability, and other CS/SE applications. Prerequisites:
MATH 1326 or MATH 2419, and CS 2305. (Same as CS 3341) (3-0) S
SE 3345 Data Structures and Introduction
to Algorithmic Analysis (3 semester hours) Analysis of algorithms
including time complexity and Big-O notation. Analysis of stacks, queues,
and trees, including B-trees. Heaps, hashing, and advanced sorting techniques.
Disjoint sets and graphs. Course emphasizes design and implementation.
Prerequisites: CS 2336, and one of CS 3305 or SE 3306. Prerequisite
or corequisite: CS/SE 3341. (Same as CS 3345) (3-0) S
SE 3354 Software Engineering (3
semester hours) Introduction to software life cycle models. Software
requirements engineering, formal specification and validation. Techniques
for software design and testing. Cost estimation models. Issues in software
quality assurance and software maintenance. Prerequisites: CS 2336 or
CS 3333, and CS 2305. Cosrequisite: ECS 3390. (Same as CS 3354) (3-0)
S
SE 3V95 Undergraduate Topics in Computer
Science/Software Engineering (2-9 semester hours) Subject matter
will vary from semester to semester. May be repeated for credit (9 hours
maximum). (Same as CS 3V95) ([2-9]-0) S
SE 4340 Computer Architecture (3
semester hours) Boolean algebra and logic circuits; register transfer
operations; design of a small computer; input, output, and interrupt
organization; powerful addressing modes, instruction formats, and their
hardware structures; microprogram control. Prerequisites: CS 2305 or
TE 3307, and PHYS 2326. (Same as CS 4340) (3-0) S
SE 4347 Database Systems (3 semester
hours) This course emphasizes the concepts and structures necessary
for the design and implementation of database management systems. Topics
include data models, data normalization, data description languages,
query facilities, file organization, index organization, file security,
data integrity, and reliability. Prerequisite: CS/SE 3345. (Same as
CS 4347) (3-0) Y
SE 4348 Operating Systems Concepts
(3 semester hours) An introduction to fundamental concepts in operating
systems: their design, implementation, and usage. Topics include process
management, main memory management, virtual memory, I/O and device drivers,
file systems, secondary storage management, and an introduction to critical
sections and deadlocks. Prerequisites: CS 4340, one of CS/SE 3345 or
TE 3346, and a working knowledge of C and UNIX. (Same as CS 4348) (3-0)
S
SE 4351 Requirements Engineering
(3 semester hours) Introduction to system and software requirements
engineering. The requirements engineering process, including requirements
elicitation, specification, and validation. Essential words and types
of requirements. Structural, informational, and behavioral requirements.
Non-functional requirements. Scenario analysis. Conventional, object-oriented
and goal-oriented methodologies. Prerequisites: SE 3306, CS/SE 3354
or consent of instructor. (3-0) S
SE 4352 Software Architecture and Design
(3 semester hours) Introduction to software design with emphasis on
architectural design. Models of software architecture. Architecture
styles and patterns, including explicit, event-driven, client-server,
and middleware architectures. Decomposition and composition of architectural
components and interactions. Use of non-functional requirements for
tradeoff analysis. Component based software development, deployment
and management. Prerequisites: SE 3306, CS/SE 3354 or consent of instructor.
(3-0) S
SE 4367 Software Testing, Verification, Validation
and Quality Assurance (3 semester hours). Methods for evaluating
software for correctness, and reliability including code inspections,
program proofs and testing methodologies. Formal and informal proofs
of correctness. Code inspections and their role in software verification.
Unit and system testing techniques, testing tools and limitations of
testing. Statistical testing, reliability models. Prerequisites: SE
3306, CS/SE 3354 or consent of instructor. (3-0)
SE 4376 Object-Oriented Programming Systems
(3 semester hours) In-depth study of the features/advantages of object-oriented
approach to problem solving. Special emphasis on issues of object-oriented
analysis, design, implementation, and testing. Review of basic concepts
of object-oriented technology (abstraction, inheritance, and polymorphism).
Object-oriented programming languages, databases, and productivity tools.
Prerequisite: CS 2336 or equivalent. (Same as CS 4376) (3-0) S
SE 4381 Software Project Planning and Management
(3 semester hours) Planning and managing of software development projects.
Software process models, ISO 9000, SEI’s Capability Maturity Model,
continuous process improvement. Planning, scheduling, tracking, cost
estimation, risk management, configuration management. Prerequisite:
CS/SE 3354. (3-0) Y
SE 4485 Software Engineering Project
(4 semester hours) This course is intended to complement the theory
and to provide an in-depth, hands-on experience in all aspects of software
engineering. The students will work in teams on projects of interest
to industry and will be involved in analysis of requirements, architecture
and design, implementation, testing and validation, project management,
software process, software maintenance, and software re-engineering.
Prerequisites: at least two of SE 4351, SE 4352, SE 4367, SE 4381. (3-1)
S
SE 4399 Senior Honors in Computer Science/Software
Engineering (3 semester hours) For students conducting independent
research for honors theses or projects. (Same as CS 4399) (3-0) R
SE 4V95 Undergraduate Topics in Computer
Science/Software Engineering (1-9 semester hours) Subject matter
will vary from semester to semester. May be used as SE Guided Elective
on SE degree plans. May be repeated for credit (9 hours maximum). (Same
as CS 4V95) ([1-9]-0) R
|

|