Computer Science
 
CS 5123 Advanced Programming and Data Structures 3-0-3
Prerequisite: Credit for/or experience with the basic concepts of a higher-level programming language such as Pascal or C
This is an intensive course for graduate students with a limited background in programming. Topics from the principles of programming include: documentation, Pascal syntax and semantics, subprograms, arrays, recursion, pointers, and data structure issues (lists, stacks, queues, trees, sorting, searching) with a focus on concepts, data abstraction, and algorithms. Programming projects are implemented in Pascal.
 
CS 5153 Database Systems 3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work experience
This course includes an overview of various database models including relational, object-oriented, hierarchical, and network. It covers the planning, analysis, design, development, and implementation of database systems. This is a project course where students analyze, design, and implement a database system using a typical relational database product such as Oracle or Paradox.
 
CS 5183 Object-Oriented Programming in C++ 3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work experience
An intensive applications programming course in the C++ language focusing on object-oriented aspects. Topics covered include object structures, class structures, inheritance, class libraries, templates, messaging, base classes, virtual functions, C++ interaction with the operating system, problem domains, solution domains, and the C++ development environment. The course includes both an individual research project and a group development project.
 
CS 5223 Computer Architecture 3-0-3
Prerequisite: Credit for/or experience with the basic concepts of a higher-level programming language such as Pascal or C
This is an intensive course for graduate students with a limited background in computer architecture. Topics from the principles of computer organization and architecture include: number systems, digital logic, and assembly and machine language with a focus on concepts. Laboratory assignments are required.
 
CS 5243 Operating Systems 3-0-3
Prerequisites: CS 5123, CS 5223, or the equivalent from undergraduate degree or work experience
This is an intensive course for graduate students with a limited background in operating systems concepts. Topics from the principles of operating systems include: process management, real and virtual memory management, job scheduling, management of peripherals, multiprocessing, and file systems.
 
CS 5424 Mathematical Structures for Computer Science 4-0-4
Prerequisites: CS 5123 or the equivalent and an undergraduate course in calculus
This is an intensive course for graduate students with a limited background in discrete mathematics. Topics include: set theory, relations and functions, principles of counting, introductory graph theory, formal logic, recursion, and finite state machines.
 
CS 6023 Research Methods and Presentations 3-0-3
Materials and methods of scholarly research in computer science. Includes study of standard research paradigms with illustrative cases of each and the use of research methods and presentations in industrial and business settings.
 
CS 6100 Discrete-Time Signals and Systems 3-0-3
Underlying principles of discrete-time signals and digital signal processing. Topics include mathematical representation of discrete-time signals and systems, sampling theorem and aliasing, introduction to difference equations, IIR and FIR filters, DTF, FFT, and Z-Transforms.
 
CS 6123 Programming Language Concepts 3-0-3
Prerequisites: CS 5123, CS 5424, or the equivalent from undergraduate degree or work experience
Comparative study of programming languages with emphasis on design issues and compiler implementation problems. Covers formal definitions of syntax and semantics, data types, static and dynamic storage allocation, definition of operations, control of program flow, subroutine and function linkages, formal tools for characterizing program execution, and abstraction techniques, such as nonprocedural and object-oriented languages.
 
CS 6153 Advanced Database Systems 3-0-3
Prerequisite: CS 5153 or the equivalent from undergraduate degree or work experience
An advanced course in database systems emphasizing design issues and implementation tradeoffs. It covers the theory, algorithms, and methods that underlie distributed database management systems. Client-server architecture is discussed, and students use an application development tool such as PowerBuilder.
 
CS 6223 Advanced Computer System Architecture 3-0-3
Prerequisites: CS 5123, CS 5223, CS 5243, or the equivalent from undergraduate degree or work experience
Computer architecture, operating systems, and the integration of the two into usable computer systems. Includes discussions of processor types, buses, peripheral subsystems, microcode, instruction sets, operating systems characteristics, and interaction of operating systems with hardware.
 
CS 6243 Advanced Concepts in Operating Systems 3-0-3
Prerequisite: CS 5243 or the equivalent from undergraduate degree or work experience
Topics from the theory of operating systems including: memory management options and management of high-performance architectures that address concurrent, parallel, and distributed processing.
 
CS 6263 Computer Networks 3-0-3
Prerequisite: CS 5243 or the equivalent from undergraduate degree or work experience
Issues involved in computer-to-computer communications are examined based on the layered ISO Reference Model on Open Systems Interconnection. The objectives and methodologies of each layer are studied, with particular emphasis on the Datalink, Network, and Transport layers. Also explored are the various protocols for Local Area Networks and Wide Area Networks including wired and wireless solutions. Laboratory projects involve simulation and implementation of various aspects of inter-computer communication. Students are required to write a paper and present the findings on some of the latest network technologies.
 
CS 6283 Real-Time Systems 3-0-3
Prerequisite: CS 5243 or the equivalent from undergraduate degree or work experience
The software-development life cycle as it applies to real-time systems. Labs involve the use of a real-time operating system and an associated development environment. System performance issues are also discussed. Major project included.
 
CS 6323 Human Factors 3-0-3
The psychological, social, and technical aspects of interaction between humans and computers. Includes usability considerations, cognitive and perceptual issues, human information processing, and software development techniques for producing appropriate systems. Major project included.
 
CS 6353 Computer Graphics and Multimedia 3-0-3
Prerequisites: CS 5123, CS 5223, or the equivalent from undergraduate degree or work experience
A study of the hardware and software of computer graphics and multimedia systems from the programmer's perspective. Includes a survey of display and other media technologies, special architectures for support of graphics and multimedia systems, algorithms and data structures for manipulation of graphical and other media objects, and consideration of user interface design. Major project included.
 
CS 6423 Algorithmic Processes 3-0-3
Prerequisites: CS 5123, CS 5424, or the equivalent from undergraduate degree or work experience
Design and analysis of algorithms. Includes notations for representing algorithms, mathematical techniques for analyzing algorithms for appropriateness, completeness, use of resources, speed, correctness, and decidability.
 
CS 6453 Simulation and Modeling 3-0-3
Prerequisites: Familiarity with linear algebra and statistics and ability to program in a high-level language
The application of various modeling techniques to the understanding of computer system performance. Includes analytic modeling, queuing theory, continuous and discrete simulation methods, and the use of some software tool such as Simscript to implement a major project.
 
CS 6523 Artificial Intelligence 3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work experience
A survey of the major issues in A.I. system development and the methodologies associated with neural networks, expert systems, knowledge bases, and logic programming. Case studies will be used to illustrate material in the readings.
 
CS 6553 Expert Systems 3-0-3
Prerequisites: CS 5123 or the equivalent, SE 6623
An introduction to the development of expert systems, with an emphasis on the role of domain knowledge, knowledge acquisition, expert knowledge representation, and implementation. A major project is required.
 
CS 6901-6903 Special Topics variable credit-1 to 3 hours
Prerequisite: Consent of the department head
Special topics selected by the department. Offered on a demand basis.
 
CS 7701-7703 Master's Project variable credit-1 to 3 hours
Prerequisite: Consent of both the department head and the project advisor
This project is designed for students wanting a professional focus to their degree. The student works independently under the supervision of a designated CS faculty member on a project of practical significance in computer science. The student will generate a substantial final report and give a final defense of the project. This course may be repeated, but only 3 hours may be applied toward the degree.
 
CS 7801-7803 Master's Thesis variable credit-1 to 3 hours
Prerequisite: Consent of both the department head and the thesis advisor
The thesis is designed for students wanting a research focus to their degree. The student works independently under the supervision of a designated CS faculty member on a thesis of substance in computer science. The student will generate a formal written thesis and give a final defense of the thesis. This course may be repeated, but only 6 hours may be applied toward the degree.