Robotics C++ Physics II AP Physics B Electronics Java Astronomy Other Courses Summer Session  

Computer Science Components

 

Algorithms and Data Structures

This area addresses specific classes of problems and their efficient solutions. The performance characteristics of algorithms and the organization of data relative to different access requirements are major components.

Architecture

Methods of organizing efficient, reliable computing systems are the central focus of this area. It includes implementation of processors, memory, communications, and software interfaces, as well as the design and control of large and reliable computational systems.

Artificial Intelligence and Robotics

The basic models of behavior and the building of (virtual or actual) machines to simulate animal and human behavior are included here; addresses inference, deduction, pattern recognition, and knowledge representation.

Databases and Information Retrieval

This area is concerned with organizing information and designing algorithms for the efficient access and update of stored information. Security and protection of information in a shared environment and the characteristics of external storage devices are included.

Software Methodology and Engineering

This area addresses specification and production of large software systems, principles of programming and software development, verification, and validation.

 

 

Human-Computer Communication

The central focus of this area is the efficient transfer of information between humans and machines. It includes graphics and human factors that affect efficient interactions.

Numerical Methods

General methods for efficiently and accurately using computers to solve equations from mathematical models are central to this area. The effectiveness and efficiency of various approaches to the solution of equations, and the development of high-quality mathematical software are included.

Operating Systems

This area deals with control mechanisms that allow multiple resources to be efficiently coordinated during the execution of programs. Effective strategies for resource control, and effective organization to support distributed computation are included.

Programming Languages

The fundamental questions addressed in this area involve notations for defining virtual machines that execute algorithms, the efficient translation from high-level languages to machine codes, and the various extension mechanisms that can be provided.

Social and Professional Context

This area is concerned with the cultural, social, legal, and ethical issues related to computing. It includes legal issues related to use of the Internet.