يعتبر علم الحاسوب وتكنولوجيا المعلومات من اكثر العلوم الحديثة تسارعا في التطور و التحديث وزياده في الطلب على المختصين في هذا الحقل العلمي التطبيقي. ونظرا للتطور والتسارع في توسع مجالاته التطبيقيه والحاجة الماسة لتطوير المعرفة والمهارات البحثية لسوق العمل، عملت دائرة علم الحاسوب والتي تاسست عام 1983على تاسيس برنامج ماجستير علم الحاسوب عام 2002. ولاحقا ماجستير علم الحاسوب تركيز هندسة البرمجيات. وذلك لرفد سوق العمل بالكوادر المؤهلة في منهجيات البحث العلمي والمعرفه في هذا االمجال ومستجداته. كذلك تلبيه لرغبات المختصين في تكنولوجيا المعلومات لاستكمال دراستهم للحصول على احدث ما توصلت اليه تكنولوجيا المعلومات و تنمية مهاراتهم البحثية لتمكينهم من استكمال دراساتهم العليا للحصول على درجة الدكتوراه. كما يهدف البرنامج أيضاً لصقل مهارات الطلبة البحثية والعملية لتمكينهم من التنافس في الأسواق المحلية والدولية. و يوفر البرنامج المسارات التالية:
- علم الحاسوب
- هندسة البرمجيات
- الأنظمة السيبرانية الفيزيائية “Cyber Physical Systems”
- تأهيل كادر من المهنيين والاكاديميين للعمل في الحقول المتعلقه في القطاعين العام والخاص.
- رفد سوق العمل بقطاعيه العام والخاص المحلي والاقليمي بالمهنيين المهره والبحثين في قطاع تكنولوجيا المعلومات.
- تعزيز منهجية الفكر المنطقي و التحليلي في الحلول للمشاكل البرمجيه والتقنية.
- كسب المهارات المنهجيه والبحثية العلمية.
- كسب مهارات التواصل والعمل الجماعي.
- دمج الطلبه في جو البحث العلمي من خلال المشاريع البحثية التطبيقية.
- حث الطلبه على الابداع و الابتكار من خلال برامج الجامعة التحفيزية والتشجيعية.
تزويد الطلبة بالمعرفة والمهارات البحثية والابداعيه في مجال تكنولوجيا المعلومات، النظرية منها والعملية، والتي تساعد على تنمية قدرات التفكير والبحث والإبداع ومهارات النقد والتحليل والاستخدام الأمثل للتكنولوجيا الحديثة وتطوير الحلول والتطبيقات التكنولوجية في جميع المجالات الممكن تطبيقها. هذا الى جانب التدريب والتأهيل الذي يساعد على صقل شخصية الطالب وبناء الثقة الذاتية لديه وبث روح التواصل مع الآخرين، والعمل بروح الفريق الواحد بما يؤهله ليكون قادرًا على الاسهام والمشاركة الفعالة والتأثير الإيجابي البناء في المجتمع وسوق العمل المحلي والإقليمي وفي مختلف الظروف.
- الحصول على معدل 70% في شهادة البكالوريوس.
- استيفاء كافة شروط القبول العامة المعلن عنها من قبل الجامعة.
- يتيح برنامج ماجستير علم الحاسوب الفرص للخريجين الحصول على شهادة الماجستير في علم الحاسوب مما يكنهم من:
- تطوير وضعهم الوظيفي في المؤسسات التي يعملون بها.
- استكمال دراستهم العليا للحصول على شهادة الدكتوراه
- اندماجهم في المؤسسات البحثية.
- مكانية تاسيس شركاتهم الخاصه والعمل الحر من خلال توسع افقهم المعرفي والبحثي وزياده الثقه لديهم.
(متطلبات التخرج على شكل جدول يشرح المساق ورقمه والتفاصيل اللازمة)
الساعات المعتمدة: 36
- متطلبات البرمامج الإجبارية (جدول 1):15
- متطلبات البرنامج الإختيارية(جدول 2):15
- مسار الرسالة : 6 او
- مسار المشروع والامتحان الشامل : 6
جدول رقم 1: متطلبات البرنامج الاجباريه:
متطلبات البرنامج الاجبارية لماجستير علم الحاسوب وماجستير علم الحاسوب تركيز هندسة البرمجيات (15 ساعه معتمدة) |
|||
الساعات المعتمدة |
اسم المساق |
رقم المساق | رقم |
3 | نظم التشغيل المتقدمة (النظم الموزعة) | 8070512 | 1 |
3 | ههيكليه الحاسوب المتقدمة | 8070520 | 2 |
3 | نظريات وتصميم الخوارزميات | 8070530 | 3 |
3 | تصميم لغات البرمجة | 8070565 | 4 |
3 | قواعد البيانات المتقدمة | 8070580 | 5 |
جدول رقم 2: متطلبات مسار هندسة البرمجيات البرنامج الاجبارية:
Mandatory Courses for the for Software Engineering Track (9 Credit Hours) |
|||
No. | Course No. | Course Name | Credit Hours |
1 | 8070570 | Software Engineering | 3 |
2 | 8070572 | Software Requirements & Construction | 3 |
3 | 8070574 | Software Engineering Management | 3 |
جدول رقم 3: متطلبات مسار الانظمة السيبرانية الفيزيائية “Cyber Physical System”:
Mandatory Courses for the for Software Engineering Track (9 Credit Hours) | |||
No. | Course No. | Course Name | Credit Hours |
1 | 8070601 | Internet of Things | 3 |
2 | 8070602 | Embedded Systems | 3 |
3 | 8070603 | Security and Privacy in CPS | 3 |
4 | 8070541 | Artificial Intelligence | 3 |
جدول رقم 4: متطلبات البرنامج الاختيارية:
Table 2: Elective courses:
Elective Courses for the MS Program in Computer Science (15 Credit Hours) The student should select 5 courses (15 Credit Hours) from the following 5 categories. The required courses are shown here as well (shaded) for category classification only. |
||||
Credit Hours | Course Name | Course No. | Category | No. |
3 | Computer System Performance and Measurement | 8070507 | Software Engineering/Tools | 1 |
3 | Modeling and discrete Simulation | 8070508 | ||
3 | Formal Methods in Software Development | 8070514 | ||
3 | Software Engineering | 8070570 | ||
3 | Advanced Database Systems (Req.) | 8070580 | ||
3 | Software Requirements& Construction | 8070572 | ||
3 | Software RequirementsEngineering | 8070573 | ||
3 | Human Computer Interaction | 8070575 | ||
3 | Software EngineeringManagement | 8070574 | ||
3 | Distributed Systems | 8070512 | Systems | 2 |
3 | Advanced Computer Architecture (Req.) | 8070520 | ||
3 | Advanced Computer Networks and Communications | 8070524 | ||
3 | Parallel Processing Computer Systems | 8070522 | ||
3 | Design and Theory of Algorithms (Req.) | 8070530 | Theory | 3 |
3 | Algorithmic Graph Theory | 8070535 | ||
3 | Foundations of Computing | 8070560 | ||
3 | Design of Parallel Algorithms | 8070538 | ||
3 | Pattern Recognition and Analysis | 8070502 | AI&Pattern Recognition | 4 |
3 | Computer Vision | 8070503 | ||
3 | Neural Networks | 8070509 | ||
3 | Genetic Algorithms | 8070516 | ||
3 | Agents Technology | 8070526 | ||
3 | Artificial Intelligence | 8070541 | ||
3 | Knowledge-Based Systems | 8070545 | ||
3 | Machine Learning | 8070547 | ||
3 | Design of ProgrammingLanguages (Req) | 8070565 | Other Subjects | 5 |
3 | Virtual reality | 8070543 | ||
3 | Multimedia | 8070550 | ||
3 | Net-Centric Computing | 8070555 | ||
3 | Social, Ethical, and Professional Issues | 8070588 |
Mandatory Courses:
8070512 – Distributed systems – (3 Lecture/Recitation/Discussion Credit Hours)
Parallel and distributed operating systems. Load sharing, scheduling, reliability, recovery, memory management. Distributed file systems, distributed agreement, and object-oriented operating systems.
(Prerequisites: Operating Systems and Computer Architecture)
8070520 – Advanced Computer Architecture – (3 Lecture/Recitation/Discussion Credit Hours)
Instruction set architecture. Pipelining, vector processors, cache memory, high bandwidth memory design, virtual memory, input and output. Benchmarking techniques. New developments related to single CPU systems.
(Prerequisites: Operating Systems, Computer Architecture)
8070530 – Design and Theory of Algorithms (3 Lecture/Recitation/Discussion Credit Hours)
Analysis of algorithms. Algorithm design techniques. Efficient algorithms for classical problems. Intractable problems and techniques to handle them.
(Prerequisites: Algorithms and Data Structures, Computability and Formal Language Theory)
8070565 – Design of Programming Languages – (3 Lecture/Recitation/Discussion Credit Hours)
Syntax and Semantics, Data Types, Control, Object-Oriented Languages, Functional Programming Languages, Logic Programming, Parallel Programming. Applications.
(Prerequisites: Formal languages and Compiler Design)
8070580 – Advanced Database Systems (3 Lecture/Recitation/Discussion Credit Hours)
Distributed and object-oriented databases and knowledgebase systems. Design theory, query optimization, and transaction processing.
(Prerequisites: Database Systems)
Elective Courses:
8070502 – Pattern Recognition and Analysis – (3 Lecture/Recitation/Discussion Credit Hours)
Algorithms for classifying and understanding data. Statistical and syntactic methods, supervised and unsupervised machine learning. Cluster analysis and ordination. Exploratory data analysis. Methodology for design of classifiers.
(Prerequisites: Algorithms and Data Structures, Linear Algebra, Probability and Statistics)
8070503 – Computer Vision – (3 Lecture/Recitation/Discussion Credit Hours)
Visual information processing problems. Human and machine vision systems. Image formation and transforms. Encoding, enhancement, edge detection, segmentation. 2D and 3D object description and recognition. Scene analysis. Applications.
(Prerequisite: Algorithms and Data Structures, Linear Algebra and Probability and Statistics)
8070507 – Computer System Performance and Measurement – (3 Lecture/Recitation/Discussion Credit Hours)
Queuing network modeling, general analytic techniques, workload characterization, representing specific subsystems, parameterization. Software and hardware monitors, performance measures. Case studies, software packages.
(Prerequisites: Operating Systems, Probability and Statistics)
8070508 – Modelling and Discrete Simulation – (3 Lecture/Recitation/Discussion Credit Hours)
Simulation examples and languages. Mathematical models, Petri Nets, model validation, random variant generation. Analysis of simulation data. Case studies.
(Prerequisites: Algorithms and Data Structures, Probability and Statistics)
8070509 – Neural Networks – (3 Lecture/Recitation/Discussion Credit Hours)
Neuron models: McCulloch-Pitts model, nearest neighbor model. Neural network models: multilayer perception, nearest neighbor based multilayer perception, associative memory. Learning algorithms: the back propagation algorithm, self-organization learning, winner-take-all competitive learning, and evolutionary learning. Applications: character recognition, signal restoration.
(Prerequisites: 8070530)
8070514 – Formal Methods in Software Development – (3 Lecture/Recitation/Discussion Credit Hours)
Formal specification languages, integrating verification with development. Design and implementation of term project.
(Prerequisites: Mathematical Logic)
8070516 – Genetic Algorithms – (3 Lecture/Recitation/Discussion Credit Hours)
Biological Background, Search Space, Genetic Algorithms: Operators, Parameters, Selection, Encoding, Crossover and Mutation. GA Examples and Applications.
(Prerequisites: 8070530)
8070522 – Parallel Processing Computer Systems – (3 Lecture/Recitation/Discussion Credit Hours)
Massively parallel SIMD processors, multiprocessor architectures, interconnection networks, synchronization and co. Memory and address space management, process management and scheduling. Parallel compilers, languages, performance evaluation.
(Prerequisites: 8070520)
8070524 – Advanced Computer Networks and Communications – (3 Lecture/Recitation/Discussion Credit Hours)
Advanced topics in emerging computer networking technologies, including high-speed wide area networks and local area networks, wireless and mobile computing networks, optical networks, and multimedia networking.
(Prerequisites: Computer Networks)
8070526 – Agents Technology – (3 Lecture/Recitation/Discussion Credit Hours)
Action selection and planning, Collaboration between people and agents, Communication between people and agents, Expert assistants. Agent architectures, Interacting with stochastic environments, Reinforcement learning, Multi-agent systems, Game theory and auctions.
(Prerequisites: 8070541)
8070535 – Algorithmic Graph Theory – (3 Lecture/Recitation/Discussion Credit Hours)
Classical concepts in Graph Theory. Algorithmic aspects of graphs such as finding paths, network flow, spanning trees and matching.
(Prerequisites: Algorithms and Data Structures, Computability and Formal Language Theory, Linear Algebra)
8070538 – Design of Parallel Algorithms – (3 Lecture/Recitation/Discussion Credit Hours)
Current research topics and issues. Models of parallel computation. Implementation of algorithms on SIMD and MIMD machines. Relationship to VLSI.
(Prerequisites: Computer Architecture, 8070530)
8070541 – Artificial Intelligence – (3 Lecture/Recitation/Discussion Credit Hours)
Types of intelligence, knowledge representation, cognitive models. Goal-based systems, heuristic search and games, expert systems. Language understanding, robotics and computer vision, theorem proving and deductive systems, and learning.
(Prerequisites: Artificial Intelligence and Symbolic Programming)
8070543 – Virtual Reality – (3 Lecture/Recitation/Discussion Credit Hours)
Stereoscopic display, Force feedback simulation, haptic devices, viewer tracking, collision detection, visibility computation, time-critical rendering, multiple levels of details (LOD), Image-base VR system, Distributed VR, collaboration over computer network, Interactive modeling, User interface issues, Applications in medicine, simulation, and training.
(Prerequisites: Computer Graphics)
8070545 – Introduction and Laboratory in Knowledge-Based Systems – (3 Lecture/Recitation/Discussion Credit Hours, 3 Lab Hours)
Principled development and deployment of knowledge-based systems. Extensive reading in the historical literature of rule-based systems and approaches to task specific architectures for problem solving. Issues in knowledge acquisition, design problem solving, and qualitative modeling.
(Prerequisites: 8070541 or equivalent)
8070547 – Machine Learning – (3 Lecture/Recitation/Discussion Credit Hours)
Computational study of learning and data mining. Strengths and limitations of various learning paradigms, including supervised learning, learning from scalar reward, unsupervised learning, and learning with domain knowledge.
(Prerequisites: 8070541, Artificial Intelligence, and Symbolic Programming)
8070550 – Multimedia – (3 Lecture/Recitation/Discussion Credit Hours)
Multimedia data technologies. Compression and decompression. Multimedia applications and content authoring. Multimedia servers and file systems. Networked and distributed multimedia systems.
(Prerequisites: Computer Graphics)
8070555 – Net-Centric Computing – (3 Lecture/Recitation/Discussion Credit Hours)
Introduction to net-centric computing . The Web as an example of client-server computing. Building Web applications. Communication and networking. Distributed object systems. Collaboration technology and groupware.
(Prerequisites: Computer Networks, Operating Systems)
8070560 – Foundations of Computing – (3 Lecture/Recitation/Discussion Credit Hours)
Models of computation: Partial recursive functions, Turing machines, alternative models of computing. Basic theory and limitations of computability. Undecidability. Resource-bounded computational complexity, non-determinability, NP-completeness.
(Prerequisites: Computability and Formal Language Theory)
8070570 – Advanced Software Engineering – (3 Lecture/Recitation/Discussion Credit Hours)
Methods and techniques supporting later lifecycle activities, including software testing and maintenance, reuse, and reverse engineering. Domain-specific and visualization techniques.
(Prerequisites: Software Engineering)
8070575 – Human Computer Interaction – (3 Lecture/Recitation/Discussion Credit Hours)
Principles of HCI. Modeling the user. Interaction. Window management system design. Help systems. Evaluation techniques. Computer-supported collaborative work.
(Prerequisites: 8070570)
8070585 – Artificial Neural Networks – (3 Lecture/Recitation/Discussion Credit Hours)
Overview of neuro-engineering technology. Basic neural network architectures. Feed forward and feedback networks. Temporal modeling. Supervised and unsupervised learning. Implementation. Basic applications to pattern recognition.
(Prerequisites: 8070509)
8070588 – Social, Ethical, and Professional Issues – (3 Lecture/Recitation/Discussion Credit Hours)
Short introductory of each of the topics: History of computing; Social context of computing; Methods and tools of analysis; Professional and ethical responsibilities; Risks and liabilities of safety-critical systems; Intellectual property; Privacy and civil liberties; Social implications of the Internet; Computer crime; Economic issues in computing; Philosophical foundations of ethics.
(Prerequisites: Consent of Department)
8070572 Software Construction
In-depth study of software construction, software construction fundamentals (minimizing complexity, anticipating change, constructing for verification and standards in construction), managing construction (construction models, construction planning and construction measurement) and practical considerations (construction design, construction languages, coding, construction testing, reuse, construction quality, configuration management, automation, and integration).
This course aims to provide students with comprehensive understanding of concepts and techniques in software construction, analysis of practical considerations and applied use of code verification, configuration management tools and conventions through a team project work.
Pre-requisite:
8070573 Software Requirements Engineering
The state-of-the-art and state-of-the-practice in software requirements engineering are explained. Topics include how to determine, specify and validate the requirement (both functional and non-functional) of a software system. In-depth coverage of requirement engineering methods, techniques, tools, notations, or validation techniques for the analysis and specification of software requirements.
The course aims to develop comprehensive understanding in requirements engineering techniques and methods, and apply them through case studies, team project work and research investigations.
Pre-requisite:
8070574 Software Engineering Management
Lifecycle and process models, process metrics, planning for a software project, mechanisms for monitoring and controlling schedule, budget, quality, productivity, leadership, motivation, and team building. Quantitative models of the software lifecycle, cost-effectiveness analysis in software engineering, uncertainty and risk analysis, software cost estimation, and software engineering metrics. The course also will cover professional skills: professional, ethical, legal aspects, within individual and team contexts.
The course is aims to provide students with a comprehensive understanding and analysis of the concepts and techniques for project management, risk assessment and effort estimations, and apply project management techniques and tools through case studies and team project work with emphasis on observing code of conduct, professional, ethical, and legal concerns.
Pre-requisite:
8070590 – Independent Study – (Variable from 1 to 3 Credit Hours)
Independent study of some topic, system, or language not covered in a regular course.
(Prerequisite: Consent of Department)
8070591 – Selected Topics – (Variable from 1 to 3 Credit Hours)
Selected topics in computer science of current interest and importance but not covered in a regular course.
(Prerequisite: Consent of Department)
8070599 – Master’s Thesis Research – (Variable from 1 to 6 Credit Hours-Reenrollment)
Master’s degree Plan A: individual student original research that will lead to an MS Thesis.
(Prerequisite: Consent of Department)
8070598 – Master’s Project Research – (Variable from 1 to 6 Credit Hours-Reenrollment)
Master’s degree Plan B: individual student project; original research, research replication, or survey and reporting on a topic such as system design and development, or system conversion or installation.
(Prerequisite: Consent of Department)
Internet of Things (8070601) (3 Credits Hours):
This course gives a foundation in the Internet of Things, including Introduction to IoT, the components, tools, and analysis by teaching the concepts behind the IoT and a look at real-world solutions, its applications, architectures, and technologies, logical Design of IoT, physical design of IoT, IoT Enabling Technologies, IoT & deployment templates, IoT and M2M, Big Data in IoT Systems, IoT Security Techniques, Domain Specific IoTs (Home Automation – Cities – Environment Energy – Retail – Logistics – Agriculture – Industry – Health & Lifestyle)
Security & Privacy in CPS (8070603) (3 Credits Hours):
As specialized computing devices and applications rapidly proliferate into many aspects of everyday life, including: automotive, household automation, computerized manufacturing, and medicine. This course covers modern security and privacy aspects in Cyber-Physical Systems (CPSs). Therefore, the main objective is for students to identify when security (confidentiality, availability and integrity) is required and to be able to choose and implement right solution in CPSs. The course includes overview of terminology and basic concepts in security and privacy, attaining familiarity with range of CPS security threats, examples of concrete attacks, risk management, security technologies and tools, cryptography, security protocols involving CPS components, security policies and standards, wireless security, intrusion detection and prevention, and selected security topics. The essence of the course concentrates on recent developments in security and privacy in CPSs. As a result of rapid development in this field, the exact list of topics is expected to change every few years.
Embedded Systems ( 8070601) (3 Credits Hours):
This course is structured to combine lectures, case studies and tutorials for the students to gain an in-depth understanding of fundamental concepts and knowledge in embedded/cyber-physical systems. This course presents an overview of: design flow, special characteristics with respect to specification techniques and modeling, embedded hardware, standard software, evaluation and validation, mapping of applications to execution platforms, optimizations and testing of embedded/cyber-physical systems
Research Methods (8070501) (3 Credits Hours):
This course provides a general Introduction to scientific research and specific introduction to computer science research, research methods applied to computer science (Feasibility study, Pilot Case, Comparative study, Observational Study, Literature survey, Formal Model, Simulation), and a survey of those methods applied in various subfields of Computer Science, experimental computer science i.e., mathematical modeling of the behavior of computer systems. Topics also include effective reading, effective writing research papers and effective writing thesis proposals. Analysis tools will be introduced, mainly descriptive and inferential statistics, probability, curve fitting and experimental design, data characterizations techniques, and explanation of results will be introduced.