Pre-Master's Course Description in Computer Science
Pre-Master's Course Description in Computer Science
Compulsory Courses
CS601 Advanced Artificial Intelligence [3 CH]
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.
CS602 Advanced Software Engineering [3 CH]
Software Reuse. Component-Based Software Engineering, Service-Oriented Arctitecture, Aspect-Oriented Software Engineering, Software Dependability Engineering, Software Security Engineering, Software Dependability And Security Assurance, Software Sustainability Engineering, Embedded Software Systems
CS603 Internet of Things [3 CH]
The objectives of this course is to learn about basics of IoT, components of IoT including sensors and actuators, computing and communication systems. It will also cover IoT Protocols, Security of IoT, Cloud based design and AI/Deep learning-based analytics. Introduction to smart grid, Integration of IoT into smart grid, Standardization activities for IoT aided smart grid, Applications of IoT aided smart grid, Architectures for IoT sided smart grid, Prototypes, Applications of big data and cloud computing, Open Issues and challenge.
CS604 Advanced Distributed Computing [3 CH]
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 and Service driven design of disttributed applications. Timing and Synchronization. Remote procedure invocation. Project(s).
Elective Courses
CS605 Advanced Parallel Algorithms [3 CH]
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.
CS606 Advanced Neural Networks [3 CH]
Attempt to assimilate and synthesize the different models to general principles, and to provide an idea of both the strengths and weaknesses of neural and machine learning approaches to problem solving. Topics will include ensembles, recurrent networks, support vector machines, and manifold learning. As time allows, other topics that may be covered include PAC-learning, transfer learning, spectral methods, reinforcement learning, spiking neurons and other topics of interest.
Symantic Web Analysis [3 CH]
This course gives an introduction to the technical foundations of Semantic Web Technologies, including knowledge representation and query languages, as well as logical inference. More specifically, it covers the following contents:
• Vision and Principles of the Semantic Web
• Representation Languages (XML, RDF, RDF Schema, OWL)
• Knowledge Modeling: Ontologies, Linked Data, and Knowledge Graphs
• Logical Reasoning in RDF and OWL
CS607 Advanced Computer Security [3 CH]
Introduction to cryptography and its application to information, network and systems security, security threats, secret key and public key cryptographic algorithms, hash functions, basic number theory, authentication, security for Electronic mail, the Internet and computer networks, real world security applications.
DM602 Advanced Computer Vision [3 CH]
This course focuses on computer and biological vision systems, image formation, edge detection, image segmentation, texture, representation and analysis of two-dimensional geometric structures, and representation and analysis of three-dimensional structures, Object representation & Object recognition.
DM603 Advanced Computer Graphics & Animations [3 CH]
Graphics systems; concepts and output primitives. 2D and 3D geometrical transformations. Modeling 3D scenes. Curve and surface design. Approaches to infinity. Rendering faces for realism. Color theory. Visible-surface determination. Illumination models and shading. Project(s).
DM604 Advanced Pattern Recognition [3 CH]
This course covers applications of pattern recognition, Bayesian decision theory & Bayesian estimation: Gaussian Distribution, ML estimation, EM algorithm Feature selection and extraction Linear Discriminant Functions Nonparametric Pattern Recognition Algorithm-independent Learning Comparing classifiers Learning with Multiple Algorithms Syntactic Pattern Recognition.
CS608 Advanced Selected topics in Computer Science [3 CH]
Topics which are not included in the curriculum and seems to be needed. These topics are suggested as an elective subjects by the council of the computer science department