CPSC 6138. Mobile Systems and Applications (3-0-3) Prerequisite: CPSC 6119 with a grade of "C" or better. This course explores the post-desktop model of computing that makes use of mobile systems. Topics include wireless communication protocols, mobile data and power management, context awareness, privacy and security, mobile gaming, and the mobile application development process.
CPSC 6175. Web Engineering 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 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.
CPSC 6180. Software Estimation and Measurement (3-0-3) Study of software measurement and estimation with an introduction to financial measurements. Students will learn to measure and predict the size, complexity, and quality of software development projects by a variety of methods. Commercially available tools are used, as well as engineering rules, benchmarks, and a variety of predictive/estimation methodologies. Topics include but are not limited to: Develop estimates for software development and maintenance projects, how to communicate the estimates to others, and how to best represent the estimates in a formal contract, cognitive biases and administrative behaviors that affect the estimation process, use of parametric models and counting methods, Delphi, paired comparisons, functional sizing methods, quantifying and incorporating uncertainty, cost behaviors, cost objects, fixed, variable, mixed and step costs, calculating total budget, how measurement is used, applying software measurement, s/w measurement definition, process definition techniques, measuring quality, measurement and CMM, performance management measurement, statistical process control etc.