Graduate Courses

Information & Computer Science

Review of object-oriented concepts; Basic algorithms analysis; Fundamental data structures - implementation strategies for stacks, queues and linked lists; Recursion; Implementation strategies for tree and graph algorithms; Greedy Algorithms; Hash tables; Applications of data structures (e.g. data compression and string matching).

Pre-Requisites: ICS108

None

Fundamental concepts and techniques of intelligent systems. Principles and methods for heuristic search, knowledge representation, problem solving, planning and reasoning with uncertainty, game and adversarial search and their application to building intelligent systems in a variety of domains. Basics of machine learning, visual perception and natural language processing. Introduction to AI programming. Pre-requisites: Graduate Standing.

Introduction to machine learning; supervised learning (linear regression, logistic regression, classification, support vector machines, kernel methods, decision tree, Bayesian methods, ensemble learning, neural networks); unsupervised learning (clustering, EM, mixture models, kernel methods, dimensionality reduction); learning theory (bias/variance tradeoffs); and reinforcement learning and adaptive control.

An introduction to a wide variety of robust optimization algorithms based on the theme of nature inspired optimization techniques. Computational implementation single-state methods such as Simulated Annealing and Tabu Search ; and population-based methods such as Genetic Algorithms, Particle Swarm, and Ant Colony. Theory including representations, landscapes, epistasis, code bloat, diversity, and problem structure is discussed. Applications to optimization, machine learning, software development, and others.

Deep Learning models and their applications in real world, foundations of deep learning networks training and optimization, deep learning models for spatial and temporal data processing, analysis of prominent deep learning models such as Convolutional Neural Networks (CNNs), Recurrent and Recursive Networks, Long-Short Term Memory (LSTM), Residuals Networks, and Generative Adversarial Networks (GANs), One-Shot Learning and Deep Reinforcement Learning.

Pre-Requisites: ICS502

Taxonomy of computer vision tasks, applications of computer vision, image representation in the spatial and frequency domains, image formation, image filtering, feature detection and matching, image segmentation, image classification, object detection, Image alignment and stitching, motion estimation and tracking, depth estimation, deep learning for computer vision. Note: Not to be taken for credit with ICS 483

Pre-Requisites: (MATH503 Or MATH528) And ICS504

Natural language processing (NLP) fundamentals, Language modeling, Vector space semantics and Embeddings, Sequence labelling, Syntactic parsing, semantic analysis, Information Extraction, Machine translation, Discourse Coherence, Question Answering, Dialogue Systems and Chatbots, and Natural language summarization.. Pre-requisites: ICS-504 or Consent of Instructor.

Introduction to parallel computational models (PRAM, Meshes, Trees, Hypercubes, Shuffle-Exchange, Mesh-of-Trees) and complexity measures. Parallel algorithms design techniques: divide-and-conquer, parallel prefix, pointer jumping, list ranking, Euler's path technique, and ear decomposition. Parallel algorithms for selection, merging, sorting, searching, and graph problems. Computational geometry. Graph embedding. Parallel computational complexity: equivalence of Boolean circuits and the PRAM models, the NC class, and P-complete problems.

Software Requirements: Modem SRS for Enterprise Application and Performance-Critical Systems. Software Process: Personal Software Process, Team Software Process. Software Design: Architecture Tradeoff Analysis, Enterprise Architecture, COTS Architecture, Service Oriented Architecture, RAD. Software Planning: Software Acquisition, Software Engineering Measurement and Analysis (SEMA). Software Quality Assurance : 6-Sigma Software Integration : Enterprise Application Integration, COTS Integration. Prerequisite: ICS 413 or Equivalent

The course gives state of the art and state of the practice in software requirements engineering. In-depth research-oriented study of methods, tools, notations, and validation techniques for the analysis, specification, prototyping, and maintenance of software requirements . Topics include study of object-oriented requirements modeling , using state of the art modeling techniques such as the Unified Modeling Language (UML). The course work includes a project investigating or applying approaches to requirements engineering. Prerequisite: ICS 413 or Equivalent

Concepts and methods for the architectural design of large-scale software systems. Fundamental design concepts and design notations are introduced. Several design methods are presented and compared. In-depth research-oriented study of objectoriented analysis and design modeling using state of the art modeling techniques such as Unified Modeling Language (UML). Students participate in a group project on object-oriented software design. Prerequisite: ICS 413 or Equivalent

In-depth research-oriented study of Verification and Validation throughout the development lifecycle. Techniques for validation and verification. Quality assurance at the requirements and design phases. Software testing at the unit, module, subsystem, and system levels. Automatic and manual techniques for generating and validating test data. Testing process: static vs. dynamic analysis, functional testing, inspections , and reliability assessment. Prerequisite: ICS 413 or Equivalent

Lifecycle and process models; process metrics; planning for a software project; mechanisms for monitoring and controlling schedule, budget, quality, and productivity; and leadership, motivation, and team building. Topics cover quantitative models of the software lifecycle, process improvement techniques, cost-effectiveness analysis in software engineering, multiple-goal decision analysis, uncertainty and risk analysis, software cost estimation, software engineering metrics; and quantitative lifecycle management techniques. Prerequisite: ICS 413 or Equivalent

Advanced topics selected from current journals of Software Engineering that deal with theoretical development or applications in the field. Topic include: Reusable Software Architectures, Software Engineering, Experimentation, Concurrent Software Systems, Software Metrics Software Engineering for the World Wide Web, Formal Methods and Models in Software Engineering, etc. Prerequisite: Consent of Instructor

Application of Artificial Intelligence (AI) and Machine Learning (ML) for robotic systems. Intelligent Agents (IA), blind/uninformed and informed search algorithms for path planning. Relational and associative navigation, behavior coordination, uncertainty, and probabilistic reasoning. knowledge representation methods. Different types of IA architectures (operational, systems and technical) and layers (behavioral, deliberative, interface) within a canonical operational architecture of an intelligent robot. Logical agents, deductive and practical reasoning agents, reactive and hybrid agents, rational agents and how to use such techniques for creating autonomous robots/agents. Fundamentals and practical usage of Machine Learning (ML) algorithms, including supervised, unsupervised, reinforcement and evolutionary learning paradigms for implementing autonomous robots/agents. Prerequisites: Graduate Standing, cannot be taken for credit with CISE 483

Structural design aspects of an operating system. The process model. Interprocess communication. Synchronization mechanisms. Resource management and use. Scheduling. Capabilities. Deadlock detection, recovery, and avoidance. Memory management. File systems. Protection issues. Introduction to distributed operating systems. Case studies. Students are to conduct projects on the design and implementation aspects of an operating system. Prerequisite: ICS 431 or equivalent

Performance measures. Modeling methodologies: queuing models, graph models, dataflow models, and Petrinet models. Mathematical models of computer systems: CPU and computer subsystems such as memory and disks. Bottleneck analysis. Modeling multiserver systems. Model validation methods. Case studies. Projects. Equivalent to COE 532 Prerequisite: ICS 431 or Consent of the Instructor

Basic probability and statistics: random variables, probability distributions. Generation of random numbers and random variables. Review of discrete-event simulation tools and methodologies. Mathematical modeling computing systems. Simulation languages. Applications to computer systems: time shared systems, multiprocessor systems, LANs, computer networks, DBMS, and distributed systems. Distributed and concurrent discrete-event simulation. Projects. Equivalent to COE 554 Prerequisite: STAT 319 or equivalent

Review of database concepts. Database design: requirements analysis, conceptual design; logical design, physical design; user application development, testing, maintenance, and performance monitoring. Various types of database systems such as logic, object-oriented and federated. Issues in database systems. Current research trends. The student is expected to carry out a project on the design and implementation of a real life database or the development of a database tool. Prerequisite: ICS 334 or Consent of the Instructor

Principles of functional, imperative, object-oriented and logic programming languages. Semantic specification including axiomatic, operational and denotational semantics. Fundamentals of type systems such as abstract data types, polymorphism, and inference. Concurrent systems. Case studies of contemporary programming languages. Prerequisite: ICS 313 or Equivalent

Overview of real-time systems. Design and implementation issues. System interfacing basics. Embedded software design constraints under size, performance, and reliability. Software timing and functional validation. Applications and case studies of real-time hardware and software systems. Equivalent to: COE 597 Prerequisite: ICS 431 or Equivalent

Advanced topics selected from current journals in the field that deal with theoretical development and applications of computer systems. Prerequisite: Consent of the Instructor

None

None

None

Virtuality, virtual objects, images, worlds, and environments, presence and telepresence, immersive vs non-immersive VR, marker based and marker-less AR, 3D interface design considering cognitive boundaries and limitations, HMD, standalone and mobile integrated, HADs and special displays, AR interfaces, hangable, collaborative, hybrid and multimodal, MR surface approximation, applications of VR and AR in Education, Medicine, Military, Engineering and Accenture, XR application design and development in Unity.

None

None

None

None

Chomsky hierarchy of Phrase-structure grammars. Classes of languages (regular,context-free, context-sensitive, free) and their representations (grammars and automata). Closure and decidability properties of classes of languages. Universal Turing machines. Undecidable problems. Prerequisite: Consent of the Instructor

Machines and Languages. Universal machines. Recursive functions. The s-m-n Theorem, Church thesis. Godel's incompleteness theorem. Decidability and Undecidability. Complexity classes and the polynomial time hierarchy. Prerequisite: Consent of the Instructor

Computatinal complexity: P-space and EXP classes, Reduction, NP-comlete problems, Cook’s therem, Randamized algorithms, Approximation alogorithms, Branvh and Bound, Amortized analysis; Max flow, Bipartite matching; Geometric algoriths: Convex hull, Closest pairs; Computability: Turing machines, Church-Turing thesis, Rice’s theorem, Undecidability. Prerequisite: ICS 353 or Equivale

A study of combinatorial and graphical techniques for complexity analysis including generating functions, recurrence relations, Polya's theory of counting, planar directed and undirected graphs, NP complete problems. Application of these techniques to analysis of algorithms in graph theory. Prerequisite: Consent of the Instructor

A survey of the mathematical principles of cryptography and data security. A detailed study of conventional and modern cryptosystems. Information theory, Number theory, Complexity theory concepts and their applications to cryptography. Prerequisite: Graduate Standing

None

This course offers an introduction to bioinformatics with an emphasis on biomedical aspects. Topics include bioinformatics databases, sequence alignments, protein domains, protein-protein interaction, gene expression, gene ontology, pathways, disease state analysis, and computational methods in biomedicine.​ Note: Consent of Instructor required.

Advanced topics selected from current journals of Theoretical Computer Science that deal with theoretical development or applications of computer systems. Prerequisite: Consent of the Instructor

Review of complex numbers and complex vector space. Deterministic and probabilistic Systems. Quantum Systems. Quantum States. Reversible and Quantum Gates. Deutsch Algorithm. Deutsch-Josza Algorithm. Quantum Speedup. Quantum Programing Languages (Qiskit, Querk), Quantum Functions Implementation.

Searching and sorting algorithms, Complexity analysis, Dynamic programming, Randomized algorithms, Review on Quantum Mechanics, Quantum solutions, Quantum Complexity theory and NP-Completeness, Grover searching algorithm, Fourier transform, Integer Factorization.

Review on Number Theory, Symmetric-key cryptography, Shannon Theory, Commitment scheme and coin-flipping, Public Key Encryption: RSA, Diffie-Hellman Protocol, ElGamal Cryptosystem, Quantum cryptanalysis, Quantum information processing, Quantum money, the quantum one-time pad, Key distribution protocols

Examination of modern computer networking and data communications . Contemporary concepts, facilities, practices, implementations, and issues. Data Link and media access layer protocols. Introduction to Gigabit Ethernet, ATM and Frame Relay. Protocols of TCP/IP suite. IP routing, flow and congestion control. Application Layer. Introduction to modeling and analysis of data networks : Queueing theory, Little's Law, Single Queues, and Jackson Networks. Equivalent to: COE 540 or EE 674 Prerequisite: ICS 432 or Equivalent

Introduction to Clients, Servers, and Protocols. Client-Server Architectures. Software Architectures for Clients and Servers. Network and Operating System Support for Client-Saver Applications. Programming language support Standard interfaces and API. Examples of clients and servers for several popular protocols such as X, POP3, news, ftp, and http. Project(s). Prerequisite: (ICS 570 and ICS 431) or Consent of Instructor

Introduction to parallel and distributed computation models. Mapping a parallel solution to a distributed computing platform Programming issues. Operating system support for distributed computing . Message passing environments such as PVM and MPI. Load balancing. Migration. Agent architectures . Performance and complexity measures. Services. Service driven design of distributed applications. Timing and Synchronization . Remote procedure invocation . Project(s). Prerequisite: (ICS 570 and ICS 431) or Consent of Instructor

Theory and practice of parallel computing. Analytical models of parallelism and performance evaluation . Parallel architectures. Software tools for parallel programming. Design and implementation methodologies for parallel high performance applications. Design, analysis, and implementation of parallel solutions for various scientific problems such as linear algebraic problems, fast Fourier transform , Monte Carlo techniques, boundary value problems, finite element techniques, and iterative systems . Project(s). Prerequisite: (ICS 353 or Equivalent) or Consent of Instructor

Introduction and foundation of big data and big-data analytics. Sources of big data. Smart clouds. Hadoop file system and Apache Spark. Storage management for big data. Machine learning and visualization with big data. Applications of big data. Big data security, privacy, and its societal impacts.

Application Development for Deployment over the WWW . Application protocols . Connection and Session Objects. Authentication Services . Integrating Database Services . Component Architectures . Scripting Languages. Modem applications and application architectures such as Digital Cash and E-Commerce . Making use of the state-of-art tools, a major project will be developed by the students. Prerequisite: ICS 571

Advanced topics selected from current journals of Parallel and Distributed Computing that deal with theoretical development or applications of computer systems. Prerequisite: Consent of the Instructor

An in-depth study of Artificial Intelligence topics. State of the art approaches to Artificial Intelligence. Knowledge Engineering. Planning Natural Language Understanding. Speech Understanding. Computer Vision. Prerequisite: ICS 381 or equivalent

Components of a natural languages processing system. Natural language models: Mathematical, psychological, lexical, syntactic, and semantic analysis. Phrase-structured grammars. Transformational grammars. Transition networks. Semantic networks. Conceptual parsing. Conceptual dependency. Systemic and case grammars. Scripts, plans and Goals. Knowledge representation. Sentence generation. Recent trends. Prerequisite: ICS 381 or equivalent

Various methods of pattern recognition, extraction methods, statistical classification, minmax procedures, maximum likelihood decisions, data structures for pattern recognition, case studies. Prerequisite: Consent of the Instructor

Survey of proof theory and model theory of first-order predicate calculus, natural deduction, Herbrand's procedure, resolution methods, induction principles, rewrite rules, theorem-provers for algebraic systems. Prerequisite: Consent of the Instructor

Overview of Artificial Intelligence disciplines. Architecture of expert systems: including the structure of knowledge bases and the various knowledge representation methods, inference engines and reasoning techniques, search and exploitation of domain specific knowledge through heuristics, knowledge acquisition. Discuss examples of expert systems shells, their capabilities and limitations. Assign projects in specific discipline using available shells. Prerequisite: Programming knowledge and Graduate Standing (Cannot be taken for credit with ICS 485)

None

Advanced topics selected from current journals of Artificial Intelligence that deal with theoretical development or applications of computer systems. Prerequisite: Consent of the Instructor

Advanced topics selected from current literature that deals with theoretical foundations and advances in computer sciences. The specific content of the offering of the course should focus on a specific area of the computer science.

The course can be taken under the supervision of a faculty member to conduct in depth study of a subject. Prerequisite: Consent of the Instructor

Graduate students working towards either M.S. or Ph.D. degrees, are required to attend the seminars and contribute to the general area of their thesis research. Grade on a Pass or Fail basis. Prerequisite: Consent of the Instructor

This course is intended to allow the student to conduct research in advanced problems in his MS research area. The faculty offering the course should submit a research plan to be approved by the graduate program committee at the academic department. The student is expected to deliver a public seminar and a report on his research outcomes at the end of the course. Prerequisite: prior arrangement with an instructor

Prerequisite: Consent of the Instructor

Representation and generation of combinatorial objects, graph algorithms and greed method and theory of matroids. Graph matching and applications. Network flow and applications. Approximation algorithms to combinatorial problems like scheduling, bin packing, knapsack, vertex cover, TSP, clique partitioning, graph compression, Steiner problem on networks. Randomization algorithms: Monte-Carlo, Las-vegas, algorithms, occupancy problems, randomized sorting and pattern mating, markov chains and random walks Prerequisites: ICS 553 or Consent of Instructor

Pre-Requisites: ICS553 Or ICS553

The course covers advanced topics in pattern recognition and machine learning. Recent conference and journal papers will be discussed in depth. Tentative topics: Classification and discriminant analysis, feature generation using transformations. Feature selection, data transformation and dimensionality reduction, Classifier evaluation, Kernel methods, error rate estimation techniques and performance evaluation. Actual topics covered will depend on time available and students’ interests.

Pre Req: ICS 547 or Consent of Instructor

A graduate student will arrange with a faculty member to conduct an industrial research project related to the Artificial Intelligence and Machine Learning field of the study. Subsequently the students shall acquire skills and gain experiences in developing and running actual industry-based project. This project culminates in the writing of a technical report, and an oral technical presentation in front of a board of professors and industry experts. Pre-requisites: Completion of 12 credit hours.

Taxonomy of distributed systems: Client-server, cluster systems, Grid systems, P2P systems, cloud systems, volunteer-based systems. Distributed systems service models. Modeling, performance, scalability, elasticity and trust/reputation issues in distributed systems. Project(s). Prerequisites: ICS 531 or Consent of Instructor.

Formal methods for the description of programming languages. Advanced semantics models, attribute grammar, two-level grammars, fixed-point theory of computation, Program verification techniques. Prerequisites: ICS 535 or Consent of Instructor.

Pre-Requisites: ICS535 Or ICS535

This course explores recent research trends and developments in computer networks and their applications covering state-of-the-art topics and case studies.

Advanced topics selected from current literature that deals with theoretical foundations and advances in computer science. The specific content of an offering of the course should focus on a specific area of computer science. Prerequisites: Consent of Instructor

Advanced topics selected from current literature that deals with theoretical foundations and advances in computer science. The specific content of an offering of the course should focus on a specific area of computer science. Prerequisites: Consent of Instructor

Graduate students are required to attend the seminars given by faculty members, visiting scholars, and fellow graduate students. Additionally, each student must give at least presentation on a timely research topic. Among other things, this course is designed to give the student an overview of research, research methodology, journals and professional societies. Graded on a Pass or Fail basis.

This course is intended to allow the student to conduct research in advanced problems in his PhD research area. The faculty offering the course should submit a research plan to be approved by the graduate program committee at the academic department. The student is expected to deliver a public seminar and a report on his research outcomes at the end of the course. Prerequisite: prior arrangement with an instructor

None

This course enables the student to submit his PhD Dissertation Proposal and defends and defends it in public. The student passes the course if the PhD Dissertation committee accepts the submitted dissertation proposal report and upon successfully passing the Dissertation proposal public defense. The course grade can be NP, NF, Prerequisites: PhD candidacy and co-requisite: ICS 699

Pre-Requisites: ICS699*

Co-Requisites: ICS 699

This course enables the students to work on his PhD Dissertation as per the submitted dissertation proposal, submit its final report and defend it in public. The student passes the course if the PhD Dissertation committee accepts the submitted final dissertation report and upon successfully passing the Dissertation public defense. The course grade can be NP, NF or IP.

Pre-Requisites: ICS711