Course No
رقم المساق
|
Course Name
اسم المساق
|
Credit hours
الساعات المعتمدة
|
Course Description
وصف المساق
|
6423 |
Non-relational Databases |
3 |
This course covers key concepts of non-relational or NoSQL databases, providing students with the knowledge and skills to utilize these alternatives to traditional relational databases. It combines theoretical concepts with practical examples and exercises. Topics include various types of NoSQL databases such as document-oriented, key-value, columnar, and graph databases. The course also covers notable NoSQL technologies like MongoDB, Cassandra, Redis, and Neo4j, along with associated tools and frameworks. Real-world use cases will be examined to highlight practical applications and benefits of NoSQL databases, as well as their limitations, research problems, and state-of-the-art advancements in NoSQL and cloud-based data stores. |
6901 |
Numerical Simulation |
3 |
This course offers an introduction to computational techniques for simulating a wide range of engineering and physical systems. Topics covered include mathematical formulations, network problems, sparse direct and iterative matrix solution methods, Newton methods for nonlinear problems, and discretization techniques for ordinary, time-periodic, and partial differential equations. The course also explores fast methods for solving partial differential and integral equations, techniques for dynamical system model reduction, and approaches for molecular dynamics. |
6902 |
Design And Analysis of Algorithms |
3 |
This course delves into design and analysis techniques, including recursion, divide and conquer, greedy algorithms, dynamic programming, graph theory, and advanced sorting and searching algorithms. It also covers advanced topics such as NP-Completeness, randomized algorithms, approximation algorithms, and lower bound analysis. |
6904 |
Computer Architecture |
3 |
This course examines the evolution of computer architecture and the factors that influence the design of both hardware and software components of computer systems. Key topics include instruction set design, processor micro-architecture and pipelining, cache and virtual memory organization, protection and sharing mechanisms, in-order and out-of-order superscalar architectures, VLIW machines, vector supercomputers, multithreaded architectures, symmetric multiprocessors, and parallel computing systems. |
6907 |
Advanced Database Systems |
3 |
This course offers an overview of the relational data model and relational database management systems, followed by in-depth coverage of advanced topics in data and database administration. It explores CASE tools, post-relational database systems, and recent developments in areas such as query optimization, information retrieval, and online analytical processing (OLAP). |
6908 |
Software Engineering for Web Applications |
3 |
This course provides an overview of relational databases, XML databases, and the World Wide Web (WWW). It aims to expose students to current active areas in databases relevant to both academia and industry by reading book chapters and recent literature, and discussing these in class. Students will also have hands-on experience with commercial tools. Topics include the basics of web development, designing dynamic websites (with a group project as a focus), web usability and interface best practices, page and site issues, distributed computing with Web Services and SOAP, human-computer interface design, and graphical display of information. |
6909 |
Object-Oriented Databases |
3 |
This course offers a unified and comprehensive introduction to the essential concepts and techniques of object-oriented databases. It integrates research and development findings on various aspects of object-oriented systems, including data models, query processing, authorization, schema evolution, storage structures, query optimization, transaction management, versioning, composite objects, and the integration of programming languages with database systems. |
6911 |
Parallel Computing |
3 |
The goal of this course is to introduce students to parallel computing, combining theoretical concepts with practical experience. Topics covered include an overview of parallel computing, languages and programming environments, message-passing computing, partitioning and divide-and-conquer strategies, pipelined computations, synchronous computations, load balancing, termination detection, programming with shared memory, and relevant algorithms and applications. |
6913 |
Operating System Engineering |
3 |
This course covers the fundamentals of engineering operating systems. Detailed topics include virtual memory, kernel and user modes, system calls, threads, context switches, interrupts, inter-process communication, coordination of concurrent activities, and the interface between software and hardware. The course emphasizes understanding the interactions between these concepts. |
6914 |
Digital Image Processing |
3 |
This course focuses on the fundamental principles of image processing. Topics covered include image acquisition and display, properties of the human visual system, color representations, sampling and quantization, point operations, linear image filtering, transforms and sub-band decompositions, nonlinear filtering, contrast and color enhancement, dithering, image restoration, image registration, and feature extraction and recognition tasks. |
6916 |
Computer Graphics |
3 |
This course explores key aspects of digital image generation, including geometric modeling, computer animation, and rendering. It aims to provide a solid foundation in computer graphics principles and offers a hands-on introduction to advanced topics such as subdivision surfaces, real-time global illumination, and physically based animation. |
6917 |
Machine Learning |
3 |
This course introduces kernel-based methods from a machine learning perspective. It covers the theoretical foundations, including the theory of positive definite kernels, associated reproducing kernel Hilbert spaces, and techniques for constructing kernel functions. The course also explores various learning algorithms, such as regularization networks, support vector machines, kernel component analysis, kernel canonical correlation analysis, and anomaly detection, while discussing the practical value of these algorithms for various applications. |
6918 |
Distributed Systems |
3 |
This course explores key concepts in building distributed systems and applications using a network of independent, communicating systems. Topics covered include an overview of distributed systems, communication, messaging systems and protocols, processes, naming, synchronization, replication and consistency, fault tolerance, distributed file systems, and security issues in distributed computing. Additionally, the course will discuss current research topics in distributed systems. |
6919 |
Mobile Autonomous Systems |
3 |
This course serves as a review of recent trends in mobile robots as intelligent systems. It covers current solutions to fundamental robot problems such as localization, planning, perception, robot motion, and navigation. Topics include handling robot sensors and sensor fusion, evaluating their advantages and limitations, and addressing problems from probabilistic and evolutionary perspectives. |
6921 |
Security in Computer Networks |
3 |
This course covers major concepts in information systems security, including definitions and core principles such as Confidentiality, Integrity, and Availability (CIA). It explores various tools and techniques for Authentication, Authorization (Access Control), and Auditing (AAA), as well as basic cryptography algorithms and standards. The course also addresses attacks, hacking, viruses, worms, Trojans, and DOS attacks, along with protection systems like Intrusion Prevention Systems (IPS), Intrusion Detection Systems (IDS), and firewalls. Additionally, recent research topics and advances in information security are discussed. |
6922 |
Special Topics |
3 |
This course covers selected topics from recent advances in computer science, computer engineering, and information technology. The content varies from year to year based on the instructor's focus and students' interests and advancements. |
6923 |
Natural Language Processing |
3 |
This course provides a broad introduction to Natural Language Processing (NLP). Topics include performance measures, observed and hidden Markov models, speech recognition, text classification, part-of-speech tagging, optical character recognition, document clustering, sentiment analysis, language models, syntactic parsing, short answer grading, and named entity recognition. |
6924 |
Compiler Construction |
3 |
This course provides basic to intermediate knowledge on the design and implementation of compilers. Key topics include lexical analysis, syntax analysis, type checking, runtime environments, and code generation. The course features a term project where students implement a compiler for a selected programming language. |
6925 |
Wireless Networks |
3 |
This course provides a general introduction to computer networks, including types of networks, network devices, network protocols, and standards such as ISO/OSI, TCP/IP, and IEEE. It covers sampling, data representation, and modulation techniques. Additional topics include wireless transmission fundamentals, cellular networks, wireless LANs, mobile IP, wireless Internet, mobile ad hoc networks, wireless sensor networks, Bluetooth, and wireless personal area networks (PANs). |
6927 |
Design and Analysis of Computer Networks |
3 |
This course focuses on both qualitative and quantitative analysis of networks. Topics include analytical and experimental analysis techniques, protocol delay, end-to-end response time, and Internet traffic models. It requires extensive reading and in-class discussions of research papers on related subjects, as well as simulation and analysis of networking protocols. |
6928 |
Information Theory |
3 |
|
6929 |
Software Quality Assurance and Measurement |
3 |
This course focuses on software quality assurance and measurement. Topics include concepts of software quality, quality models, quality management and assurance, standards, complexity software metrics, measurement theory and methodologies, and characteristics of software products. |
6930 |
Data mining and Information Retrieval |
3 |
This course presents the fundamental concepts of Information Retrieval and Data Mining and their applications for storing and searching various types of information. It covers Information Retrieval models, automatic indexing and storage, relevance feedback and query expansion, Natural Language Processing in Information Retrieval, Cross-Language Information Retrieval, Data Mining techniques, categorization, classification, association rules, and web mining. The course includes practical applications using PHP-MySQL and Weka. |
6931 |
Service Oriented Architecture and Web Services |
3 |
This course examines concepts, architectures, and applications within a Service-Oriented Architecture (SOA). Topics include principles of service-oriented analysis and design, web services concepts and standards, web services technologies, Enterprise Service Bus (ESB) functionality, and web service orchestration using the Business Process Execution Language (BPEL). |
6932 |
Biologically Inspired Intelligent Systems |
3 |
This course explores problems where traditional computation struggles and where biologically-inspired computation offers solutions. Topics include classical versus biologically-inspired computation, evolutionary algorithms (such as genetic programming, genetic algorithms, evolutionary programming, and evolution strategies), swarm intelligence (e.g., ant colony methods, particle swarm optimization), neural computation (including perceptrons, multilayer perceptrons, associative networks, and self-organizing networks), artificial life, and artificial immune systems. |
6933 |
Multi-Agent Systems |
3 |
The course explores multi-agent systems, including an introduction to agent and multi-agent systems, abstract agent architecture, distributed problem solving, and agent communication and languages (such as KQML and FIPA ACL). It covers inter-agent communication policies and protocols, dialogues, conformance notions, resource allocation, negotiation, and argumentation. The course may also include discussions of various agent-based applications. |
6934 |
Special Topics in Informatics |
3 |
|
6935 |
Cryptography |
3 |
This course covers the fundamental theory of cryptography and its techniques used in computer security. It includes a detailed study of recent advances in cryptographic topics, algorithms, and primitives. Key areas of focus include encryption (both single and double key), pseudo-random bit generation, authentication, key management, Public Key Infrastructure (PKI), and zero-knowledge protocols. |
6936 |
Risk Assessment and Privacy Management |
3 |
This course offers a clear and concise overview of Information Security Risk Assessment and Privacy Management. It covers key aspects of managing corporate information assets and security risks, including Risk Management, the Risk Assessment Process, and the distinction between Quantitative and Qualitative Risk Assessment. The course also explores privacy philosophy, technology-based solutions for privacy protection, legal foundations of privacy, and relevant privacy legislation. |
6937 |
Security in Wireless Networks |
3 |
This course covers key concepts of security in wireless networks and security measures specifically for wireless communications. It addresses network threats, vulnerabilities, and security protocols as countermeasures. Topics include common security standards for WLAN, such as 802.11 WEP, 802.11 WPA, and WPA2 (802.11i). The course also explains the concept of Wireless Metropolitan Area Networks (WMAN) and their security specifications, as well as current proposals in wireless security. Additionally, recent research topics and advances in wireless network security are explored. |
6938 |
Cloud Computing |
3 |
This course covers a range of topics in cloud computing, including an introduction to cloud concepts, virtualization technologies, architectures, networking, cloud resource management, programming models in clouds, cloud storage systems, and security issues related to cloud computing. |
6939 |
Mobile Computing |
3 |
This course explores various aspects of mobile computing, focusing on how mobile devices integrate with fixed network computers to build file, database, and web client-server systems for wireless and mobile environments. Topics include fundamental concepts of mobile computing, applications and technologies, common paradigms such as low-power computing, resource limitations, fault tolerance, persistence, security issues, and current research in mobile computing. |
6940 |
Distributed Databases |
3 |
This course covers various aspects of Distributed Database Management Systems (DDBMS), focusing on techniques, trends, and open problems in the field. Topics include distributed data storage, distributed query processing, distributed transaction models, concurrency control, homogeneous and heterogeneous solutions, client-server distributed databases, middleware architectures, mobile databases, and data dissemination and broadcasting. |
6941 |
Bioinformatics and Proteomics |
3 |
This interdisciplinary course offers a hands-on approach to bioinformatics and proteomics. Topics covered include sequence analysis, microarray expression analysis, Bayesian methods, control theory, scale-free networks, and biotechnology applications. Designed for students with a computational and/or engineering background, the course features real-world examples, practical implementations, and engineering design issues. It also explores relevant engineering aspects from fields such as signal processing, network theory, machine learning, and robotics. |
6942 |
Content Management |
3 |
|
6973 |
Data Visualization |
3 |
|