601710 Data Communications and Networking (3 Credit Hours)
The course covers applications, industry and benefits of communications systems and networks (LAN, WAN, MAN, WLAN, VPN, NAT, FW), the standard process for communication protocols, the fundamentals of data communications and its role in computer networks, packet and circuit switching, transmission and telecommunication systems, the OSI and TCP/IP stacks, details of the physical and data link layers protocols and functions (framing, error control, flow control), and an introduction to signal processing.
601711 Knowledge-Based Systems
(3 Credit Hours)
Concepts of Expert Systems, definition and applications, characteristics of expert systems, knowledge representation, inference methodologies, rule-based and production systems. Forward and backward inference systems, fuzzy logic and probabilistic logic, frame-based systems, and multi-agent systems.
601712 Design and Analysis of Algorithms
(3 Credit Hours)
This course covers three major areas: advanced data structure, algorithm design techniques, and advanced algorithm analysis methods. Topics covered include: Fibonacci tree, red black tree, disjoint set data structure, popular algorithm design techniques such as: divide and conquer, dynamic programming, and greedy algorithms algorithm analysis method such as: worst and average case time and space complexity analysis and complexity lower bound. Some advanced analysis methods such as, probabilistic analysis and amortized analysis will also be covered. Beside these, we will learn various problem-specific algorithms, such as graph algorithm, pattern matching, and linear programming. Various complexity classes of algorithms, such as P, NP, Co-NP, NP-Hard, and NP-Complete will also be discussed.
601713 Natural Language Processing
(3 Credit Hours)
This course will cover traditional material, as well as recent advances in the theory and practice of natural language processing (NLP) - the creation of computer programs that can understand, generate, and learn natural language. The course will introduce both knowledge-based and statistical approaches to NLP, illustrate the use of NLP techniques and tools in a variety of application areas, and provide insight into many open research problems.
601714 E-business Security and Information Assurance
(3 Credit Hours)
Addresses security of e-business and other cyber environments, especially data center and access requirements. Emphasizes information security phases of inspection, protection, detection, reaction, and reflection. You explore application, server, and database security, virtual local area networks (VLAN), and learn about secure access, financial transaction, backup, and disaster recovery techniques. In the financial arena, you discover the special needs of Electronic Data Interchange (EDI) and smartcard security. Become an expert in estimating and managing financial security risk. You will complete a project and participate in related experiments.
601715 Information Retrieval
(3 Credit Hours)
Basics of information retrieval (IR), text representation, retrieval models, statistics of text, storing and accessing text, and compression. Distributed retrieval, retrieval on the web, query probing, question answering, information extraction, multimedia retrieval, cross-language retrieval and evaluation of IR systems.
601716 Information and Network Security
(3 Credit Hours)
The course introduces mechanisms for network and data exchange security such as encryption, fundamentals of cryptography, public/private keys, network firewalls, hashing and compression functions, certificate authorities, secure practices, intrusion systems, threats, vulnerabilities, and security techniques.
601717 Design and Administration of Computer Networks
(3 Credit Hours)
This course focuses network management attributes such as fault management, configuration management, performance management, security management, and accounting management. In addition, network planning requirements, and scalability. The course provides a study of protocols that are required to provide network management of networking and communication systems. It provides the protocol analysis, design and applicability in multi heterogeneous systems. The course also provides an understanding of existing network management tools.
601718 Advanced Cryptography
The focus of this course is on the definitions and constructions of various cryptographic primitives and protocols, such as one-way functions, pseudo-random generators, digital signature schemes, encryption schemes, zero-knowledge and multiparty computation. We will study how to formulate definitions that capture desired security properties as well as techniques for designing and then proving that a construction realizes these properties.
601719 Wireless and Mobile Network Security
(3 Credit Hours)
This course looks at security in wireless mobile environments.
Topics covered include: Security in wireless mobile environments (security principles, security architectures, security mechanisms, security protocols), Security in Wireless Local Area Networks (802.11i, including evolution from WEP through to (WPA2), Security in mobile telecommunications (GSM and UMTS), Security in Personal Area Networks (including Bluetooth), Security in Metropolitan Wireless Access Networks, Security in wireless ad-hoc and sensor networks.
601720 Advanced Operating Systems
(3 Credit Hours)
Introduction to design and evaluation of modern operating systems. Organization of multiprogramming and multiprocessing systems and distributed systems. Concurrency, interprocess communication, Dynamic memory allocation, memory management, virtual memory, I/O control, and file systems. Resource allocation; scheduling, synchronization, protection, process model, interlocks, deadlocks, protection and security, and virtual machines
601721 Advanced Software Engineering
(3 Credit Hours)
Knowledge and practice in the object-oriented analysis and design activities of software engineering. Topics covered: unified process model, object oriented analysis models, object oriented design models, changing the design to code. The course will be associated with hands-on experience through lab sessions on one of the available CASE tools.
601722 Advanced Database Systems
(3 Credit Hours)
Study of modern technologies in the database area, and survey products and applications that embody these technologies. Selected topics from the following will be covered: Object Oriented and Object Relational Databases; XML/Semi-structured Data Management; Temporal, Spatiotemporal, Time-Series, and Sequence Data
Management; Distributed Databases; Information Retrieval Techniques; Advanced Query Optimization; Data Stream Systems; Main Memory Databases. Special emphasis will be place on database Security through out the course.
601723 Distributed Systems
(3 Credit Hours)
This course explores the issues to address in designing and implementing distributed systems with a particular emphasis on how to deal with the shared state between separate processes within such a system. Topics include: distributed shared memory, object-oriented structuring of distributed systems, real/logical/virtual time, directories and naming, distributed file systems, authentication and security, distributed process scheduling, presentation protocols and communication support for distributed systems.
601724 Advanced Computer Architecture
(3 Credit Hours)
This course provides the basic knowledge necessary to understand the hardware operation of digital computers and covers the three subjects associated with computer hardware. Topics include quantitative principles of computer architecture design, instruction set design, processor architecture: pipelining and instruction level parallelism, cache and virtual memory, multiprocessors, multi-computers and interconnection networks, message passing, wormhole routing, and case studies.
601725 Neural Networks and Genetic Algorithms
(3 Credit Hours)
Theory and applications of artificial neural networks and fuzzy logic: multi-layer perceptron, self-organization map, radial basis network, Hopfield network, recurrent network, fuzzy set theory, fuzzy logic control, adaptive fuzzy neural network, genetic algorithm, and evolution computing. Applications to control, pattern recognition, nonlinear system modeling, speech and image processing.
601727 Cloud Computing
(3 Credit Hours)
This course is introduces the 3rd major wave of computing "Cloud Computing" form a technological and business perspectives. Several topics are covered including: Cloud computing models, Secure data outsourcing, Secure computation outsourcing, Proof of data possession / retrievability, Virtual machine security, Trusted computing technology and clouds, Cloud-centric regulatory compliance issues and mechanisms, Business and security risk models, and Applications of secure cloud computing.
601770 Advanced topics in Computer Science
(3 Credit Hours)
This is an open course covering advanced and modern topics not presented in the study plan.
601790 Seminar
(3 Credit Hours)
In this course students are expected to participate in a research project and be prepared for publication. Students are also requested to attend the faculty scientific seminars, and local conferences and to submit evaluation and critiques . At the end of the course every student must perform at least one formal presentation of his/her work.
601799 Master Thesis
(9 Credit Hours)
See Graduate Studies Regulations.