Graduate Course Descriptions
CMPS 500. OPERATING SYSTEMS (Credit, 3 hours). Study of resource management for multiprogramming and time-sharing operating systems, supervisors, scheduling I/O control systems, and interrupt handling will be discussed. Prerequisite: Consent of instructor.
CMPS 501. PROGRAMMING LANGUAGES (Credit, 3 hours). Study of various programming languages from conceptual standpoint; topics will include formal language definition, data storage techniques, grammars. Both numeric and string processing languages will be covered. Prerequisite: Consent of instructor.
CMPS 502. COMPUTER ORGANIZATION (Credit, 3 hours). Study of the organization of various modern digital computers including both hardware and software requirements; topics in Boolean algebra, switching circuit design, and total system design will be included. Prerequisite: Knowledge of Discrete Structures and Computer Organization or Computer Architecture.
CMPS 507. SCIENTIFIC COMPUTING (Credit, 3 hours). This course is designed to explore the effectiveness of various advanced techniques and algorithms for the solution of mathematical problems in science and engineering involving the computer. Topics covered will be computational algorithms, error analysis, roots of equations, approximation theory, interpolation and numerical differentiation, numerical integration, solution of system of linear equation, spline functions, numerical solution of ordinary and partial differential equations, method of least squares and smoothing of data, boundary value problems, partial differential equations, minimization of multivariate functions.
CMPS 511. DESIGN AND ANALYSIS OF ALGORITHMS (Credit, 3 hours). This course will cover the design, implementation and analysis of advanced computer algorithms, sets and graphs, sorting, searching, graph theoretic algorithms, matrix multiplication, dynamic programming, NP hard and NP complete problems. Prerequisite: Basic understanding of programming, data structure and discrete structure concepts or consent of the instructor.
CMPS 512. THEORY OF COMPUTING (Credit, 3 hours). The course covers theoretical topics including Turing Machines, algorithmic languages and recursive functions. Coding schemes are used for universal machines and programs, and to show that some problems, including the Halting problem, are unsolvable. Polynomial and exponential time algorithms are discussed. Prerequisite: Knowledge of Discrete Structures.
CMPS 514. COMPILER THEORY (Credit, 3 hours). Time-sharing, real time and virtual systems, review of Backus Normal Form language descriptions and basic parsing concepts, Polish and matrix notation as intermediate forms, and target code representation: topics to be covered include a study of techniques for semantic and syntactic analysis, and allocation of storage areas. Prerequisite: CMPS 500 and CMPS 501.
CMPS 516. GRAPH THEORY AND NETWORKS (Credit, 3 hours). This course will develop basic results about graphs, as well as efficient algorithms associated with the solution of many important problems involving graphs in communication systems. Topics to be studied include spanning trees, algorithms, network immunity, heuristic network design algorithms, routing, Warshall’s algorithm flows in networks (Ford-Fulkerson Algorithm), capacity assignment in centralized and distributed networks, matrices associated with a graph, planar and non-planar graphs. Prerequisite: Consent of instructor.
CMPS 520. DATABASE MANAGEMENT SYSTEMS (Credit, 3 hours). This course will discuss data modeling, SQL, database application development, indexing, query optimization, transaction management and database design. Concepts of parallel databases, data warehousing and data mining will be covered. Prerequisite: CMPS 420.
CMPS 525. SOFTWARE ENGINEERING: DEVELOPMENT (Credit, 3 hours.) Introduces the concept of software life-cycle, looks at a number of life-cycle models, then considers in depth the requirements analysis and design phases. Topics covered include systems engineering, Structured Analysis, Warnier-Orr Methodology, Jackson Methodology, object-oriented design, real-time design, and implementation. Prerequisite: Consent of instructor.
CMPS 526. SOFTWARE ENGINEERING: CONTROL (Credit, 3 hours). Non-trivial software systems must be developed using formal methods of control to ensure a correct and quality product. Topics covered include quality assurance, software testing, independent validation and verification, and configuration management. Prerequisite: CMPS 525.
CMPS 527. SOFTWARE ENGINEERING: MANAGE MENT (Credit, 3 hours). Good management is vital to the development of all non-trivial software systems. This course covers the management aspect of planning, organizing, staffing, directing and controlling a software development project. Prerequisite: CMPS 525.
CMPS 532. DISTRIBUTED PROCESSING (Credit, 3 hours). Distribution of data, computation and control in distributed processing systems will be discussed. This course will cover study of a distributed programming language such as ADA. Selected topics include networking, inter-networking, data communication principles, inter-process communication in UNIX, distributed coordination, distributed databases, distributed deadlock detection, recovery, fault tolerance and security issues. Prerequisite: CMPS 500 or permission of the instructor.
CMPS 533. TELECOMMUNICATIONS (Credit, 3 hours). Basic concepts in telecommunications are covered with emphasis on the types of communication links, data transmission, noise and distortion, data errors, and message switching. Selected topics in data communication will be surveyed. Prerequisite: CMPS 500.
CMPS 534. DIGITAL DATA NETWORKS (Credit, 3 hours). An in-depth presentation of the technology and architecture of local, metropolitan and wide area networks. Covers OSI model and related protocols, FDDI, Frame Relay/SMDS/ATM Switching, SONET, and the newer technologies including Broadband ISDN. Prerequisite: CMPS 500.
CMPS 535. NEURAL NETWORKS (Credit, 3 hours). This course will consider design, architecture and implementation of neural networks. Neural networks are becoming increasingly versatile due to their ability to solve difficult nonlinear problems that are not solvable using traditional methods. Inherently parallel design and ability to interact with the environment make neural networks ideal for large applications. Topics include neural networks as emerging technology, perceptions, associative memory networks, radial-basis networks, spline networks, recurrent networks, neural learning, gradient descent method and back-propagation. Issues related to neuro-computing hardware and neuro-VLSI implementation will be discussed. Neural networks will be examined as problem solving tools as compared with the fuzzy systems and expert systems. Prerequisite: Consent of instructor.
CMPS 536. INFORMATION AND CODING THEORY (Credit, 3 hours). This course is a study of the underlying concepts in digital communications systems. Topics covered are representation of signals and systems, limits in information theory, complete random processes, time-frequency analysis, error-control coding, group codes, burst-error-detecting codes, convolution coding and the Viterbi algorithm, trellis coding, turbo codes, sequential and majority logic decoding, automatic repeat-request strategies, advanced systems. Prerequisite: Consent of instructor.
CMPS 537. AUTONOMOUS ROBOTICS (Credit, 3 hours). Practice in designing robotic systems that, with no human aid, sense and act upon complex environments. Topics include behaviors, deciding what to do next, perception via programmed concepts and via neural nets, social behavior, language emerging from shared concepts and an architecture of nodes.
CMPS 555. IINTRODUCTION TO DATA MINING (Credit, 3 hours). The course will cover an introduction the fundamental concepts of data mining, key data mining techniques such as association rules, neural networks, genetic algorithms, and statistical based mining techniques, efficient high performance mining algorithms, and exposure to applications of data mining in various areas.
CMPS 558. MODELING AND SIMULATION (Credit, 3 hours). Covers the use of computer simulation as a tool to predict system behavior. Topics include statistical models, biomedical system models, computer-based simulation, simulation languages, simulation packages, data analysis, data visualization, and result interpretation. Applications are drawn from diverse areas of science and engineering. Delivery of knowledge incudes textbook, lecture notes, labs, lab assignments and projects. Prerequisite: CMPS500 (with grade C or above)
CMPS 559. INTRODUCTION TO COMPUTATIONAL SCIENCE AND APPLICATION (Credit, 3 hours). Covers the introduction to Distributed Computing, High Performance Computing, and Cloud Computing, which are the broad range of systems. It is a graduate level course that describes computer architectures, network architectures, and scalable and parallel computational algorithms. The focus of this course will be given to the methods that allow reducing computational time implementing Massage Passing Interface and Open Multi-Processing for multicore and many processor machines. There are two major problems that can be solved: a) problem size and b) system size implementing MPI and Open MP. These methods will be discussed and applied to solve practical problems. The examples of the practical problems are sorting, tree searching, linear algebra, numerical integration and other.
CMPS 560. BIG DATA (Credit, 3 hours). This course covers the knowledge of Big Data science. It serves as a graduate level course for graduate students. The focus will be Big Data storage, processing, analysis, visualization, and applications. State-of-art computational frameworks for Big Data will be introduced to students. Students will learn the essentials of Big Data management, processing, and system reliability. Delivery of knowledge incudes textbook, lectures, labs, lab assignments, programming projects, and research projects. Prerequisite: CMPS500.
CMPS 565. DEEP LEARNING (Credit, 3 Hours). The course will cover the principle of deep learning algorithms as a new superpower to build AI systems. The students will learn how to apply deep learning models to predict an outcome for a new data point based on prior data. This course provides a broad introduction to deep learning and systematically opens the black box of deep learning models for students. The course will also discuss recent applications and research, giving the students the ability to read current research papers in the area of deep learning and intelligence computations. Prerequisite: CMPS 410B or consent of instructor.
CMPS 574. RESEARCH TECHNIQUES (Credit, 3 hours). Students will learn how to conduct literature reviews of articles, journals, white papers using Internet, computerized databases and library resources. Students will learn to develop research questions, hypotheses, research topics, research designs and write research papers in standard format.
CMPS 580. ARTIFICIAL INTELLIGENCE (Credit, 3 hours). Review of attempts to initiate human and animal intelligence and of commercial spin-offs there from. Topics come from such diverse areas as machine perception, game-playing, autonomous robotics and knowledge engineering.
CMPS 583, CMPS 586. INDEPENDENT RESEARCH (583, Credit, 3 hours); (586, Credit, 6 hours.) A three or six-hour course in which the graduate student conducts research on a project with a research advisor or works in industry with supervisors acting as research advisor. Prerequisite: Consent of Advisor. (Not for degree credit).
CMPS 587. OBJECT ORIENTED DESIGN PATTERN (Credit, 3 hours). The concepts behind the patterns approach will be studied, followed by a detailed examination of a selection of the various patterns. Gamma et al. have categorized these patterns under Creational, Structural, and Behavioral. In this introductory course to design patterns, the following patterns will be studied and applied: Creational Patterns: Abstract Factory, Builder, Factory Method, and Singleton; Structural Patterns: Adapter, Composite, Decorator, and Proxy; Behavioral Patterns: Iterator, State, Strategy, and Template Method. Projects consist of software problems whose design and maintenance call for the application of these patterns.
CMPS 592. ADVANCED TOPICS IN COMPUTER SCIENCE (Credit, 3 hours). Current topics in computer science research. Prerequisites: CMPS 525 and/or consent of instructor.
CMPS 598. SUPERVISED RESEARCH (Credit, 3-6 hours). Student selects a chair and research advisors to serve on committee for thesis or special project. Student presents research initiative to the committee for approval prior to midterm. Weekly meetings with chair and monthly meetings with full committee are required. A final grade other than “I” (Incomplete) will be given. Prerequisite: CMPS 574.
CMPS 599. SPECIAL PROJECT (Credit, 3-15 hours). Continuation of research on Special Project. Satisfactory oral defense of topic is required for graduation. (Prerequisite: CMPS 598).
CMPS 600. THESIS (Credit, 3 hours.) Continuation of research on Thesis. Satisfactory oral defense of topic is required for graduation. (Prerequisite: CMPS 598).
CMPS 610. GRADUATE COMPREHENSIVE. (Credit, 0 hrs. with grade of P/F). Prerequisite: Student must have completed all Computer Science core courses.