|
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.
6308: 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, control and input/output units. Students must make an oral presenation on aspects of the class. 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.
6327: Shared Memory Programming
Cr. 3. (3-0). Overview of hardware running shared memory programs, principles of parallel programs, and specific challenges of shared memory computing.
6335: Data Mining
Cr. 3. (3-0). Prerequisite: COSC 2320. Data mining, data preprocessing, OLAP and data warehousing, exploratory data analysis, classification and prediction, cluster and outlier analysis, association analysis, data mining methods, and case studies.
6340: Database Systems
Cr. 3. (3-0). Prerequisite: consent of the instructor.Database design with ER model, relational model and normalization. Relational algebra and SQL language. Database systems internals including storage, indexing, query optimizer, transaction processing, recovery, security. 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.
6353: Declarative Programming Languages
Cr. 3. (3-0). Prerequisite: COSC 6311 or approval of the instructor. Object-oriented paradigm, classes, object relationship, software architecture, use case analysis, object modelling technique, design metrics, software development patterns, practices and principles. Students must make an oral presentation on aspects of the class.
6354: Software Development Practices
Cr. 3. (3-0). Prerequisite: COSC 6311 and COSC 6353 or approval of the instructor. Pragmatics of software development, hands-on iterative, incremental and agile software development team project with emphasis on use of state of the art tools, techniques, principles, and better practices. Students must make an oral presentation on aspects of the class. 6355: Ubiquitous Computing
Cr. 3. (3-0). Prerequisite: some programming experience. Advanced software development for ubiquitous devices such as PDAs and cell phones. Tackless issues of usability, user interfacing, and advanced design and testing.
6356: Computer Animation and Simulation
Cr. 3. (3-0). Prerequisite: COSC 4370. Fundamental computer animation techniques, keyframing animation, physics-based simulation, fluid animation and its underlying algorithms, and optimization algorithms. 6358: Interactive Game Development
Cr. 3. (3-0). Prerequisite: COSC 4370. Advanced team development of interactive video games on state-of-the-art devices.
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.
6377: Network System Programming
Cr. 3. (3-0). Prerequisitse: COSC 6377 and knowledge of C, C++. Network protocol stacks, socket programming, sensor network programming, network configuration, LAN and WAN measurements using state-of-the-art networking practices.
6380: Digital Image Processing
Cr. 3. (3-0). Prerequisite: COSC 4393 or consent of the instructor. Digital image processing from an operational and theoretical perspective. Image acquisition, binary image processing, histograms, point operations, sampling, filtering, restoration, color, thresholding, coding.
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. Selected topics from current research in 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.
|