University Compulsory Requirements
(110615) Computer Skills
(3 credit hours, Prerequisite: None)
Introduction to computing and information technology, basic structure of digital computer systems, microcomputer, operating systems, applications software, data communication networks and internet. Hands on learning using windows, internet, MS-Office, MS-Excel, and MS-PowerPoint. Weekly practice in the lab.
Faculty Compulsory Requirements
(11031101) Calculus (1)
(3 credit hours, Prerequisite: None)
Functions and Limits, continuous functions, derivative, differentiation rules, implicit differentiation, applications integrals, definite integrals, transcendental functions, inverse trigonometric functions.
(06051110) Programming Methodology
( 3 credit hours, Prerequisite: None)
Problem-solving concepts: constants and variables, data types, problem-solving steps, expressions, problem solving tools, algorithms, flowcharts, pseudo-code, programming logic structures (sequential, decision, and loops), Arrays.
(06051200) Discrete Mathematics
( 3 credit hours, Prerequisite: None)
Sets theory, Relations, Functions, Recursion, Proof methods, Logic Theory, Mathematical Induction, Graph & Tree Theory.
(06051220) Logic Design
(3 credit hours, Prerequisite: 606104)
Number systems, codes, Boolean algebra, DeMorgan’s theorems, logic gates, NAND only circuits, NOR only circuit, simplification of Boolean functions, Karnaugh map, combinational circuits, adders, comparators, coders, decoders, code converters, multiplexers, demultiplexers, sequential circuits, flip flops, counters, registers, memories.
(06051211) Programming Fundamentals
(3 credit hours, Prerequisite: 600108)
Fundamental concepts of programming using C++ or Java: classes and objects, modeling object (attributes and behaviors), algorithms, problem solving flowcharts, pseudo codes. Basic blocks of programming such as variable names, data types, control structures, functions, arrays.
(06032102) Data Structures
(3 credit hours, Prerequisite: 600225)
Algorithmic problem solving, Data Structures (static & dynamic), lists, stacks, queues, graphs, trees, sets and dictionaries). Recursion and iteration. Students are expected to do lab experiments using C++ or Java.
Department Requirements
Compulsory Requirements
(06012232) Information Systems Analysis and Design
(3 credit hours, Prerequisite: 605225)
System Theory, information systems and information systems types, system analysis and design methods, object-oriented system analysis and design methods. Study cases.
(06032112) Object Oriented Paradigms
(3 credit hours, Prerequisite: 600113)
Introduction to OOP, models, objects, methods, links, message passing, polymorphism, dynamic binding, classes constructors and destructors, association, generalization and specialization, inheritance, overridden methods, aggregation. Students are required to perform some lab experiments using the latest JAVA language version and UML using Rational Rose software.
(06012201) Algorithms
(3 credit hours, Prerequisite: 600116)
Introduction to the design and analysis of algorithms, mathematical algorithms. Greedy technique, manipulating data: sorting, searching, dynamic programming, space & time tradeoffs. The concept of algorithm efficiency, table and information retrieval. Combinatorial problems, advancement in Java skills and techniques
(06083223) Computer Architecture
(3 credit hours, Prerequisite: 600105)
Hardware components of a modern computer system, history and performance, the instruction cycle, memory organization, cache memory, I/O organization, CPU, micro-programmed control, instruction formats and modes.
(06032122) Web Design (1)
(3credit hours, Prerequisite: 600225)
Basic concepts of the Internet and Internet browsers, Internet applications, web page creation tools and languages. Basic XHTML (frames, forms), cascading style sheets, scripting and scripting languages. Dynamic XHTML ( object-based programming and events). Students are required to do a Mini- project.
(06013214) Database
(3 credit hours, Prerequisite: 600227)
An in-depth examination of relational databases, modern database technologies, conceptual design and entity relationship modeling, relational algebra and calculus, data definition and manipulation languages using SQL, schema and view management, query processing and optimization, transaction management, security, privacy, integrity, and management. Students are required to do project work.
(06042150) Information Security
(3 credit hours, prerequisite: 112183)
Information security basics, basic cryptography, modern symmetric ciphers , public key cryptosystems, key management, message authentication, hash functions, digital signatures, IP and web security, firewalls and trusted systems, secured software design, application security software threats, social, legal, and ethical issues. Human factors in security.
(06082140) Computer Networks
(3 credit hours, prerequisite: 605242)
Concepts and terminology of data communications and computer networks. Logical and physical realization of computer networks, architecture and transmission alternatives. OSI-reference model, ALOHA protocol, CSMA protocols, LAN, IEEE standards and protocols (token ring, token bus and Ethernet), physical layer basics, data link layer, framing protocols, error detecting and correcting, routing algorithms, flow control, congestion control algorithms, personal computer networks.
(06013130) Operating Systems
(3 credit hours, Prerequisite: 600242)
Definition of operating system, review of hardware, software and firmware, process concepts, asynchronous concurrent processes, real storage, virtual storage, processor scheduling, distributed computing, disk performance optimization.
(06032250) Software Engineering Fundamentals
(3 credit hours, Prerequisite: 600222)
This course provides an overview of engineering as a discipline; the course introduces student to the fundamental principles, models and methodologies of a software engineering. It covers basic knowledge about software processes. It provides minimum prerequisite knowledge for more detailed and specialized study of software engineering. Students gain experience, via a team project, about life-cycle development of software systems.
(06033113) Visual Programming
(3 credit hours, Prerequisite:600225)
Basic Visual Programming, solid foundation of the syntax and semantics of a visual Programming language used to develop both windows-based and web-based application. Coverage of Microsoft's. NET platform architecture.
(06072111) Python Programming
(3 credit hours, prerequisite: 06051211)
This course provides and introduction to the python programming for data science and AI applications. It covers cover preliminary python programming concepts, data types, control structures, object-oriented programming, and graphical user interface. The examples and problems demonstrated in this course covers a wide spectrum of data science and AI focused applications.
(06072151) Artificial Intelligence
(3 credit hours, Prerequisite: 06012201)
Introduction to artificial Intelligence, symbolic reasoning and knowledge representation techniques, control strategies, heuristic search, and AI applications (expert systems, neural language processing, robotics…etc.). Introduction to neural networks, genetic algorithms and introduction to machine learning.
(06072252) Fundamentals of Machine Learning:
(3 credit hours, prerequisite: 06072252+06051211)
Machine learning provides an introduction to the fundamental concepts and techniques required for performing machine learning in data science and other AI applications. It covers the foundations of machine learning concepts and the foundations of its algorithms which covers both supervised and unsupervised learning.
(06073153) Machine Learning Programming language
(3 credit hours, prerequisite: 06072252+06051211)
This course provides the practical skills required for programming machine learning solutions which involves applying both machine learning supervised and unsupervised algorithms to practical machine learning real life applications.
(06073161) Data Science
(3 credit hours, prerequisite: 06072252+06051211)
Data Science course covers concepts of modern data science approach to data analysis which involves skills required for managing, analyzing and deploying knowledge extracted from large data. Topics covered include data preprocessing data cleansing and dimensionality reduction in addition to data exploratory analysis, machine learning modeling and visualization.
(06073162) Big Data
(3 credit hours, prerequisite: 06013130)
This course introduces the fundamental concepts of big data including 5As, and big data ecosystem. It also provides coverage for big data Big Data acquisition, streaming, handling, processing, and storage of structured, semi structured and unstructured data in addition to data analysis, visualization as well as big data applications in business and scientific research.
(06073264) Data Mining
(3 credit hours, prerequisite: 06073161)
This course provides and introduction to data mining techniques, including data preprocessing, data mining primitives, association rules, decision trees, clustering analysis, classification and a number of machine learning algorithms such as Neural networks, and genetic algorithms, in addition to exploration and data visualization.
(06074263) Data Visualization
(3 credit hours, prerequisite: 06012201)
This course is about the art and science of converting data into readable graphics. In this course aims to teach how to build better visualization tools and systems by using the techniques and algorithms for creating effective visualizations. based on available data and tasks to be accomplished. This course involves modeling of data, processing of data (like filtering and aggregation), the visual encoding based on the properties of visual perception and the task(s) at hand and mapping the data attributes to graphical attributes. Students will also learn to evaluate design decision, such as the selection of color and visual encoding. Students and learn the using of Open-Source data visualization tools (mainly D3.js) and will be asked to develop a data visualization’s mini project
(06074165) Natural Language Processing
(3 credit hours, prerequisite: 06073264)
Natural Language Processing addresses fundamental questions at the intersection of human languages and computer science. How can computers acquire, comprehend and produce English? How can computational methods give us insight into observed human language phenomena?
(6074154) Robotics
(3 credit hours, prerequisite: 06072252)
This course offers the principles fundamentals of robots’ design, types, and programming using various control boards, sensors tools and other components. The course focusses on creating robotics applications for solving real-life problems.
(06074190) Practical Training
(3 credit hours, prerequisite Passing 90 C.H.)
At least 8 weeks of practical training in public or private sectors.
(06074191) Graduation Project
(3 credit hours, Prerequisite: Passing 90 C.H.))
Student can pick one of projects posted by the department as a part of requirements for graduation.
Elective Requirements
(06074181) Data Engineering
(3 credit hours, prerequisite: 06073162)
This course is an introduction to know the differences between a data engineer and a data scientist. Also, to know how to use different data sources in a scalable way. This course offers an overview of the different tools that data engineers use, specially the importance role of cloud technology in data engineering. The course ends with a real-world data engineering use case.
(06074282) Deep learning & Artificial Neural Networks
(Prerequisite: 06072151) (3) Cr. Hrs
This course provides an introduction to Deep Artificial Neural Networks. It focusses on the theories and practices of deep learning algorithms and applications which cover model ANN and deep learning models construction, training and testing in addition to their applications deployment.
(06074283) Business Intelligence
(3 credit hours, prerequisite: 06073132)
This course provides an introduction to the concepts of business intelligence (BI) as components and functionality of information systems. It explores how business problems can be solved effectively by using operational data to create data warehouses, and then applying data mining tools and analytics to gain new insights into organizational operations.
(06074277) Machine Vision
(3 credit hours, prerequisite: 06073132)
This course provides the fundamentals of machine vision and its applications in robotics, data science and other AI applications. The course covers digital image processing, features, and patterns analysis in addition to other images recognition, locking and tracking techniques which is applied using various AI tools and algorithms. Such as machine learning and deep learning.
(06073271) Expert System
( 3credit hours, Prerequisite : 06013176)
Introduction to expert systems, expert systems programming languages, knowledge base, rule base, Knowledge analysis, expert systems architecture, case studies.
(06074272) Data Modeling and Simulation
(3 credit hours, prerequisite: 06072151)
This course is an introduction to computer simulation for the modeling and analysis of complex real-world systems. Topics include review of the theory, model design and development, comparison to analytical models, input data preparation, random number generation, output statistical analysis, and model validation.
(06074173) Cognitive Science
(3 credit hours, prerequisite: 06072151)
This course is an introduction to the field of Cognitive Science. To capture the interdisciplinary nature of this field, we will address a range of topics and research programs from a variety of disciplines, including philosophy, computer science, cognitive psychology, behavioral economics, and linguistics. The goals of this course are to introduce you to the foundations of Cognitive Science, help you appreciate the development of this field over the years, and allow you to explore the investigations and lively debates that have taken place within and across the disciplines that make up the field.
(06074274) Knowledge Representation and Inference
(3 credit hours, prerequisite: 06072151)
This course provides the fundamental concepts and practices of the inference and formalization of knowledge and its applications in knowledge-based systems. It covers the entire life-cycle of knowledge based systems from identification of relevant knowledge and expertise to knowledge capturing, representation, evaluation, and usage.
(06074175) Pattern Recognition
(3 credit hours, prerequisite: 06072151)
This course provides an introduction to pattern recognition and classification. It covers topics such as pattern recognition systems, object classification and recognition, artificial neural networks. In addition, it also provides practical experience in constructing pattern recognition systems such as optical character recognizers (OCR) and other applications.
(06074176) Information Retrieval
(3 credit hours, prerequisite: 06072151)
Consideration of the basic principles and tools for analysis and retrieval of information in various information systems (textual and Database systems). Topics include differences between data retrieval and information retrieval, retrieval concepts, types of retrieval systems, web search architectural, tokenization, and query operations.
(06033172) Programming Mathematics
(Prerequisite: 06032112) (3) Cr. Hrs
Introduction to MATLAB infrastructure. Working with linear algebra, arrays and matrices. Graphics: plotting, images and GUI. Use of symbolic Math toolbox: flow control, data structures, scripts, functions and calculus. Solving equations.
Ancillary Requirements
(11031230) Probability and Statistics (1)
( 3 credit hours, prerequisite :604101)
Definitions and basic elements of probability, Rules of probability, Random Variables: Discrete and continuous random variables and their probability distribution functions, the mathematical expectation. Some discrete and continues distributions: Binomial, Poisson, geometric, Hyper geometric, and Normal Distributions. Point and interval estimation of the parameters of one and two populations. Tests of hypotheses concerning the above parameters, and Goodness of fit and independence tests. Simple linear Regression and inference concerning its parameters multiple linear regression: Description and estimate using matrices.
(11031221) Linear Algebra
(3 credit hours, prerequisite: 11031101)
Linear algebra provides the foundations for linear systems of equations, vector spaces, and linear transformations. Solving systems of linear equations is a basic tool of many mathematical procedures used for solving problems in science and engineering. The course focusses on the mathematical theory and methods of linear algebra.