Elective Courses

CSS 534: Parallel Programming in Grid and Cloud

Exploration of theoretical programming methodology and practical middleware design used for parallel programming in grid and cloud systems. Use of different programming models, parallelizing patterns, and middleware systems for designing application-specific fault-tolerant parallel software.

CSS 552: Topics in Rendering

Studies core algorithms and technologies in synthesizing high quality images, including: camera models, 3D viewing, visibility sampling and approximation, light source models, material property approximation, illumination models, human vision system, and texture synthesis.

CSS 577: Secure Software Development

Augmenting standard software engineering practices with practices to develop applications with low security risks. Covers security risk analysis and assessment, design practices, STRIDE, threat modeling, secure coding practices, fuzz and penetration testing, security response, and security-analysis tools.

CSS 583: Knowledge Management Systems

Explores contemporary theoretical and practical implications of how to create and manage knowledge as acquired using technology. Uses different strategies such as XML, RDF, RDFS, and other approaches to provide methods and structures to organize and reference data for use within a variety of knowledge domains.

CSS 587: Advanced Topics in Computer Vision

Covers advanced topics in computer vision. Includes image and video databases, object recognition, video processing, scene reconstruction and robot vision. Students implement projects on current topics in computer vision research.

CSS 590: Mobile Computing (Special Topics for Spring '12)

The general direction behind the class is to identify concepts relating to and systems one can build based on the intersections of pocket size computing device; cloud storage/computing; integrated sensors and touch/gesture-based UI; working with web-services: taking advantage of what's out there; and developing our own. The class will explore each of these areas, define programming projects to explore the concepts and application in each area, and enable student groups to define a final project to combine and intersect the above areas. (Instructor: Kelvin Sung)

CSS 600: Independent Study or Research

Independent study or research on computing topics conducted under the direction of one or more instructors.

Future Elective Offerings

Advanced Operating Systems

Covers advanced topics in operating systems design and implementation. Topics include operating systems structures, multithreading and synchronization and then moves on to systems issues in parallel and distributed computing systems. Prerequisite: CSS 530 or equivalent.

Advanced WAN Design and QoS

Advanced topics in wide area network design. Topics include: network configuration, quality of service (QoS), routing protocols, performance tuning, benchmarking, network management, QoS architectures.

Games Studies

Critical analysis and evaluation of contemporary and popular computer games from the following perspectives: conceptualization, design and development process, impact of computer hardware, game structure, game elements, game play mechanics, QA procedure, ethics, marketing, and societal impact. Prerequisite: Game Design or Game Development.

High Performance Computing

Use of distributed and parallel computers for computationally intensive numerical algorithms; concepts, techniques, and standards for developing parallel versions of numerical code.

eScience

Replacing physical experimentation with computer simulations; application of fundamental techniques learned in High Performance Computing to specific problem areas in environmental, physical, and biological sciences.

Introduction to Artificial Intelligence

A survey of the history and state of the art in developing intelligent machines. Topics include heuristic search and game playing, knowledge representation, artificial neural networks, statistical methods, rule- based systems, and robotics and computer vision.

Object Recognition

History and current best practices of algorithms for locating and recognizing objects in digital images.

Bookmark and Share