U H Home U H Home Search University of Houston
Graduate Catalog Online

Catalog Home

Catalog Search

Colleges and Schools

Natural Science and Mathematics

 About the College

 Academic Regulations

 Admission
 Requirements


 Courses
 COSC Courses

 Degrees Offered

 Faculty

College Web Site


College of Natural Science and Mathematics

Courses: Computer Science (COSC)

6110: Graduate Colloquium
Cr. 1. (0-2). Prerequisite: approval of chair. May be repeated for a maximum of three semester hours of credit.

6111: Graduate Seminar
Cr. 3. (3-0). Graduate Colloquium; cannot be substituted for COSC 6110.

6198:6298:6398:6498:6598: Special Problems
Cr. 1-5 per semester. Prerequisites: consent of instructor and approval of chair.

6301: Introduction to Computer Science
Cr. 3. (3-0). Prerequisites: graduate standing, knowledge of one programming language, and one of the following: MATH 1431, PHIL 2321 or consent of instructor. Credit may not be applied toward a degree in computer science. Digital computers, algorithms, and programming; procedure and assembly language; definition and transformation of information structures and their representations in digital computers.

6302: Introduction to Logic and Computing Machines
Cr. 3. (3-0). Prerequisites: graduate standing, knowledge of one programming language, and one of the following: MATH 1431, PHIL 2321 or equivalent, or consent of instructor. Credit may not be applied toward a degree in computer science. Sets, relations, Boolean algebra, propositional calculus, first-order predicate calculus, combinational circuit and sequential circuit, storage elements, arithmetic units, Turing machines, and basic computer organization.

6303: Introduction to Numerical Analysis
Cr. 3. (3-0). Prerequisite: MATH 2431 and MATH 3431. Credit may not be applied toward a degree in computer science. Numerical solutions of non-linear and linear equations, error analysis, ill-conditioned systems; interpolation, numerical differentiation and integration; numerical solutions to differential equations; quadrature, error analysis and stability.

6304: Introduction to Structured Programming and Analysis
Cr. 3. (3-0). Prerequisites: graduate standing, knowledge of one programming language, and any one of the following: MATH 1431 and PHIL 2321, or equivalent. Credit may not be applied toward a degree in computer science. Structured programming, string processing, and searching and sorting; analysis of formal structures, including linear list, string, orthogonal list, tree, and multilist.

6305: Introduction to Computer Science II
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree. Object-oriented programming, elementary data structures and the C++ programming language. Students must make an oral presentation on aspects of the course content.

6306: Data Structures
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree. Introduction to various data structures; sorting and searching; design, analysis and comparison of algorithms. Students must make an oral presentation on aspects of the course content.

6309: Introduction to Automata and Computability
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree in Computer Science. Introduction to automata theory (finite state automata, pushdown automata, Turning machines; formal systems; computability, Church-Turing thesis. Students must make an oral presentation on aspects of the course content.

6310: Fundamentals of Operating Systems
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree in Computer Science. Purpose of an operating systems; sequential processes, concurrent processes, deadlock, mutual exclusion, semaphores; memory management, processor management, peripheral device management. Students must make an oral presentation on aspects of the course content.

6311: Fundamentals of Software Engineering
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree in Computer Science. Introduction to the concepts of software engineering. Identification of problems related to the development of large software systems. Software project planning, requirements analysis, design, implementation, quality assurance and maintenance. Students must make an oral presentation on aspects of the course content.

6318: Object-Oriented Analysis and Design
Cr. 3. (3-0). Prerequisite: COSC 4351 or consent of instructor. Software life cycle, object-oriented paradigm, classes, object relationship, software architecture, use-case analysis, object modeling technique, design metrics, object-oriented design principles, design patterns.

6320: Data Structures and Algorithms
Cr. 3. (3-0). Prerequisite: COSC 2320 or COSC 6304. Mathematical techniques for algorithm analysis; advanced data structures including sets, graphs, tree structures and hashing; algorithm design techniques including dynamic programming, greedy methods, divide-and-conquer; selected classes of algorithms; lower bounds.

6322: Biochemistry of Organelles
Cr. 3. (3-0). Prerequisite: Graduate standing; BCHS 3305 or consent of the instructor. Biochemistry of mitochondria and chloroplasts including electron transport, oxidative phosphorylation, chemiosmotic theory. Includes mitochondrial theory of aging and apoptosis. A written assignment on primary literature related to course subject.

6325: Analysis of Algorithms - Mathematical Techniques
Cr. 3. (3-0). Prerequisite: MATH 3336 or equivalent. Recurrences, number theory, enumeration methods, generating functions, probability and asymptotics, treated from the point of view of analysis of algorithms, with examples.

6340: Data Management
Cr. 3. (3-0). Prerequisite: COSC 3480. MATH 3336 strongly recommended. Topics related to data management in a database environment, including data normalization, functional dependencies, database design, data integrity and security, and distributed data processing.

6341: Information Retrieval
Cr. 3. (3-0). Prerequisite: COSC 2320 and graduate standing or consent of instructor. Representation, storage, organization and access to items of information (e.g., documents, images, audio and video clips). Topics include: information retrieval of text, human-computer interactions, multimedia and applications such as the Web, digital libraries, genomic information retrieval, and bibliographic systems.

6342: Machine Learning
Cr. 3. (3-0). Prerequisite: MATH 3338 and graduate standing or consent of instructor. Concept learning, hypothesis spaces, decision trees, neural networks, Bayesian learning, computational learning theory, instance-based learning, genetic algorithms, rule-based learning, analytical learning, and reinforcement learning.

6343: Advanced Topics in Pattern Analysis
Cr. 3. (3-0). Prerequisite: COSC 6342. Bayesian decision theory, maximum likelihood and Bayesian parameter estimation, nonparametric techniques, neural networks, evolutionary techniques, decision trees, clustering and unsupervised learning, foundations of machine learning.

6351: Software Engineering
Cr. 3. (3-0). (Formerly COSC 6350) Prerequisite: COSC 4351 or consent of the instructor. In-depth treatment of software engineering topics, including project planning, software processes, metrics, quality assurance techniques, formal methods, and other subjects of current interest.

6352: Declarative Programming Languages
Cr. 3. (3-0). Prerequisite: COSC 4315 or consent of the instructor. Study and comparison of non-imperative languages with emphasis on functional and equational languages and their programming concepts and implementation issues.

6360: Operating Systems
Cr. 3. (3-0). Prerequisite: COSC 4330. Review of the current literature on operating systems concentrating on the current areas of operating systems interest.

6361: Languages and Compilers
Cr. 3. (3-0). Prerequisite: COSC 4310. Basic considerations involved in the design and implementation of imperative programming languages and their compilers.

6362: Fault-Tolerant Computing Systems
Cr. 3. (3-0). Prerequisite: COSC 4330. Backward and forward recovery techniques; fault-tolerant data structures, robust algorithms; design diversity, fault-tolerant aspects of distributed software systems; Byzantine failures; performance reliability tradeoffs.

6364: Numerical Analysis
Cr. 3. (3-0). Prerequisite: COSC 3362 or COSC 6303 or consent of instructor. Numerical solution of partial differential equations by finite difference and finite element algorithms. Direct and iterative methods for solving large, sparse linear systems and related eigenvalue/vector problems. Emphasis is placed on robust mathematical software and its interaction with computer hardware and languages.

6365: Introduction to High-Performance Computing
Cr. 3. (3-0). Prerequisites: COSC 4310, COSC 4330, and COSC 6303 or equivalent. Hardware organization of vector array and parallel processors for high performance computations. Vector languages and language extensions for vectors and parallel processing. Automatic vectorization and parallelization of scalar programs. Implementation of vector and parallel algorithms for scientific applications.

6366: Knowledge Based Systems
Cr. 3. (3-0). Prerequisite: COSC 4350 or equivalent. Computerization of human expertise. Topics include: rule based programming; control strategies, inference techniques, knowledge representation techniques, knowledge acquisition strategies of knowledge based systems; models for approximate reasoning; knowledge base design.

6367: Evolutionary Programming
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3336 or consent of the instructor. Theory and application of evolutionary programming and other related areas in evolutionary and natural computation, centering on genetic algorithms and genetic programming, evolution strategies, artificial life, and other models that rely on evolutionary principles.

6368: Artificial Intelligence
Cr. 3. (3-0). Prerequisite: COSC 4350 or consent of instructor. A survey of broad areas in artificial intelligence, emphasizing areas of current interest.

6369: Theory of Computation
Cr. 3. (3-0). Prerequisite: COSC 3340 or consent of the instructor. Models of computation, Church-Turing thesis, undecidability, feasible computability, time and space complexity, complexity classes, lower bounds.

6370: Medical Imaging
Cr. 3. (3-0). Prerequisite: Graduate standing or consent of instructor. Introduction to basic imaging modalities used to identify the anatomy and function of human organs. X-rays, CT, MRI, PET, SPECT, and CSI.

6371: Bioinformatics
Cr. 3. (3-0). Prerequisite: Graduate standing or consent of instructor. Computational methods for understanding biological systems at the molecular level; genetic mapping and sequencing, sequence analysis, phylogenic inference, and regulatory analysis; data structures and algorithms for problems in genetics and molecular biology.

6372: Computer Graphics
Cr. 3. (3-0). Prerequisite: COSC 4370 or consent of instructor. In-depth study of selected areas in computer graphics such as 3D modeling, hidden surfaces, surface reconstruction, shading and texturing, computer animation, and other recent developments in computer graphics.

6373: Computer Vision
Cr. 3. (3-0). Prerequisite: COSC 6320 or consent of the instructor. Introduction to computer vision and machine perception. Topics to be covered include: image formation, representation, image segmentation, feature extraction and analysis, shape representation, binocular stereo and motion analysis.

6374: Parallel Computations
Cr. 3. (3-0). Prerequisites: COSC 3330 and COSC 4380, or consent of instructor. Parallel computation models, design and analysis of parallel algorithms.

6375: Computer Systems Performance Evaluation
Cr. 3. (3-0). Prerequisite: COSC 4330 or consent of instructor. A systematic approach to performance studies used in designing, procuring, tuning, upgrading and capacity-planning centralized, parallel and distributed systems. Performance metrics and techniques for their evaluation using measurements, simulation and analytical models.

6376: Grid Computing
Cr. 3. (3-0). Prerequisite: Graduate standing or consent of instructor. Introduction to technologies used to enable sharing of computational resources across multiple internet domains.

6377: Computer Networks
Cr. 3. (3-0). Prerequisite: COSC 4377 or consent of the instructor. Designing and specification of network protocols; advanced network protocols: broadcast, multicast, security, compression, congestion control, quality of service guarantees.

6384: Real-Time Systems
Cr. 3. (3-0). Prerequisite: COSC 4330 or consent of instructor. Introduction to problems that may arise in real-time applications of digital computers; architecture of real-time systems; methods for real-time software design and implementation. (Term project required.)

6385: Computer Architecture
Cr. 3. (3-0). Prerequisite: COSC 4330. Elements of computer architecture: instruction set design, computer arithmetic, memory hierarchies, instruction level parallelism, SIMD, MIMD, system design and performance values.

6386: Program Analysis and Testing
Cr. 3. (3-0). Prerequisite: consent of instructor. Introduction to concepts and problems related to program-correctness; formal basis and techniques for program analysis, program testing, test-case generation, and their applications.

6390: Internet Computing
Cr. 3. (3-0). Prerequisite: COSC 4330 or consent of instructor. Introduction to Internet, including http, cgi, server-side programming including object-oriented programming, applets, abstract windowing toolkit, multithreading, event handling, security, network programming and object serialization.

6391: Biomedical Image Analysis
Cr. 3. (3-0). Prerequisite: consent of instructor. Principles and computational methods for the analysis of biomedical images. Topics include segmentation, classification, registration and validation.

6394: Infared Imaging
Cr. 3. (3-0). Prerequisite: consent of instructor. Fundamentals of infared imaging. Computational aspects of infared video analysis and applications in biomedicine and biometrics.

6395: Computational Physiology
Cr. 3. (3-0). Prerequisite: consent of instructor. Computational modeling of macroscopic and microscopic physiological systems. Measurement of physiological variables through traditional and novel sensing methodologies.

6397: Topics in Computer Science
Cr. 3. (3-0). Prerequisite: consent of instructor. May be repeated for credit when topics vary.

6399:6699:7399:7699:7999: Master's Thesis
Cr. 3, 6, or 9 per semester.

6407: Computer Organization and Programming
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree. Basic computer organization; machine cycle, digital representation of data and instructions, assembly language programming, assembler, loader, macros, subroutines and program linkage. Students must make an oral presentation on aspects of the course content.

6408: Computer Architecture
Cr. 3. (3-0). Prerequisites: consent of the Director of Graduate Studies. Credit may not be applied toward a graduate degree in Computer Science. Principles and operation of digital computers, analyzing their component parts; arithmetic, memory, contraol and input/output units. Students must make an oral presentation on aspects of the course content.

6998: Special Problems
Cr. 9. (9-0). Prerequisite:Consent of instructor and approval of department chair.

7340: Advanced Database Management
Cr. 3. (3-0). Prerequisite: COSC 6340 or consent of instructor. An in-depth study of selected topics in database management including semantics, integrity, logic, distribution, relational theory,and design.

7350: Advanced Software Engineering
Cr. 3. (3-0). Prerequisite: COSC 6351. Topics in specification languages, software design methodologies, program analysis, software validation and verification, programming environments, program visualization, visual programming, software metrics, etc.

7352: Advanced Symbolic Computing and Formal Verification
Cr. 3. (3-0). Prerequisite: COSC 6352 or consent of instructor. Study of current research in symbolic computing, rewriting, automated deduction, and formal verification.

7360: Advanced Operating Systems
Cr. 3. (3-0). Prerequisite: COSC 6360 or consent of the instructor. In-depth treatment of some areas (distributed systems, I/0 subsystems, analytical models, protection and security, etc.) in operating systems.May be repeated for credit when topics vary.

7363: Advanced Artificial Intelligence
Cr. 3. (3-0). Prerequisite: COSC 6368 or consent of instructor. Study of current research areas in artificial intelligence.

7364: Advanced Parallel Computations
Cr. 3. (3-0). Prerequisites: COSC 6385 and COSC 6374 or consent of instructor. An in-depth study of selected topics in parallel computations.

7369: Advanced Theory of Computation and Formal Languages
Cr. 3. (3-0). (Formerly COSC 7380) Prerequisite: COSC 6369 or consent of the instructor. Selected advanced topics in theory of computation, formal languages, automata theory and computational complexity. May be repeated for credit when topics vary.

7371: Data Security
Cr. 3. (3-0). Prerequisites: COSC 6340 and COSC 6360, or consent of instructor. Introduction to problems related to data security; security of statistical databases; authorization mechanisms for systems with shared resources; cryptography and applications.

7372: Advanced Computer Graphics
Cr. 3. (3-0). Prerequisite: COSC 6372 or consent of the instructor. In-depth treatment of topics in computer graphics, including computer animation, photo-realistic image synthesis, volume-rendering, and other subjects of current interest. May be repeated for credit when topics vary.

7373: Advanced Computer Vision
Cr. 3. (3-0). Prerequisite: COSC 6373 or consent of the instructor. In-depth treatment of computer vision, including physics-based modeling, shape from shading, motion tracking, object recognition and other subjects of current interest. May be repeated for credit when topics vary.

7374: Bioinformatics
Cr. 3. (3-0). Prerequisite: COSC 6371 or consent of instructor. Advanced topics and computational approaches in the areas of gene expression data analysis and DNA sequence analysis.

7377: Advanced Networking
Cr. 3. (3-0). Prerequisite: consent of instructor. Selected topics in communication with and between computer system nodes including routing and flow control, local and wide area networking protocols, collective communication paradigms, quality of service, security, and mobile computing.

7384: Advanced Real-Time Systems
Cr. 3. (3-0). Prerequisite: COSC 6384 or consent of instructor. Advanced study of the current research in the theory and techniques for the design and development of intelligent, highly fault-tolerant, and distributed real-time systems.

7385: Advanced Computer Architecture
Cr. 3. (3-0). Prerequisite: COSC 6385 or consent of the instructor. In-depth treatment in selected areas of recent developments in computer architecture.

7388: Advanced Distributed Computing
Cr. 3. (3-0). Prerequisite: COSC 6377 or consent of instructor. Advanced topics from current research in parallel and distributed computing.

7397: Advanced Topics in Computer Science
Cr. 3. (3-0). Prerequisite: consent of instructor. May be repeated for credit when topics vary.

8198:8398:8598:8698:8998: Doctoral Research
Cr. 1, 3, 5, 6, or 9 per semester. Prerequisites: Consent of instructor and approval of department chair.

8399;8699;8999: Doctoral Dissertation
Cr. 3, 6, or 9 per semester. Prerequisite: admission to candidacy as a doctoral student in computer science.