List of Courses
* All credit hours are based on the current term, this may vary for previous terms.
ITPG601 - Adv. Design & Analysis of Algo |
(3 credit hours) |
The course starts by reviewing asymptotic notations and growth of Functions (?, O, ? notations), recursion and recurrences. Study of various algorithm design paradigms (divide & conquer, greedy, and dynamic programming); Advanced data structures (B-Trees; Binomial Heaps; Fibonacci Heaps; Data Structures for Disjoint Sets). Complexity Analysis (Polynomial Time; Polynomial Time Verification; NP-Completeness and Reducibility; NP-Completeness Proofs; NP-Complete Problems); Study of some advanced algorithms (selected from the following: Sorting Networks; Algorithms for Parallel Computers; Matrix Operations; Polynomials and FFT; Number-Theoretic Algorithms; String Matching; Computational Geometry; Approximation Algorithms).
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
ITPG610 - Advanced Software Engineering |
(3 credit hours) |
Software requirements engineering, component-based software engineering, rapid development processes and techniques, advanced validation and verification methods, configuration management, and other advanced topics in software engineering.
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
Spring |
Go To Index |
ITPG642 - Approximation Algorithms |
(3 credit hours) |
Sound techniques for dealing with NP-Hard problems, approximation techniques for a number of different problems, combinatorial algorithms, LP-based algorithms, counting problems, hardness of approximation, open problems.
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
ITPG644 - Complex Software systems |
(3 credit hours) |
Complexity; nature and structure of complex systems; impact and pervasiveness
of complex systems; methods and technologies for developing highly reliable
complex systems; relationship between complex software systems and societalscale
systems; conceptual framework; software modeling of societal-scale
systems; reference designs and architectures.
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
All |
Go To Index |
ITPG691 - Special Topics in Software Eng |
(3 credit hours) |
Architecture of autonomous systems; collaboration architectures; interface theories; complex IT ecosystems; cooperation and coordination infrastructure; self-organized adaptive systems; specification and modeling languages.
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB318 - User Interface Design |
(3 credit hours) |
|
Prerequisite: |
- SWEB315
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
SWEB401 - Reuse & Component-based Develp |
(3 credit hours) |
Methods and techniques for constructing large-scale software systems from preexisting components; Market versus technology; Component standards; What a component is and is not; Components interfaces and re-entrance; Aspects of scale and granularity; Patterns, frameworks, architectures; Reusing design patterns; Common Object Request Broker Architecture (CORBA); Java Beans; Enterprise Java Beans (EJB); Component development; Component distribution, acquisition and assembly. (Prerequisite: SWEB320)
|
Prerequisite: |
- SWEB320
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
SWEB423 - SW Test. & Quality Assurance |
(3 credit hours) |
Concepts and techniques for testing software and assuring its quality. Software testing at the unit, module, subsystem, and system levels. Automatic and manual techniques for generating and validating test data. The testing process, static vs. dynamic analysis, functional testing, inspections, and reliability assessment.
|
Prerequisite: |
- SWEB300
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
SWEB441 - User Interface Development |
(3 credit hours) |
|
Prerequisite: |
- SWEB300
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB442 - Concurrent & Distributed SW |
(3 credit hours) |
Study of issues related to the development of concurrent and distributed software; Topics include the theory of concurrency and software distribution; Students will carry out projects using technologies such as threads, communication primitives, and sockets, and higher-level technologies such as remote procedure calls and distributed object middleware technologies.
|
Prerequisite: |
- SWEB300
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB444 - Software Tools |
(3 credit hours) |
In-depth analysis of the theory, design, and development of tool to support software development; Analysis techniques, integration techniques, construction issues, and incorporation into software development; Students will gain experience in building software development tools.
|
Prerequisite: |
- SWEB401
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB446 - Web-based Software |
(3 credit hours) |
Theoretical and practical issues in the specification, design and construction of software systems that run on the web. Software construction models, languages, and technologies for the development of web software will be discussed. Students will design and build a web-based software product.
|
Prerequisite: |
- SWEB401
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
SWEB450 - Analysis of Algorithms |
(3 credit hours) |
Asymptotic analysis of upper and average complexity bounds; Identifying differences among best, average, and worst case behaviors; Big oh, little oh, omega, and theta notation; Standard complexity classes; Empirical measurements of performance; Time and space tradeoffs in algorithms; Using recurrence relations to analyze recursive algorithms; Algorithmic strategies including brute-force, greedy, divide-and-conquer, backtracking, branch-and-bound, heuristics and pattern matching; Introduction to P and NP. (Prerequisite: ITBP319)
|
Prerequisite: |
- ITBP319
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
SWEB451 - Game Development |
(3 credit hours) |
|
Prerequisite: |
- ITBP319
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB490 - Senior SWE Exhibition |
(3 credit hours) |
Senior capstone project which includes a complete software lifecycle demonstration for a customer; Teams of students will elicit requirements from the customer for a moderate to large sized software system; They will design the software, construct or acquire components, integrate the components, test, validate, document each software artifact throughout the project; It is expected that the product will be demonstrated through a web-based user interface. Pre-requisite: SWEB 390.
|
Prerequisite: |
- ITBP290
- ITBP299
|
Corequisite: |
|
Semester: |
Fall Spring |
Go To Index |
SWEB499 - Special Topics in Software Eng |
(3 credit hours) |
Topics of special interest to Software development majors; may be repeated with different topics.
|
Prerequisite: |
- ITBP319
|
Corequisite: |
|
Semester: |
Spring |
Go To Index |
SWEB651 - Software Construction |
(3 credit hours) |
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB652 - Requirements Engineering |
(3 credit hours) |
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB653 - SW Quality Assurance & Testing |
(3 credit hours) |
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
All |
Go To Index |
SWEB654 - HCI and Usability |
(3 credit hours) |
|
Prerequisite: |
|
Corequisite: |
|
Semester: |
All |
Go To Index |
|