University Overview
Student Admissions and Regulations
Financial Information
Degrees and Required Credit Hours
Colleges
Course Descriptions
Board of Trustees, Administration, Faculty
Index

TROY Home
Catalog Table of Contents

COMPUTER SCIENCE
 
CS 5543 Software Engineering (3)
  This course aims at producing good practice in developing software and provides an overview of how to do software engineering using an object-oriented approach. The course assumes familiarity with object-oriented programming. It focuses on the appropriate processes, models and metrics in quality software development. Prerequisite: CS 4446 or CS 5547
   
CS 5545 Computer Architecture (3)
  Functional descriptions of the major components of digital computer architectures are 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 3357, CS 3365 or CS 4445
   
CS 5547 Systems 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 objectoriented analysis and design. (CS 4446 recommended)
   
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 algoithm 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 section.
   
CS 6640 Data Base Management Concepts (3)
  This course discusses design and implementtation issues associated with relational and object-oriented databases. Topics include ER modeling, relational modeling, normal forms, data storage, and concepts of object-oriented data modeling. Prerequisite: CS 3323
   
CS 6641 Society and Information Systems (3)
  A survey and analysis of individual and societal attitudes, interactions, and decisionmaking is provided concerning the design and application of computers in information storage, retrieval and processing.
   
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 3343 or 3370
   
CS 6646 Information Systems for Operations and Management (3)
  Conceptual and practical foundations of information processing systems’ support formanagement 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 represented in this course. Prerequisite: CS 5547
   
CS 6648 Operations Research (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 CS (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 6650 Distributed System Principles (3)
  The invention of high-speed computer networks make it possible to easily put together computing systems composed of large numbers of computers connected by a highspeed network called a Distributive System. This course presents the terminology, concepts, problems and implementations of such systems. Specific Object-Based Distributive Systems like Corba, DCOM and Java Remote Method Invocation (RMI) will be covered. Prerequisite: CS 3323 or CS 5550
   
CS 6651 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 6652 XML Technology Principles (3)
  This course discusses Extended Markup Language (XML) technology. Topics discussed are XML document creation, document rule definitions such as document type definition (DTD and Schema), XML style anguages (XSL and XSLT). Also XML applications and how programming language can process documents are presented. Prerequisite: CS 3323
   
CS 6653 Topics in Software Security and Reliability (3)
  This course discusses Software Quality, Fundamentals of Reliability and Rates of Failure, Fundamentals of Data and Distributions, Reliability Testing, Software Growth Models, Software Security and Safety Fundamentals, Software Testing and Stopping Rules (Project Topic I), System Reliability and Redundancy, and Integrated and Internet Software System Reliability Security (Project Topic II). Prerequisite: Permission of the instructor
   
CS 6654 Topics in Software Engineering (3)
  The course extends the topics of the Software Engineering course in which the principles of software development are covered. This course covers advanced topics in software engineering, including software architecture, design patterns, multi-media software, embedded software engineering, and knowledge-based approaches to software engineering. The course also includes a number of case studies. Participants are to write a paper on a topic in Software Engineering. Prerequisite: CS 5547
   
CS 6655 Digital Logic Design – Principles and Practices with Emphasis on Testable Semicustom Circuits (3)
  Combinational circuit analysis including hazard detection; Number systems and codes; Switching algebra; Combinational circuit design including PLA and MSI techniques; IC logic families; Flip-flop properties; Switching algebra: special properties – symmetric functions, unate functions, threshold functions, Boolean difference, functional decomposition; Introduction to sequential circuits – sequential circuit analysis; Pulse mode sequential circuits – state reduction, incompletely specified machines, state assignment, series-parallel decomposition; Fundamental mode sequential circuits – race, hazards, state assignment; Testing aspects of digital systems – failure and fault models, deterministic test generation for combinational circuits, testing sequential circuits, state identification, testing memories and complex LSI/VLSI circuits, design for testability techniques: scan techniques, built-in self-test (BIST), easily testable network structures; Semicustom and MSI design; Special sequential circuits including sequential integrated circuits. Prerequisite: CS 5545
   
CS 6656 Design and Testing of Reliable Digital Systems (3)
  Introduction to digital circuits testing. Fault model and test generation for combinational circuits – fault table, path sensitization, ENF, SPOOF and Boolean difference methods. Fault detection in sequential circuits – state identification sequences and designing checking experiments for sequential machines. Design for testability – readily diagnosable and counter-cycle (CC) type sequential machines. Random testing of digital combinational and sequential circuits – continuous- parameter Markov model and error latency model. Built-in self-test (BIST) in VLSI. Data compression in VLSI BIST – concepts of space compression and time compression. Aliasing probability. Fault signature analysis. Fault simulation. Deterministic and pseudorandom test pattern generator. FAN and PODEM. Scan path design. Functional testing of LSI and VLSI circuits– testing microprocessors. Testing of memory devices. Recent trends – embedded systems and systems-on-chip (SOC) design and circuits. Fault tolerance and reliability in modern digital design. Prerequisite: CS 6655
   
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. Prerequisites: Unconditional admission to the Master of Science in Computer Science program and completion of twenty-four (24) semester hours of course work