Course Description - Master of Computer Science

  • 17113501: Research Methodologies [3 Credit Hours]

    This course will enable the students to Understand a range of research methods, and tools and introduce different research designs and methods for their own projects, and critically evaluate the work of other researchers. They will learn also how to analyze and present results from a variety of different types of research studies and understand the ethical considerations relevant to the carrying out of management research


  • 17113506: Formal Language and Theory of Computation [3 Credit Hours]

    An extensive material in Computability, and Complexity will be covered in this course. Students will be provided with several topics include: Computability Theory, Automata and Language Theory, and Complexity Theory.


  • 17113534: Advanced Image Processing [3 Credit Hours]

    The course covers the fundamental concepts of image analysis, video manipulation and computer vision technologies that can perceive and understand the complex visual world. The student will be exposed to theory and state-of-the-art research in image processing and computer vision with emphasis on real-world applications. Topics covered include: foundational image processing techniques, fundamental models and algorithms in computer vision, object and pattern recognition, Fourier and wavelet transforms, color and multispectral image processing, texture identification, shape theory and analysis, radiometric and geometric correction, spectral analysis, classification, change detection, feature detection, statistical methods for multi-dimensional signal processing, medical image processing.


  • 17113548: Statistics, simulation, and optimization [3 Credit Hours]

    The course gives an overview of statistical and simulation-based approaches when dealing with data using programming environments in R and Python. The aim of this course is to give students the ability to focus on the understanding of the statistical methods and their application when dealing with data problem.


  • 17113502: Advanced Algorithms [3 Credit Hours]

    "This course is designed for graduate students. It introduces advanced techniques for the design and analysis of algorithms, and explores a variety of applications (hashing, bloom filters, scheduling, network design, online load balancing, algorithms in machine learning, boosting (in the context of learning), Markov chains and the MCMC method, byzantine agreement, internet algorithms, and nearest neighbor algorithms).


  • 17113522: Graph Theory [3 Credit Hours]

    A selected view of advanced topics in graph theory and their applications. Topics drawn from: paths, connectivity, Euler tours, Hamilton cycles, trees, matchings and coverings, vertex, and edge colorings, planarity and its generalizations, Ramsey theory and extremal theory, graphical enumeration, random graphs, network flows, graphs and groups, graph algorithms.


  • 17113526: IOT devices and Platforms [3 Credit Hours]

    This course gives a foundation in the Internet of Things, including the components, tools, and analysis by teaching the concepts behind the IoT and a look at real-world solutions. Topics Include: the significance of the Internet of Things, the architecture, operation, and business benefits of an IoT solution, the potential business opportunities that IoT can uncover, and the relationship between IoT, cloud computing, and big data.


  • 17113518: Advanced Software Engineering [3 Credit Hours]

    "This course presents the theoretical aspect of software development processes, tools and techniques from the perspective of learning what they can and cannot do; deciding when, how and why to apply them; and selecting among the available alternatives. Topics relating to Software methods and processes will be discussed. Topics include personal software development process (PSP), team software process (TSP), Six sigma, DFSS, requirements analysis and specification techniques, life-cycle models, process modeling, software design methods; project planning and management; quality assurance; configuration management; program and system testing. "


  • 17113542: (1)Selected Topics in Computer Science [3 Credit Hours]

    The students in this course will be introduced to an advanced selected topic in computer science. Concepts in computer science are evolving continually with new emerged standards, novel approaches introduced, and existing methodologies refined.


  • 17113550: (1)Seminar [3 Credit Hours]

    This course allows the master students to familiarize themselves with research activities in their fields. The students will attend seminars given by researchers and other institutions to learn about the professor's areas of research before permanently aligning. In addition, the students are expected to prepare and to give seminars about selected topics of research and get feedback from peer researchers


  • 17113514: Machine Learning [3 Credit Hours]

    This course will cover advanced topics of modern machine learning by working on recent literature and research paper on various topics in machine learning.


  • 17113538: Information Retrieval [3 Credit Hours]

    "This course covers Information Retrieval concepts and search engine technologies. Students will learn the basic concepts, principles, and the major techniques in modern information retrieval, which is the underlying science of search engines. This course will cover algorithms, design, and implementation of modern information retrieval systems. Topics include, but not limited to: retrieval system design and implementation, text analysis techniques, retrieval models (e.g., Boolean, vector space, probabilistic, and learning-based methods), search evaluation, retrieval feedback, search log mining, and applications in web information management are included. "


  • 17113505: Advanced Computer Network [3 Credit Hours]

    "Advanced topics in computer networks that focus on recent research being conducted on improving computer networks and the internet will be explored in this course. Topics include advanced Network Protocols and Security, advanced developments in the data link layer a specially for wireless and cellular networks, Wireless Ad Hoc Networks, Internet of things, advances issues of the transport layer, Network traffic measurement. "


  • 17113530: Compiler Design [3 Credit Hours]

    This course focused on advanced topics in programming languages and compilers. Topics will include detailed studies of new programming languages and advanced compiling and optimization techniques used in the translators of modern programming languages. The course will cover topics such as: new features in legacy languages; program analysis and optimization techniques; solver-aided languages; verifying of compilers; advanced parsing techniques; abstract interpretation and model checking; Lexical Analysis, Syntactic Analysis and Semantic Analysis; regular expression pattern matching; insecure constructs in programming languages and how to overcome them; applications of category theory to programming languages.


  • 17113540: Big Data Science [3 Credit Hours]

    "Big data has become a new foundation for life because of the great advances in various technology fields. This course focus on the main science to prepare our students to be able to deals with challenges which has represented by various new industries that facing the appearance of Big Data and want to find out useful way to get rid of the challenge of Big data. Because of the importance and broad impact of this field, new software and hardware tools and algorithms are raised. A data scientist needs to be up to date with the continuously changes in all trends to be able to create a state-of-the-art solution for real-world challenges."


  • 17113503: Advanced Operating Systems and Computer Architecture [3 Credit Hours]

    "This course introduces students with the main concepts of advanced operating systems and computer architecture: parallel processing systems, distributed systems, real-time systems, network operating systems, and open-source operating systems. Hardware and software features that support these systems. A review of unconventional and parallel architectures, VLSI computer structures, and memory hierarchies is followed by advanced topics including branch prediction, dynamic scheduling, process variability, superscalar techniques, speculative execution, VLIW, multi-core processors, application-specific processors such as those for embedded and multimedia systems, Programmability, speculative threading, and parallelization.


  • 17113504: Advanced Artificial Intelligence [3 Credit Hours]

    The course will provide students with advanced artificial intelligence concepts.The course will cover knowledge representation, search techniques and problem-solving methods. Topics include Expert systems, fuzzy expert systems, genetic algorithms, AI tools and languages, case-based reasoning, decision trees, machine learning, support vector machines and neural networks.


  • 17113510: Cryptography and Network Security [3 Credit Hours]

    In-depth detailed concepts and tools of cryptography and Network Security will be given in this course. Topics include: the definition of security threats and attacks, with explanation about their types and effects; methods and tools which aim at discovering, halting, or dealing with those threats and attacks; discovering the attacks source and analyzing the traffic of the network; database security; authentication tools such as biometrics; managing security in various scenarios via Virtual Private Networks (VPNs) and firewalls; intrusion detection tools such as DDoS and DoS reaction and detection; virus and worm propagation, encryption applications, digital signatures, message authentication codes in addition to RFID technology.


  • 17113512: Advanced Database Systems [3 Credit Hours]

    The course aims at advancing database system topics through combining complexity and a more hands-on experience on modern database systems, such as NoSQL, spatio-temporal, data warehousing databases. Students will concentrate on obtaining knowledge on advanced topics including but not limited to: query processing and optimization, query evaluation, transaction processing, concurrency control and recovery in both a centralized and a distributed environment. In addition, students will learn the single and multi-dimensional indexing methods, join evaluation algorithms and SQL Analytics.


  • 17113524: Human Computer Interaction [3 Credit Hours]

    Diverse human-computer interaction issues, including tools and skills for user interface design, software user interface architecture, early prototypes and iterative design Critical and security systems, methods for measuring efficiency, and computer-aided collaborative work


  • 17113549: Biometrics [3 Credit Hours]

    Biometric Technology is one of the rapidly growing areas of computer science, concerned with representation, storage, matching, synthesis, and visualization of biometric information. Tremendous advance has been achieved over the last few years in both fundamental theoretical development of fundamental algorithms for biometric identification, matching and synthesis, and in biometric hardware and software production.


  • 17113516: Advanced Distributed Systems [3 Credit Hours]

    "This course is designed for graduate students to give them in-depth understanding of distributed systems. Students will learn issues related to clock Synchronization and the need for global state in distributed systems. The course will cover distributed mutual exclusion and deadlock detection algorithms. It will illustrate the significance of agreement, fault tolerance and recovery protocols in Distributed Systems. The course also will cover the characteristics of peer-to-peer and distributed shared memory systems."


  • 17113520: Knowledge Discovery and Data Mining [3 Credit Hours]

    ""This course aims to provide students with a practical and technical experience on knowledge discovery and data mining. Topics to be covered include problems of data analysis in databases, discovering patterns in large data, knowledge interpretation, extraction and visualization. The course also covers analysis, comparison and usage of various types of data mining and statistical techniques, such as clustering, classification, association rules, graph mining, prediction, description and scientific visualization."


  • 17113528: Mobile Computing [3 Credit Hours]

    "This course discusses advanced mechanisms that supports mobile computing systems. Topics include developments of various wireless network and their integration with the internet in order to support ubiquitous mobile computing. Advanced routing protocols over heterogeneous network that could combine MANET, VANET, WSN, cellular, and other wired and wireless networks in order to achieve the goal of anytime, anywhere computing. Advanced Mobility management and location-based service management. Data management and organization for mobile computing applications. Security issues in mobile computing environments."


  • 17113536: Cloud and Fog Computing [3 Credit Hours]

    ""Cloud computing represents the emerging Internet-based services/platforms with elastic and scalable computation powers operating at costs associated with services. Topics of the course includes advanced web technologies, distributed computing models and technologies, software cloud tools and languages, SaaS, PaaS, IaaS, virtualization, palletization, security/privacy and the advances in cloud computing. "


  • 17113544: (2)Selected Topics in Computer Science [3 Credit Hours]

    The students in this course will be introduced to an advanced selected topic in computer science. Concepts in computer science are evolving continually with new emerged standards, novel approaches introduced, and existing methodologies refined.


  • 17113551: (2)Seminar [3 Credit Hours]

    This course allows the master students to familiarize themselves with research activities in their fields. The students will attend seminars given by researchers and other institutions to learn about the professor's areas of research before permanently aligning. In addition, the students are expected to prepare and to give seminars about selected topics of research and get feedback from peer researchers