### CSC 505 Computer Mathematics:

(3 Hours) Elements of set theory, functions and relations nondecimal numbers, data representation, boolean algebra. Review of elementary differential and integral calculus with applications to the problems in computer science.

### CSC 508 Legal and Economic Issues in Computing:

(3 Hours) A presentation of the interactions between users of computers and the law and a consideration of the economic impacts of computers. Includes discussion of computer crime, privacy, electronic fund transfer, and automation.

### CSC 509 Computers and Society:

(3 Hours) History of computing and technology; place of computers in modern society; the computer and individual; survey of computer applications; legal issues; computers in decision making processes; the computer scientist as a professional; futurists view of computing; public perception of computers and computer scientists.

### CSC 511 Object-Oriented Programming:

(3 Hours) Discussion of object-oriented languages. Objected-Oriented techniques using C++ language, classes, objects, constructors, destructors, friend functions, operator overloading, inheritance, multiple inheritance, polymorphism, and reusability.

### CSC 512 Computer Architecture:

(3 Hours) An advanced introduction to computer design and architecture. Topics include, instruction set architecture, RISC computers, control unit design, pipelining, vector processing, memory system architecture, and classification of computers.

### CSC 514 Statistical Methods for Research Workers:

(3 Hours) Estimation and tests of hypotheses; regression and correlation; analysis of variance; non-parametric statistics; chi-square. SAS programming for data analysis.

### CSC 515 Data Structures and Algorithm Analysis:

(3 Hours) Mathematical foundations for complexity theory, big-Oh notation, recurrence relations. Strategies for development of algorithm like divide and conquer, greedy, dynamic programming, backtracking. Exposure to some typical and important algorithms in computer science. Introduction to the theory of NP-completeness.

### CSC 518 Operating Systems:

(3 Hours) This is a second course on operating systems. This course emphasizes the concepts of process communication and synchronization, protection, performance measurement, and evaluation problems associated with mutual exclusion and synchronization, concurrent processes, information, process, device, and memory management are examined. Implementation of I/O and interrupt structure is also considered.

### CSC 519 Principles of Programming Languages:

(3 Hours). Important programming language concepts including representation of data and sequence control, data abstraction and encapsulation; procedural and non-procedural paradigms: functional, logic, and object-oriented languages; distributed and parallel programming issues.

### CSC 520 Data Base Management Systems:

(3 Hours). Prerequisite: CSC 323. Introduction to data base concepts including data independence; relations; logical and physical organizations; schema and subschema. Hierarchical, network, and relational models with description of logical and data structure representation of the database system. Normalization; first, second, and third normal forms of data relations. Relational algebra; relational calculus; data structure for establishing relations; query functions.

### CSC 521 Linear Algebra and Finite Mathematics:

(3 Hours) Matrices and determinants; ranks of matrix; inverse of matrix; solving systems of linear equations; bases of a vector space; probability; permutations and combinations; Gaussian vector space; probability; elimination, Gauss-Seidel iteration.

### CSC 523 Probability and Statistical Inference:

(3 Hours) Elements of probability; combinatorial methods; discrete and continuous distributions; cumulative distribution functions; moment generating functions; distribution associated with normal distributions; derived distributions.

### CSC 524 Computer Networks and Distributed Processing:

(3 Hours) Topologies, media selection, medium access control for local area networks (LANs) including high-speed and bridged LANs; circuit switched, ISDN wide area networks (WANs); internetworking issues and standards, ISO/OSI, TCP/IP protocols.

### CSC 526 Automata Theory:

(3 Hours) Prerequisite: CSC 321. Definition and representation of finite state automata and sequential machines. Equivalence of state and machines, congruence, reduced machines, and analysis and synthesis of machines. Decision problems of finite automata, partitions with the substitution property, generalized and complete machines, semi group; and machines, probabilistic automata, and other topics.

### CSC 527 Real-Time Systems:

(3 Hours) An introduction to the problems, concepts, and techniques involved in computer systems which must interface with external devices. These include process control systems, computer systems embedded within aircraft or automobiles, and graphics systems. The course concentrates on operating system software for these systems.

### CSC 529 Compiler Construction:

(3 Hours) An introduction to the major methods used in compiler implementation. The parsing methods of LL (k) and LR(k) are covered as well as finite state methods for lexical analysis, symbol table construction, internal forms for a program, run time storage management for block structured languages, and an introduction to code optimization.

### CSC 530 Theory of Computation:

(3 Hours) A survey of formal models for computation. Include Turing Machines, partial recursive functions, recursive and recursively enumerable sets, the recursive theorem, abstract complexity theory, program schemes, and concrete complexity.

### CSC 531 Computer Simulation Methods and Models:

(3 Hours) A study and construction of discrete-system simulation models. Use of discrete-system simulation language (GPSS/H). advance programming techniques, random number generation, generation of various random variates, and statistical validation procedure.

### CSC 532 Numerical Methods:

(3 Hours) Applying principles and techniques for computing methods. Solution of linear and nonlinear equations. Matrix methods for systems of equations. Polynomial approximation. Numerical integration. Solution of ordinary differential equations using various methods.

### CSC 533 Distributed Database Systems:

(3 Hours) Prerequisites: CSC 520, 524. A consideration of the problems and opportunities inherent in distributed database on a network computer system. Includes file allocation, directory systems. Deadlock detection and prevention, synchronization, query optimization, and fault tolerance.

### CSC 535 Information System Analysis and Design:

(3 Hours) Prerequisite: 519. A practical guide to Information Systems Programming and Design. Theories relating to module design, coupling, and module strength are discussed. Techniques for reducing a system’s complexity are emphasized. The topics are oriented toward the experienced programmer or systems analyst.

### CSC 539 Special Topics In Computer Science:

(Variable 1-9 Hours) Prerequisite: Consent of Instructor. Topics and problems of information systems that are of practical importance and current interest. New developments in system concepts, techniques, and equipment.

### CSC 540 Microcomputer Local Area Networks:

(3 Hours) Prerequisites: 518. This course describes various criteria for selecting and implementing local area networks (LANs) consisting of microcomputers.

### CSC 545 Artificial Intelligence

: (3 Hours) Efficient and intelligent search techniques. Knowledge representation, e.g., logic, semantic net. Reasoning techniques including reasoning under uncertainty, e.g., fuzzy reasoning. Exposure to different artificial intelligence systems like planning, learning (including neural network). Programming experience in Prolog, Lisp, expert system shell.

### CSC 549 Applied Combinatorics and Graph Theory:

(3 Hours) A study of combinatorial and graphical techniques for complexity analysis including generating functions, recurrent relations. Polua’s theory of counting, planar directed graphs, and NP complete problems. Applications of the techniques to analysis of algorithms in graph theory and sorting and searching.

### CSC 555 Information Storage and Retrieval

: (3 Hours) Prerequisites: CSC 422 or consent of instructor. Advanced data structures, databases, and processing systems for access and maintenance. For explicitly structured data, interactions among these structures, accessing pattern, and design of processing/access systems. Data administration, processing system life cycle, system security.

### CSC 595 Information Systems Development Project:

(Variable 1-6 Hours) Prerequisites: Pass comprehensive examination and consent of advisor. Provide the student with the experience in analyzing, designing, implementing, and evaluating information systems. Student are assigned one or more system development projects. The project involves part or all of the system development cycle. The work parallels other courses in the final year of the degree program.

### CSC 599 Thesis Research:

(Variable 1-6 Hours) Prerequisites: Pass comprehensive examination and consent of advisor. An independent study course for the preparation of a Master’s thesis.