CPSC 5115. Algorithm Analysis and Design (3-0-3) Prerequisites: CPSC 2108 and MATH 5125, both with grades of "C" or better. This course emphasizes the understanding of data structures and algorithms from an analytical perspective rather than from an implementation standpoint. The concepts developed allow discussion of the efficiency of an algorithm and the comparison of two or more algorithms with respect to space and run-time requirements. Analytical methods are used to describe theoretical bounds as well as practical ones. In general, this course addresses the constraints that affect problem solvability.
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 6129. Advanced Programming Languages (3-0-3) Prerequisite: CPSC 5135. A study of the principles, concepts, and mechanisms of computer programming languages-their syntax, semantics, and pragmatics; the processing and interpretation of computer programs; programming paradigms; and language design. Additional topics will include language design principles and models of language implementation.
CPSC 6138. Mobile Systems and Applications (3-0-3) 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.