Graduate Courses: College of Natural Sciences and Mathematics

Computer Science

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. 1. (3-0). Graduate Seminar; 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 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.

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.

6330: Computational Surgery: Modeling & Simulation
Cr. 3. (3-0) Prerequisite: Consent of instructor. Fundamentals using breast/lung cancer disease and endovascular disease. Described at the cellular level with cellular automata/agent based model, at the macroscopic level with chemo taxis, fluid dynamic, soft tissue mechanic and bio-heat transfer. Includes interaction with practicing radiologists and surgeons.

6332: Medical Robots & Interventions
Cr. 3. (3-0) Prerequisites: Graduate standing or consent of instructor. Fundamentals of medical robotics as used in image guided interventions or surgeries. Includes robot registration, sensing, kinematics, safety and control, augmented reality and tele-surgeries, includes project.

6333: Healthcare Informatics
Cr. 3. (3-0) Prerequisites: consent of instructor. Fundamentals of information technology in medicine. Interdisciplinary approach geared toward medical doctors and computer scientists to understand computational surgery and its conceptual and technical components.

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: 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.

6345: Programming Languages and Paradigms
Cr. 3. (3-0) Prerequisites: COSC 2320. Discussion and comparison of basic programming styles and their underlying paradigms, such as imperative programming, functional programming, logic programming and object-oriented programming. Study of languages based on these paradigms.

6348: Introduction to Game Art and Animation
Cr. 3. (3-0) Prerequisite: consent of instructor: Video game concept arts and computer animation. Covers modeling game assets and animation, using the latest game software and hardware.

6349: Intermediate Game Art and Animation
Cr. 3. (3-0) Prerequisite: COSC 6348 or consent of instructor. Advanced video game concept arts and computer animation. Covers advanced topics of modeling game assets and animation, using the latest game software and hardware.

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: Software Design
Cr. 3. (3-0). Prerequisite: COSC 6311 or approval of the instructor. Object-oriented paradigm, classes, object relationship, software architecture, use case analysis, object modeling 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 or COSC 6372. 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 or COSC 6372. Advanced team development of interactive video games on state-of-the-art devices.

6359: Intermediate Game Development
Cr. 3. (3-0). Prerequisite: COSC 4358 or COSC 6358 or consent of instructor. Continuation of Interactive Game Development course. Covers advanced theories and practices in game development.

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: Fundamentals of Medical Imaging
Cr. 3. (3-0). Prerequisite: Graduate standing or consent of instructor. Fundamentals of medical imaging modalities with emphasis on principles, data collection and reconstruction, X-rays, CT, ultrasound, MRI. Includes projects and simulations of image generation.

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.

6378: 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.

6389: Computer and Network Security
Cr. 3. (3-0). Prerequisites: MATH 3336 and COSC 4330, graduate standing or consent of instructor. Security attacks, mechanisms, and services. Overview of secret-key and public-key cryptography, authentication protocols and key management. Email, IP, and web security, intrusion detection and prevention systems. Firewalls, malware, protocol verification.

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.  

6392: 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.

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

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

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

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

6407: Computer Organization and Programming
Cr. 4. (3-1). 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.

7340: Advanced Database Management
Cr. 3. (3-0). Prerequisite: COSC 6340 or consent of instructor. Research topics on storage technologies, query optimization, data mining, database query languages and database applications.

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 or 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.

7378: Advanced Image Computing
Cr. 3. (3-0). Prerequisite: COSC 6391 or COSC 6373. In-depth treatment of recent advances in image computing, including video analytics, object recognition, physics-based modeling, multiparameter image analysis, applications in complex systems from the domains of biometrics, surveillance, biology and medicine, and other subjects of current interests. May be repeated for credit when topics vary.

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 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.

Catalog Publish Date: January 14, 2013
This Page Last Updated: November 29, 2012