- About the program
- Subjects
Certificate awarded
Major
Program outcomes
Program objectives
Job Market
Description
Program content
Duration
8 Terms
General credits
127
Elective credits
0
Compulsory credits
127
Total credits
140
| Subject code | Subject name | Credits | Subject type | Subject prerequisites |
|---|---|---|---|---|
| ITGS111 | Introduction to Information Technology | 3 | General | - |
|
Course Description: This will be an introductory level course for students. The course provides an overview of the specialty of information technology and describes how it relates to other computing disciplines and begins to instill the mentality of Information Technology. The goal is to help students understand the different contexts in which information technology is used, and challenges inherent in the deployment of innovative technology. Course Topics: concentration and user support; information security; models of IT systems. complexity management ( abstraction and modeling , best practices and patterns and standards and the use of appropriate tools ); Information Technology and Communications; The interaction between human and computer; Information Management; Networks; Technical plan ( an introduction to digital computers , digital electronics ); Programming; Online systems and techniques. |
||||
| ITGS112 | Problem Solving Techniques | 3 | General | - |
|
Course Description: This course introduces the student to different heuristic techniques that aid programmers and computer scientists in solving problems. The course uses classical math and word problems for generating potential solutions to ''real-life'' problems encountered in the profession, and problem solving in teams. Topics covered include: Errors in reasoning; verbal reasoning; analogy problems; heuristics; mathematical word problems; analysis of trends; lateral thinking; deductive and hypothetical reasoning; computational problem solving; problem solving in-the-large; generating, implementing, and evaluating solutions; discrete mathematics, statistics; interpersonal problem solving. |
||||
| ITMM111 | Mathematics I | 3 | General | - |
|
Course Description: Inequalities, function, domain, range, limits, continuity, derivatives, chain rule, higher derivatives, implicit differentiation, trigonometric functions, maxima. Minima, point of inflection, curve sketching, role’s theorem, mean value theorem. Indefinite and definite integrals: definition ―simple cases‖, area between two curves, integration by substitution, by parts: applications. |
||||
| ITPH111 | Physics (magnetism and electricity) | 3 | General | - |
|
Course Description: Force on a point charge in an electric field, a dipole in an electric field, electric flux and electric field, Gauss’s law and Coulomb's law, application of Gauss s law. Electric potential and electric field, potential due to a point charge, a group of point charges, dipole. Capacitance, spherical and parallel plate capacitors, energy stored in an electric field. Current and Current density, resistance and resistively Ohm's law. Electromotive force, potential difference, Kirchhoff’s law, R-C circuit. Magnetic flux, flux density, magnetic force on a current, torque on a current loop, Hall effect, circulating charges, Thomson's experiment for measuring e/m for an electron. Ampere's law, flux density nears a long wire, two parallel conductor's flux density for a solenoid, the Biot –Savart law. Faraday's law of induction, Lenz’s law, time–varying magnetic field, production of a.c. Self–inductance, mutual– inductance L- R circuit, energy and magnetic field. |
||||
| ITAR111 | Arabic language 1 | 2 | General | - |
|
Course Description: Introduction: the importance of studying Arabic, the need for mastering Arabic, the importance of Arabic in nationalistic, religious, civilization and cultural frames, the role of civilization in effacing Arabic, some grammatical rules: words, sentence structures, verbal sentences, some dictation rules, looking up words. |
||||
| ITEL111 | English language 1 | 2 | General | - |
|
Course Description: Nouns (types, function, derivations), adjectives (types, sequence, derivations) adverbs (forms, position), use and forms of the ultimate tense, interrogative formations, negative of verbs. Passive constructions (forms, usages), adjective clauses (recognition and types, case of relative pronoun), gerund phrases, infinitive phrases, listening comprehension. |
||||
| ITGS121 | Introduction to Programming | 3 | General | ITGS112 |
|
Course Description: An introduction to computing and program development in the C programming language. This includes a brief introduction to basic computer concepts, an understanding of the operating system sufficient for writing program. introduction to computer programming; Getting started in C programming: introduction to basic program syntax; Printing messages, data types and declarations, numeric and character data, expressions, printing results, and variables; Processing and interactive input: assignments, counting, and input and output of data; C's conditional statements; C's looping statements; Modularity using functions: user-- defined functions, parameters and return values, standard library functions, scope, call--by-- reference; More modularity using functions: scope, storage class, and call--by--reference; Arrays: single and two dimensional arrays, initializers, array parameters; Character strings: processing strings using loops, some character and string library functions; Structures: structure concepts, structures as parameters, arrays of structures; Additional or miscellaneous topics other material as time permits. |
||||
| ITGS122 | Systems Analysis and Design | 3 | General | ITGS112 |
|
Course Description: This course provides a methodical approach to developing computer systems including feasibility study, systems planning, analysis, design, testing, implementation and software maintenance. Emphasis is on the strategies and techniques of systems analysis and design for producing logical methodologies for dealing with complexity in the development of information systems. The course includes the Waterfall model (The System Development Life Cycle), system analysis and design techniques (Process Modeling (DFDs), Logical Modeling (decision tree, decision table, structured English), Data Modeling (ERD Diagrams), Object Oriented Modeling (UML use cases). |
||||
| ITGS123 | Logic Circuits | 3 | General | ITPH111 |
|
Course Description: Introduction to information representation & number systems and codes; Boolean algebra and logic gates; simplification of Boolean functions; Analysis and design of combinational logic circuits; multiplexers; Decoders and adders,; Introduction to synchronous sequential logic; flip flops; Analysis and design of clocked synchronous sequential circuits. |
||||
| ITMM121 | Mathematics II (Linear Algebra) | 3 | General | ITMM111 |
|
Course Description: Vector Calculus: Vector Function. Derivative of a Vector function. Gradient of a scalar function. Divergence and curl of vector functions. Directional derivative and calculation of pressure, Kinetic interpretation of energy. Linear Algebra: integral of matrices. Addition and multiplication of matrices. Inverse of square matrix. Orthogonal, Hermition and Unitary matrices. Properties of determinants and expansion of the determinants. Solution of nonhomogeneous linear equations by Cramer’s rule. Elementary operations. Echelons and reduced echelon forms. Rank of a matrix. Equivalent matrices. Gauss-Jordan elimination method. System linear homogeneous and nonhomogeneous equations vector spaces. Subspaces. Linear dependence and independence Span, Basis and Dimension. Eigen value problems Eigen vectors. Cayley - Hamilton theorem. |
||||
| ITAR121 | Arabic language 2 | 2 | General | ITAR111 |
|
Course Description: Some grammar rules, nominal sentences (starters, predicates and comparing them, abrogatives), addition, numbers and specifiers, appositives, some dictation rules, dictionaries, scientific and literary styles and their application |
||||
| ITEL121 | English language 2 | 2 | General | ITEL111 |
|
Course Description: Introduction and augmentation of specialized vocabulary and aspects of scientific technical English used in the different departments of engineering. Listening comprehension. |
||||
| ITGS211 | Introduction to Software Engineering | 3 | Compulsory | ITGS111, ITGS122 |
|
Course Description: This course introduces the student to different heuristic techniques that aid programmers and computer scientists in solving problems. The course uses classical math and word problems for generating potential solutions to ''real-life'' problems encountered in the profession, and problem solving in teams. Topics covered include: Errors in reasoning; verbal reasoning; analogy problems; heuristics; mathematical word problems; analysis of trends; lateral thinking; deductive and hypothetical reasoning; computational problem solving; problem solving in-the-large; generating, implementing, and evaluating solutions; discrete mathematics, statistics; interpersonal problem solving. |
||||
| ITGS222 | Data Structures | 3 | General | ITGS121 |
|
Course Description: Classification of data structures, space and time considerations. Linked lists, stacks and queues. Tree structures, binary search trees. Array and pointer based implementations. Recursive applications. Sorting and searching. |
||||
| ITGS213 | Introduction to Networking | 3 | General | ITGS111 |
|
Course Description: Introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols (OSI model vs TCP/IP protocol stack), applications, circuit and packet switching access networks. Introduction to Application Layer, topics include: Web, HTTP, FTP, Email, DNS, and socket programming. Introduction to Transport Layer, topics include: UDP, TCP, flow control, congestion control. Introduction to Network Layer, topics include: routing principles, IP routing, IPv4, IPv6, broadcast, multicast, unicast. Introduction to Link Layer and local area networks, topics include: error detection/correction, multiple access protocols, LAN, Ethernet. Basics of physical layer and wireless networking and related Security issues. |
||||
| ITGS215 | Numerical Methods | 3 | General | ITMM121 |
|
Course Description: This course is a programming course; students need to implement all discussed topics by any programming language in class per class fashion. This course include these topics: Introduction to error analysis, root finding methods for non-linear equations (interval halving, false position), Newton’s method, definition of interpolation, Newton’s-Gregory interpolation, central interpolation (Gauss forward and backward, Bessel, Stirling), Least square approximation, Spline curves, Numerical differentiation, Numerical integration (Trapezoidal method, Simpson's), Numerical solution of ordinary differential equations (Taylor’s series method), Euler method , Runge-Kutta method. |
||||
| ITGS216 | Discrete structure | 3 | General | ITMM121 |
|
Course Description: This course include these topics: Number systems: natural numbers, radix r representation of integers, mathematical induction. Logic: propositional logic, predicate logic. Boolean algebra; sets; recursion; relations, and functions. Combinatory: counting principles; permutation groups. Graphs: graphs; diagraphs; trees; Euler's formula and coloring of graphs. Formal machines: automata and regular expressions; register machines: turning machines. |
||||
| ITST221 | Fundamentals of statistics and probability | 3 | General | ITMM121 |
|
Course Description: Probability: concept of a random experiment and sample space; addition and multiplication laws of probability; conditional probability and independence, Bay's theorem and its application. Random Variables and their probability: Conditional Probability; Binomial , Poisson, Hyperogeomtric, Normal , Gamma , Exponential and uniform random variables and their properties . Basic statistical concepts: Statistical data, measures of central tendency; dispersion skewness and kurtosis. Regression and Correlation: simple, linear regression; regression coefficient and correlation coefficient. Fitting of linear and curve linear regressions, Multiple linear regression and multiple. Test of Significance: Basic concepts; use of normal test and t-test for hypothesis testing for a mean and the differences of two means. Use of X2 distribution for testing independence and goodness of fit. |
||||
| ITGS221 | Foundations of Information Systems | 3 | General | ITGS111 |
|
Course Description: Information systems are an integral part of all business activities and careers. This course is designed to introduce students to contemporary information systems and demonstrate how these systems are used throughout global organizations. The focus of this course will be on the key components of information systems - people, software, hardware, data, and communication technologies, and how these components can be integrated and managed to create competitive advantage. Through the knowledge of how IS provides a competitive advantage students will gain an understanding of how information is used in organizations and how IT enables improvement in quality, speed, and agility. This course also provides an introduction to systems and development concepts, technology acquisition, and various types of application software that have become prevalent or are emerging in modern organizations and society. |
||||
| ITGS212 | Object Oriented Programming | 3 | General | ITGS222 |
|
Course Description: Introduction to Object-Oriented Programming, introduces students to object-oriented programming concepts, such as classes, objects, methods, interfaces, packages, inheritance, encapsulation, and polymorphism. These concepts are emphasized through extensive programming examples and assignments that require problem solving, algorithm development, top-down design, modular programming, debugging, and testing |
||||
| ITGS223 | Information Security | 3 | General | ITGS213 |
|
Course Description: This course introduces students to the basic principles and practices of computer and information security. Focus will be on the software, operating system and network security techniques with detailed analysis of real-world examples. Topics include cryptography, authentication, software and operating system security (e.g., buffer overflow), Internet vulnerability (DoS attacks, viruses/worms, etc.), intrusion detection systems, firewalls, VPN, Web and wireless security. |
||||
| ITGS224 | Introduction to Internet Programming | 3 | General | ITGS213 |
|
Course Description: Introduction into internet and World Wide Web and their protocols, TCP/IP, MIME, http protocols. SGML – documents and their types. Html BASICS. CSS. Basics of Scripting languages programming. Server part of application (ASP, PHP,ASP.Net, or JSP), Web pages and accessing database(ADO and MS Access, or MySql). |
||||
| ITGS225 | Introduction to Databases | 3 | General | ITGS216 |
|
Course Description: This course introduce the fundamentals of database management system characteristics of DB approach, components of DB systems, DB architecture, Data modeling, Database users and administrators. Entity-Relationship model, Relational- Algebra, SQL Programming, Database design, Functional dependency and Normalization, Relational Database, Introduction to Object oriented database and UML, practical applications using a standard Relational DB system. |
||||
| ITGS214 | Computer Architecture | 3 | General | ITGS123 |
|
Course Description: System-level aspects of computing systems design, interconnection structures, Cache memory principles; Main memory; External memory; Input/ Output; CPU structure and function; computer arithmetic; instruction sets: characteristics and functions; instruction sets: addressing modes and formats; Control unit operation and design; Reduced Instruction Set Computers (RISC); Instruction-Level Parallelism and Superscalar Processors. |
||||
| ITSE311 | 3 | Compulsory | ITGS211 | |
|
|
||||
| ITSE312 | 3 | Compulsory | ITGS225 | |
|
|
||||
| ITSE313 | 3 | Compulsory | ITGS212 | |
|
|
||||
| ITGS301 | IT Project Management | 3 | Compulsory | ITGS211 |
|
Course Description: This course studies how to plan and manage projects at each stage of the software development life cycle. It covers specific techniques of Planning, Organizing, Monitoring, and Adjusting phases of software projects. Topics include technical and managerial skills needed to achieve project goals. A required team project combines technical and managerial techniques of software design and development. |
||||
| ITGS302 | 3 | Compulsory | ITGS222 | |
|
|
||||
| ITGS305 | Multimedia | 3 | General | ITGS224 |
|
The course is a basic grounding in issue surrounding multimedia design, implementation, and multimedia data. It enhances the student’s view about graphics and images. The course will cover the following: digital audio, graphics, still images and videos, animation. Also it includes data compression and transmission of media, as well as software tools used for integrating digital media. |
||||
| ITSE303 | 3 | Compulsory | ITGS214 | |
|
|
||||
| ITSE304 | 3 | Compulsory | ITGS301 | |
|
|
||||
| ITSE321 | 3 | Compulsory | ITSE311, ITGS302 | |
|
|
||||
| ITGS322 | 3 | Compulsory | ITGS212 | |
|
|
||||
| ITSE323 | Advanced Internet Programming | 3 | Compulsory | ITGS224, ITSE312 |
|
A second Internet programming course concentrating on advanced Internet application development. Creation of relatively sophisticated web pages and application that allow interactions between web page users and the web page as well as network programming, JDBC, XML processing are the main focus of the course. Different Internet programming language (JavaScript, jQuary, PHP) and tools will also be covered |
||||
| ITGS306 | 3 | Elective | - | |
|
|
||||
| ITSE401 | 3 | Compulsory | ITSE321 | |
|
|
||||
| ITSE402 | 3 | Compulsory | ITSE323 | |
|
|
||||
| ITSE403 | Human and Computer Interaction | 3 | Compulsory | - |
|
Students will learn the fundamental concepts of human-computer interaction and user centered design thinking, through working in teams on an interaction design project, supported by lectures, readings, and discussions. They will learn to evaluate and design usable and appropriate software based on psychological, social, and technical analysis. They will become familiar with the variety of design and evaluation methods used in interaction design, and will get experience with these methods in their project. Topics will include: usability and affordances, direct manipulation, systematic design methods, user conceptual models and interface metaphors, design languages and genres, human cognitive models, physical ergonomics, information and interactivity structures, and design tools and environments. |
||||
| ITSE404 | 3 | Compulsory | ITSE321 | |
|
|
||||
| ITGS307 | 3 | Elective | - | |
|
|
||||
| ITSE302 | Data mining | 3 | Elective | ITGS225, ITGS302 |
|
This course covers: basic concepts concerning knowledge discovery in data, relation of knowledge discovery and data mining. Data sources for knowledge discovery. Principles and techniques of data preprocessing for mining. Systems for knowledge discovery in data, data mining query languages. Data mining 75 techniques association rules, classification and prediction, clustering. Mining unconventional data - data streams, time series and sequences, graphs, spatial and spatio-temporal data, multimedia. Text and web mining. Working-out a data mining project by means of an available data mining tool. |
||||
| ITSE405 | 3 | Compulsory | ITSE401 | |
|
|
||||
| ITSE406 | 3 | Compulsory | ITSE401 | |
|
|
||||
| ITSE407 | 3 | Compulsory | ITSE321 | |
|
|
||||
| ITGS310 | User Interface Design | 3 | Elective | ITGS322 |
|
Topics include: Human-centered software development: Approaches, characteristics, and overview of process, functionality and usability: task analysis, interviews, surveys, Specifying interaction and presentation, Prototyping techniques and tools Graphical user-interface design: Choosing interaction styles and interaction techniques, HCI aspects of common widgets, HCI aspects of screen design: layout, color, fonts, labeling, Handling human failure, Beyond simple screen design: visualization, representation, metaphor, Multi-modal interaction: graphics, sound, and haptics, 3D interaction and virtual reality Graphical user-interface programming: UIMS, dialogue independence and levels of analysis, Widget classes, Event management and user interaction, Geometry management, GUI builders and UI programming environments, Cross-platform design HCI aspects of multimedia systems: Categorization and architectures of information: hierarchies, hypermedia, Information retrieval and human performance (Web search, Usability of database query languages, Graphics, Sound), HCI design of multimedia information systems, Speech recognition and natural language processing, Information appliances and mobile computing |
||||
| ITSE408 | 4 | Compulsory | - | |
|
|
||||
| ITSE301 | 3 | Elective | ITGS212 | |
|
|
||||
| ITGS303 | 3 | Elective | ITGS121, ITGS216, ITGS302 | |
|
|
||||
| ITGS304 | Application Development for Mobile Devices | 3 | Elective | ITGS224, ITGS322 |
|
This course will introduce students to application development for mobile devices. The course focuses on using the SAMSUNG LAB as the development platform, but the concepts covered in the course are platform agnostic. As such, students will be introduced to the Objective-C programming language, the XCode programming environment, and the iPhone SDK and APIs. Topics include: User-interaction design and requirements design, Graphical User Interfaces and Event-Driven Programming, Advanced Object-Oriented Programming, Robust design and programming for user constraints (application interruption, application responsiveness, partial user engagement), Robust design and programming for device constraints (power consumption, screen size, network connectivity, memory limitations), Data distribution: distribution types, basic parsing, distribution security. Location awareness, messaging, and other connections between the device and the outside world |
||||
| ITGS309 | Computer Games Design and Implementation | 3 | Elective | ITGS322 |
|
The course provides an introduction to the core concepts involved in designing and programming computer games. Subjects covered are: graphics; sprites, threads, sound; 2D platform games; 3D graphics; interaction and animation; lighting. |
||||
| ITGS311 | Web Application Development | 3 | Elective | ITSE323 |
|
This course will introduce web application concepts using both Django/Python and J2EEbased technologies, and you will be able to generalize these concepts to other web application technologies and tools. Topics Covered include: Web data protocols. HTML, CSS, and Bootstrap. JavaScript. jQuery. Ajax. Web frameworks and design patterns. Cookies. Sessions. Many Django and J2EE applied concepts. Databases and transaction management. ORM tools. Web security. Concurrency. View templating. Web scalability and performance. Cloud services. Principles of UI design. |
||||
| ITWT317 | Security policies and procedures | 3 | Compulsory | ITGS224 |
|
This course provides students with an introduction to information security policies. The course discusses the entire lifecycle of policy creation and enactment and presents students with issue specific policies in different domains of security. The structure of the policy is also discussed to assist the students in design and modification of policies. Several examples from different domains are incorporated to assist students to learn in context of real life situations. The topics covered in this course include: General Overview of Policies, Policy Lifecycle, and Writing Security Policies, Information Classification and Privacy Policies, Network Security and Email Policies, Application, Operating System and Software Security Policy, Encryption and Key Management Policy, Security Policy: Audit and Compliance, Acceptable Use Policies and Training /Awareness, Security Policy: Enforcement and Effectiveness. |
||||
| ITWT320 | Client-Server Programming | 3 | Compulsory | - |
|
The aim of this course is to give the students network programming concepts using a modern programming platform. Topics covered include: Introduction to Network Programming; Transport Layer Protocols; TCP, UDP, and SCTP; Client-Server Model; TCP Sockets; UDP Sockets; SCTP Sockets; I/O Multiplexing; DNS and Address Conversion; Threads Programming; RPC, Raw Sockets and Datalink Access. A practical part includes writing Client-side scripts and server-side programs. |
||||
| ITWT411 | Web Services | 3 | General | - |
|
Topics covered in this course include: Apache, TCP/IP, How Does Apache Use TCP/IP; Apache's Flags; Block Directives; Virtual Hosts; HTTP Response Headers; Common Gateway Interface (CGI); Writing and Executing Scripts; Script Directives; Debugging Scripts; Setting Environment Variables; suEXEC on Unix; Handlers; Actions; Authentication; Authentication Protocol Authentication Directives; Passwords Under Unix; Order, Allow, and Deny; Digest Authentication; Anonymous Access; Automatic User Information; Using .htaccess Files; Overrides; MIME, Content and Language Negotiation; Indexing ; Redirection; Proxy Server, Proxy Directives, Caching; Server-Side Includes |
||||