|
Course Descriptions |
| CS 544 Computer Networks - 3.00 credits |
|
| To examine computer networks using networking models (TCPIIP, OSI and ATM) and break down computer networking, examine each layer and its duties and responsibilities. To analyze networking protocols and understand the design. To use the Internet and other example protocols to illustrate the theory and operation of each layer. |
|
| Back to course list |
|
| CS 575 Software Design - 3.00 credits |
|
| This course introduces fundamental software design principles and methodologies, covers: software architecture design in general, and focuses on service-oriented architecture in particular. Students will learn most influential papers in software engineering realm, design and implement a service-oriented project, and explore how to apply well-established theoretical principles into modern software design. |
|
| Back to course list |
|
| CS 576 Dependable Software Systems - 3.00 credits |
|
| Intended for CS and MSSE students; others must obtain departmental permission to enroll. Offers an in-depth treatment of software testing and software reliability, two components of developing dependable software systems. Testing topics include path testing, data-flow testing, mutation testing, program slicing, fault interjection and program perturbation, paths and path products, syntax testing, logic-based testing, testing within the software development process, test execution automation and test design automation tools. Reliability topics include reliability metrics, fault avoidance, cleanroom software development, fault tolerance, exception handling, N-version programming, recovery blocks, formal methods, functional specifications, and Z notation. |
|
| Back to course list |
|
| INFO 627 Reqmts Engineering & Mgmt - 3.00 credits |
|
| Provides students with an opportunity to explore and experience methodologies, tools, and techniques for eliciting, analyzing, specifying, and managing requirements in modern software development organizations. Focuses on the intersection of requirements engineering, strategic IS and business planning, and business process reengineering. Students will also learn about change management in requirements engineering context in response to a fast-paced, changing world. Upon completion of the course, each student should have new skills and insights that are immediately applicable to the performance of the requirements engineering project function. |
|
| Back to course list |
|
| INFO 631 Info Technology Integration - 3.00 credits |
|
| Focuses on integration of information technologies from an organizational perspective. Coverage includes IT Product and service selection and evaluation, impact of emerging technologies, standards, and vendor strategies. Emphasizes financial considerations including return on investment, time cost of money, depreciation, and system life. |
|
| Back to course list |
|
| INFO 638 Software Project Management - 3.00 credits |
|
| Focuses on first-line management of software system development. Covers major themes including estimation (software cost factors, estimation models, and risk management), planning (work breakdown, scheduling, staffing, resource allocation, and creation of a project plan), and execution (team building, leadership, motivation, process tracking, control recovery, and communication within and outside the project). |
|
| Back to course list |
|
| CS 520 Computer Science Foundations - 3.00 credits |
|
| Survey of basic mathematics concepts needed for the study of computer science at the graduate level: induction, iteration, recursion; analysis of program running time; elementary probability and combinatorics; relations, graphs and trees; regular expressions and finite automata; propositional and predicate logic. |
|
| Back to course list |
|
| CS 521 Data Structures/Algorithms I - 3.00 credits |
|
| Techniques for analyzing algorithms: asymptotic notation, recurrences, and correctness of algorithms; divide and conquer: quick sort, merger sort, median and order statistics; elementary data structures: hashing, binary heaps, binary search trees, balanced search trees; graph algorithms: Depth and Breadth first searches, connected components, minimum spanning trees, shortest paths in graphs. |
|
| Back to course list |
|
| CS 522 Data Structures/Algorithms II - 3.00 credits |
|
| Discussion of algorithm design techniques, augmented data structures including Binomial and Fibonacci heaps and Splay tree; Amortized analysis of data structures, topics in pattern and string matching, network flow problem, matching in bipartite graphs, and topics in complexity theory including reduction and NP-completeness, and approximation algorithms. |
|
| Back to course list |
|
| CS 525 Theory of Computation - 3.00 credits |
|
| Theory of computation introduces basic mathematical models of computation and the finite representation of infinite objects. These topics covered in the course include: finite automata and regular languages, context free languages, Turning machines, Partial recursive functions, Church's Thesis, undecidability, reducibility and completeness, and time complexity. |
|
| Back to course list |
|
| CS 530 Developing User Interfaces - 3.00 credits |
|
| This course examines the implementation of multimodal user interfaces within the context of interface design and evaluation. The course involves both practice implementing interfaces using current technologies and study of topical issues such as rapid prototyping, advanced input, and assistive technology. |
|
| Back to course list |
|
| CS 550 Programming Languages - 3.00 credits |
|
| Covers basic concepts of the design and implementation of programming languages, including data representation and types, functions, sequence control, environments, block structure, subroutines and coroutines, storage management. Emphasizes language features and implementation, not mastery of any particular languages. |
|
| Back to course list |
|
| CS 571 Prog Tools and Environments - 3.00 credits |
|
| Covers UNIX operating system, Shell programming, PERL, JAVA, and advanced features of C++ from the viewpoint of efficient software development. |
|
| Back to course list |
|