Computer Science Courses (CS)

CS 5545
Computer Architecture (3)
  Functional descriptions of the major components of digital computer architectures are explored, explored, such as arithmetic and control units, memory hierarchies, channels and characterizations and interactions of individual major components of small and large computers. Also included are minicomputer architectures, specialized computer architectures, and distributed data processing architectures. Prerequisite: CS 3310, CS 3365 or CS 4445
CS 5549
Analysis of Algorithms (3)
  This course discusses various algorithms that solve searching, sorting, and cryptographic problems. There are many candidate algorithms to solve such problems. Tradeoffs involved when choosing an algorithm are discussed. Sorting algorithms such as merge, insertion, quick, and heap, search algorithms such as binary search tree, red-black tree, hashing, and B-Trees are discussed. Prerequisite: CS 3323
CS 5550
Operating Systems Principles (3)
  This course discusses what operating systems are, what they do, how they are designed and organized. Topics discussed include: process management (scheduling, intercommunication, synchronization, and deadlock handling), storage management (memory management and virtual memory management). I/O systems (hardware, interfaces, request-handling, performance issues). Applications of these concepts in modern operating systems such as Windows and Unix are presented. Prerequisite: CS 3323
CS 6625, 6626, 6627
Specialized Study in Computer Science (1-3)
This course involves the study of a problem or problems using research techniques. Selection of a problem is to be approved by the student’s advisor, instructor, college dean, and Dean of the Graduate School. The study should contribute to a student’s program. Preparation of a scholarly paper is required and may involve an oral defense. Total credit for any combination of enrollments in the specialized study courses may not exceed three (3) semester hours. The course may not be substituted for a required course. See semester hour limits listed under Course Restrictions in General Regulations.
CS 6630
Introduction to Bioinformatics (3)
  This course covers the computational methods for analyzing information about the sequence, structure, and function of biological molecules and systems, including DNA, RNA, proteins, metabolites, and other small molecules. Topics include: multiple sequence alignment, Hidden Markov Models, mathematical analysis of phylogenetic trees, physical mapping and assembly of sequences, genome rearrangement.
CS 6632
Computer Vision (3)
  Computer Vision is a topic that combines techniques from several different subfields of applied mathematics and computer science. Broadly, computer vision algorithms are used to process, analyze, and understand static and motion picture data. Frequency/time-domain transformations and Machine Learning algorithms serve as the backbone of Computer Vision.
CS 6634
Cloud Computing (3)
  This course will cover a wide range of cloud computing related concepts. Topics include but are not limited to cloud computing principles, economics, protocols, infrastructures, components, service architectures and implementations. In addition, Hadoop/map reduce as a programming model will be discussed.
CS 6635
Image Processing (3)
  This course introduces fundamentals and research directions in image processing. Topics include but are not limited to image representation and description, image transformation and filtering, image enhancement, restoration and reconstruction, image segmentation, image compression, object recognition, as well as image information retrieval.
CS 6640
Advanced Database Concepts (3)
  This course discusses design and implementation issues associated with relational and object-oriented databases. Topics include E-R modeling, relational modeling, normal forms, data storage, and concepts of object-oriented data modeling. Prerequisite: CS 3323
CS 6643
Theory and Design of Compilers (3)
  The formal properties of grammars, lexical and syntactic analysis, macro generators, and code selection are presented. Additional topics include hardwire compilers, extensibility of languages, and implementation of simple compilers. Prerequisite: CS 3372 or 3370
CS 6646
Information Systems for Operations and Management (3)
  Conceptual and practical foundations of information processing systems’ support for management and decision-making functions are examined. Computer system project management, economic and legal considerations of management information systems, systems implementation and evaluation are additional topic areas covered in this course. Prerequisite: CS 5547
CS 6647
Simulation and Modeling (3)
  The theory and design of modeling problems, validation and verification of simulation models for dynamic queuing and static Monte Carlo problems are reviewed. Discrete event and continuous simulation models are analyzed. Random number generation used in simulation languages and the implementation of models on computer hardware and software engineering using general purpose and simulation languages re presented in this course. Prerequisite: CS 5547
CS 6648
Optimization Modeling (3)
  A systems approach is explored as it relates to using various algorithms to solve different classes of managerial problems with a computer. Prerequisite: CS 3325 or CS 5547
CS 6649
Special Topics in Computer Science (3)
  A series of advanced topics in areas of computer science is offered. The course details a structured discussion of varied subjects to include technological updates, a more intense study of topics covered in other course offerings, and an introduction to advanced concepts such as artificial intelligence, the theory of computability, and formal languages. Prerequisites: 12 semester hours of graduate credit
CS 6660
Algorithmic Graph Theory (3)
  Theory and algorithms for solving computational problems in graphs and hypergraphs. The topics may include minimum transversals, maximum matchings, trees and bipartite graphs, chordal graphs, planar graphs and graph coloring, hypertrees, chordal hypergraphs, planar hypergraphs and hypergraph coloring, colorability, perfection, and chromatic spectrum. Prerequisites: CS 3323 and MTH 4420, or permission of the instructor.
CS 6664
High-Performance Computing (3)
  This course teaches the methods and technology of high-performance computing and its usage in solving scientific problems. Topics focus on advanced computer architectures, parallel algorithms, parallel languages, performance-oriented computing, and grid and cluster computing. Prerequisite : CS 3323
CS 6666
Computer Graphics (3)
  This course covers the theory, design, implementation and applications of computer graphics. Topics include common graphics hardware, 2D and 3D transformations and viewing, basic raster graphics, concepts image processing, modeling, rendering, illumination, shadows, textures, program
CS 6668
Network Security (3)
  The course covers theory and practice of communication security in computer systems and networks. Topics include authentication and access control, virtual networks, shared key encryption, public key encryption, and digital signature. Prerequisite : CS 4445
CS 6670
Applied System Analysis and Design (3)
  Introduction to information systems development process. Systems analysis methods, covering activities, tools, and techniques for requirements gathering, modeling and specification. Systems design methods, including activities, tools and techniques for design, with an emphasis on architecture, rapid development and prototyping, and detailed design. Introduces classical approaches such as information engineering as well as object-oriented analysis and design. Prerequisite: CS 4447 recommended
CS 6672
Distributed Algorithms (3)
  This course will study issues in distributed computing through models, algorithms and bounds, with an emphasis on fundamental problems. Topics in this course will include but not limited to basic models and complexity measures, leader election, mutual exclusion, consensus, fault-tolerance, broadcast and multicast, causality, synchronization, simulations among models. Prerequisite: CS 3329
CS 6674
Network and Information Security (3)
  The goal for students in this course is to learn the fundamentals of network and information security. The topics include introduction to network security, basic cryptography, authentication, cipher techniques, attacks and defenses on computer systems, overview of essential concepts and methods for providing and evaluating security in information processing systems, importance of management and administration, social issues such as individual privacy and public policy.
CS 6676
Advanced Computer Network (3)
  The goal of this course is to discuss contemporary issues of computer networks such as Wireless networks, Sensor networks, Optical Networks etc. Students are expected to review research papers and work on semester long projects. Topics will cover issues related to network communication protocol stacks and simulation of these computer networks. This course assumes good knowledge of object-oriented programming.
CS 6678
Advanced Artificial Intelligence (3)
  Intelligent agents, problem-solving, search, knowledge representation and reasoning, planning, and reasoning with uncertain knowledge. Machine learning. Design and implementation of artificial intelligence systems including expert systems, planning, logic and constraint programming.
CS 6680
Advanced Software Engineering (3)
  This course covers advanced theoretical concepts of software engineering. Topics include software development models, requirement analysis, project planning and management, software architecture and design, implementation, and testing and validation.
CS 6682
Machine Learning (3)
  Introduction to Machine Learning, covering key algorithms in supervised, unsupervised, and reinforcement learning, such as Kernel Methods, Bayesian Networks, Hidden Markov Models, K-Means, etc. The class will also address key concepts and challenges in Machine Learning, such as the bias-variance tradeoff, generalization, regularization, boosting, etc. The course is project-based, with a focus on application in computational biology/bioinformatics. A basic knowledge of statistics and probability is a must.
CS 6699
Research and Thesis (1-6)
  Guided research in Computer Science results in the preparation of a scholarly thesis. The thesis includes a discussion of the research design and methodology available to plan and conduct a systematic, thorough, critical, interpretive and analytical research in an area appropriate to the interest of the individual student and consistent with the degree program. The course requires students to prepare a thesis within guidelines provided by the faculty member and to defend it before a thesis committee.
Apply Now!