Computer Science options
CPSC 6118. Human-Computer Interface Development (3-0-3) Examines the software development techniques used in the design of graphical user interfaces. Particular emphasis is placed on available software development tools for such interfaces. The course will focus on issues in HCI (Human Computer Interaction).
CPSC 6119. Object-Oriented Development (3-0-3) This course teaches object-oriented developing techniques and how to create advanced applications using classes, components, and objects. Fundamentals of developing client applications that include database access using server-level components. Topics include creating and managing objects, creating data services, testing, deploying and maintaining a component based solution.
CPSC 6137. Distributed Software Architecture and Design (3-0-3) Prerequisite: CPSC 6119. This course emphasizes distributed software architecture. Topics include project, technology, and resource management; establishing business requirements; analyzing project scope; infrastructure; technology migration; and security requirements.
CPSC 6166. Distributed Enterprise Software Development (3-0-3) Prerequisites: CPSC 6127 and CPSC 6137. This course teaches how to build distributed multi-tier enterprise client-server applications that access corporate databases. The course focuses on development of three-tiered distributed software systems with user interface, business logic, and database server tiers.
CPSC 6175. Web Site Development and Technologies (3-0-3) This course teaches the fundamentals of Web technologies and Web site development. This course covers many open technologies including XML and its related standards.
CPSC 6176. Enterprise Web Application Development (3-0-3) Prerequisite: CPSC 6127. This course teaches how to perform web site architectural planning, make technology selection, and create enterprise-level Web sites. Topics include database connectivity options; distributed object technologies; n-tier client/server applications; transaction systems; web-enabled applications; source code management and version control; and application installation, deployment, and security issues.
CPSC 6177. Advanced Software Design (3-0-3) Examines software requirements and design methodologies. Studies defining software requirements: interacting with end-users to determine system requirements and identifying functional, performance, and other requirements. Examines techniques to support requirements including prototyping, modeling, and simulation; the relation of requirements to design; design in the system life cycle; and hardware versus software trade-offs. Discusses subsystem definition and design and covers principles of design, including abstraction, information hiding, modularity, and reuse. Uses examples of design paradigms.
CPSC 6178. Software Testing and Quality Assurance (3-0-3) This course examines the relationship between software testing and quality assurance with an emphasis on the role of testing in the software development life cycle. It covers commonly used software testing strategies and test design techniques. The issues of test management, test support tools, and automated testing are also discussed.
CPSC 6179. Software Project Planning and Management (3-0-3) Centers on the concept of a software engineering process and includes discussion of life-cycle models for software development. Addresses issues associated with the successful management of software development including planning, scheduling, tracking, cost and size, estimating, risk management, configuration, management quality, and engineering and process improvement. Includes the SEI software process Capability Maturity Model (CMM) and other process standards.