2002-2003 Edition
Texas A&M University Undergraduate CatalogTexas A&M University Undergraduate Catalog
Catalog Contents
Academic Calendar
Board of Regents and System Administrative Officers
TAMU Administrative Officers
General Information
International Programs for Students
University Honors Program
Environmental Program
College of Agriculture and Life Sciences
College of Architecture
Lowry Mays College and Graduate School of Business
College of Education
Dwight Look College of Engineering
College of Geosciences
College of Liberal Arts
College of Science
College of Veterinary Medicine
General Academic Programs
School of Military Sciences
Texas A&M University at Galveston
Graduate Studies
Graduate Studies
Course Descriptions
Faculty
Appendices
Section ContentsPrevious PageNext Page
 
Department of Computer Science
(CPSC)

Professors N. M. Amato, J.Chen, S.B.Childs, D.K.Friesen, R.Furuta, J. J. Leggett, W.M.Lively, B. H. McCormick, M. S. Pilant, U.W.Pooch, W. Rundell, D.B.Simmons, P. F. Stiller, B. Stroustrup, V. E. Taylor (Head), R.A.Volz, J.L.Welch, G. N. Williams, W. Zhao; Associate Professors R. Bettati, T. R. Ioerger, J.S.Liu, R. Mahapatra, L. Rauchwerger, F. M. Shipman, D.M.H.Walker; Assistant Professors Y. Choe, R. Gutierrez-Osuna, A. Kerne, J. Keyser, E. J. Kim, A. Klappenecker, D. Li, D. Loguinov, V. Sarin, S. Sze; Senior Lecturers W. C. Daugherity, J.D.Hurley, T. S. Leyk, Z. Leyk, W.F.Marti, L. C. Petersen, M. J. Quick, L. Webster, G. S.Yurttas

110. Programming I. (3-2). Credit 4. I, II, S

Basic concepts, nomenclature and historical perspective of computers and computing; internal representation of data; software design principles and practices; structured programming in Pascal; use of terminals, operation of editors and execution of student-written programs.

111. Introduction to Computer Science Concepts and Programming. (3-2). Credit 4.

Basic concepts, nomenclature, and historical perspective of computers and computing; problem solving and software design principles, including abstraction, modularity, data representation, documentation, portability, structured and object oriented programming; software engineering concepts including requirements definition, testing, and maintenance considerations; development and execution of student written programs. Prerequisite: Course in Pascal or C (high school or college) or approval of instructor.

203. Introduction to Computing. (3-0). Credit 3. I, II, S

Algorithms, programs and computers; basic programming and program structure; data representation; computer solution of numerical and non-numerical problems using a high-level programming language, FORTRAN.

206. Structured Programming in C. (3-2). Credit 4.

Basic concepts, nomenclature and historical perspective of computers and computing; internal representation of data; software design principles and practice; structured and object-oriented programming in C; use of terminals, operation of editors and executions of student-written programs.

210. Data Structures. (3-0). Credit 3. I, II, S

Methods for organizing data; design of algorithms for efficient implementation and manipulation of data structures.

211. Data Structures and Their Implementations. (3-2). Credit 4.

Specification and implementation of basic data structures and abstract data types--linked lists, stacks, queues, trees and tables; performance tradeoffs of different implementations; asymptotic analysis of running time and memory usage; compares and contrasts object-oriented language (typically, Java) and non-object-oriented languages (typically, C); emphasis on adherence to good software engineering principles. Prerequisite: CPSC 111 or approval of instructor.

285. Directed Studies. Credit 1 to 4.

Special project in computer science. Project must be approved by the department. Prerequisite: Approval of department head.

289. Special Topics in... Credit 1 to 4.

Selected topics in an identified area of computer science. May be repeated for credit. Prerequisite: Approval of instructor.

310. Database Systems. (3-0). Credit 3. I, II, S

File structures and access methods; database modelling, design and user interface; components of database management systems; information storage and retrieval, query languages, high-level language interface with database systems. Prerequisite: CPSC 210 or 211.

311. Analysis of Algorithms. (3-0). Credit 3. I, II, S

Design of computer algorithms for numeric and non-numeric problems; relation of data structures to algorithms; analysis of time and space requirements of algorithms; complexity and correctness of algorithms. Prerequisites: CPSC 210 or 211; MATH 302.

321. Computer Architecture. (3-2). Credit 4. I, II, S

Basic hardware/software components, assembly language, and functional architecture design of computers; syntax and semantics of a typical microprocessor assembly language; instruction sets, construction and execution of an assembly program; the design of I/O modules, memory, control unit and arithmetic unit. Prerequisite: ELEN 220 or 248.

332. Programming Language Design. (3-0). Credit 3. I, II

Design of high-level languages; criteria for language selection; specification techniques for syntax and semantics; trends in high-level language design and introduction to programming in LISP. Prerequisite: CPSC 211.

410. Operating Systems. (3-0). Credit 3. I, II, S

Hardware/software evolution leading to contemporary operating systems; basic operating systems concepts; methods of operating systems design and construction: algorithms for CPU scheduling, memory and general resource allocation, process coordination and management; case studies of several operating systems. Prerequisite: CPSC 321.

420. Artificial Intelligence. (3-0). Credit 3. I, II, S

Fundamental concepts and techniques of intelligent systems; representation and interpretation of knowledge on a computer; search strategies and control; active research areas and applications such as notational systems, natural language understanding, vision systems, planning algorithms, intelligent agents and expert systems. Prerequisite: CPSC 311.

431. Software Engineering. (2-2). Credit 3. I, II, S

Application of engineering approach to computer software design and development; life cycle models, software requirements and specification; conceptual model design; detailed design; validation and verification; design quality assurance; software design/development environments and project management. Prerequisite: CPSC 311.

433. Formal Languages and Automata. (3-0). Credit 3. I

Basic types of abstract languages and their acceptors; the Chomsky hierarchy; solvability and recursive function theory; application of theoretical results to practical problems. Prerequisite: CPSC 311.

434. Compiler Design. (3-0). Credit 3. II

Programming language translation: functions and general organization of compiler design and interpreters; theoretical and implementation aspects of lexical scanners; parsing of context free languages; code generation and optimization; error recovery. Prerequisite: CPSC 311.

435. Structured Programming in Ada. (3-0). Credit 3.

The Ada programming language; history and motivation; scalar and composite types; type and object attributes; control constructs; subprograms; packages and abstract types; numeric types; I/O; program structure; overloading and visibility; tasking; generics; programming style using Ada, Ada Programming Support Environments; bindings to common utilities, including GKS, SQL. Prerequisite: CPSC 210 or 211 or approval of instructor.

436. Computer-Human Interaction. (3-0). Credit 3.

Comprehensive study of the Computer-Human Interaction (CHI) area; includes history and importance of CHI; CHI design theories; modeling of computer users and interfaces; empirical techniques for task analysis and interface design; styles of interaction and future directions of CHI including hypermedia and computer-supported collaborative work. Prerequisites: CPSC 310, 320, 321.

438. Distributed Objects Programming. (3-0). Credit 3.

Principles of distributed computing and programming with current paradigms, protocols, and application programming interfaces including Sockets, RMI, CORBA, IDL, Servlets, Web Services; security issues with public/private keys, digital signatures, forms and GUI based applications with multi-tier components, database connectivity and storing/streaming data structured using XML. Prerequisites: CPSC 332 or approval of instructor; junior or senior classification.

440. Quantum Algorithms. (3-0). Credit 3.

Introduction to the design and analysis of quantum algorithms; basic principles of the quantum circuit model; gives a gentle introduction to basic quantum algorithms; reviews recent results in quantum information processing. Prerequisites: Junior or senior classification and MATH 302.

441. Computer Graphics. (3-0). Credit 3. I, II, S

Principles of interactive computer graphics; systems organization and device technologies for raster and vector displays; 2-D and 3-D viewing, clipping, segmentation and interaction handling; 3-D geometrical transformations, projections and hierarchical data structures for graphics modeling. Prerequisites: CPSC 210 or 211; junior classification.

442. Scientific Programming. (3-0). Credit 3. II

Introduction to numerical algorithms fundamental to scientific and engineering applications of computers; elementary discussion of error; algorithms, efficiency; polynomial approximations, quadrature and systems of algebraic and differential equations. Prerequisites: CPSC 206; MATH 308.

452. Robotics and Spatial Intelligence. (3-0). Credit 3. II

Algorithms for executing spatial tasks; path planning and obstacle avoidance in two- and three-dimensional robots--configuration space, potential field, free-space decomposition methods; stable grasping and manipulation; dealing with uncertainty; knowledge representation for planning--geometric and symbolic models of the environment; task-level programming; learning. Prerequisite: CPSC 320.

456. Real-Time Computing. (3-3). Credit 4.

Introduction to principles and applications of real-time computing; system architecture; D/A and A/D conversion; synchronous data acquisition and analysis; computers in real-time control; asynchronous monitoring and control; resource scheduling; interfacing issues; lectures and laboratory. Prerequisites: ELEN 220 or 248; MATH 251; knowledge of C or Ada, or approval of instructor.

462. Microcomputer Systems. (2-2). Credit 3. II

Microcomputers as components of systems; VLSI processor and coprocessor architectures, addressing and instruction sets; I/O interfaces and supervisory control; VLSI architectures for signal processing; integrating special purpose processors into a system. Prerequisite: CPSC 410 or concurrent enrollment.

463. Networks and Distributed Processing. (3-0). Credit 3. I, II

Basic hardware/software, architectural components for computer communications; computer networks, switching, routing, protocols and security; multiprocessing and distributed processing; interfacing operating systems and networks; case studies of existing networks and network architectures. Prerequisite: CPSC 410.

469. Advanced Computer Architecture. (3-0). Credit 3.

Introduction to advanced computer architectures including memory designs, pipeline techniques, and parallel structures such as vector computers and multiprocessors. Prerequisite: CPSC 321 or ELEN350. Cross-listed with ELEN469.

470. Information Storage and Retrieval. (3-0). Credit 3.

Representation of, storage of and access to very large multimedia document collections; fundamental data structures and algorithms of current information storage and retrieval systems and relates various techniques to design and evaluation of complete retrieval systems. Prerequisites: CPSC 310 and 311; junior or senior classification.

481. Seminar. (0-2). Credit 1. I, II, S

Investigation and report by students on topics of current interest in computer science. Prerequisite: Senior classification.

483. Computer Systems Design. (1-6). Credit 3.

Engineering design; working as a design-team member, conceptual design methodology, design evaluations, total project planning and management techniques, design optimization, systems manufacturing costs considerations; emphasis placed upon students' activities as design professionals. Prerequisites: CPSC 431 and 462; senior classification.

485. Directed Studies. Credit 1 to 6. I, II, S

Permits work on special project in computer science. Project must be approved by the department. Prerequisite: Senior classification.

489. Special Topics in... Credit 1 to 4.

Special topics in computer science that are new or unique that are not covered in existing courses.