To navigate through the Ribbon, use standard browser navigation keys. To skip between groups, use Ctrl+LEFT or Ctrl+RIGHT. To jump to the first Ribbon tab use Ctrl+[. To jump to the last selected command use Ctrl+]. To activate a command, use Enter.

This course studies the mathematical elements of computer science. Topics include propositional logic; predicate logic; mathematical reasoning; techniques of proof; mathematical induction; set theory; number theory; matrices; sequences and summations; functions, relations and their properties, elementary graph theory, and tree.

The course is the basic course in numerical methods. It introduces students to: Error analysis; Finding roots of a function: bracketing and iterative methods; Roots: direct and indirect solution of systems of linear equations; Solution of nonlinear systems; Approximation and interpolation; Numerical integration and differentiation; Programming language programs in parallel with material or using MATLAB . Weekly practice in the lab.

This course is an introduction to key design principles and techniques for interactively visualizing data. The major goals of this course are to understand how visual representations can help in the analysis and understanding of complex data, how to design effective visualizations, and how to create your own interactive visualizations using modern web-based frameworks.

This course is designed to help students to
gain rapid software application skills such as: Solaris System Software, Sun,
Unix, Cisco, MSE and others. in this course the student will be able to develop
and design a web applications and services, mobile applications and others
using certified software's from Microsoft company or certified software's to
achieve the final goal of the course which is getting an intentional
certificate from international companies. Weekly practice in the lab.

This course describes the architecture, components, and
operations of routers and switches in a small network. Participants learn how
to configure a router and a switch for basic functionality

Introduction to high-performance computing, processor architectures, memory systems, data and parallel decompositions, parallel languages and architectures, multiprocessors, multi-computers; routing topologies; shared memory and passage passing parallel processing, PRAM model (exclusive versus concurrent reads and writes) and sample applications.

Wireless networks and their basic operation, different types of wireless technologies and systems, the basics of how they operate, different types of wireless voice, data and broadcast services, key commercial systems. Wi-Fi wireless networks, Bluetooth wireless technology, GSM cellular networks, cellular internet access via Wireless access protocol (WAP), GPRS and UMTS networks, wireless networks operating system; Symbian OS, Palm OS. Mobile IP and Mobile routing, Transport layer over wireless networks, Mobile wireless network applications.

This course enables students to understand and implement operating systems functions in managing computer systems component. It includes the following major topics: Introduction to Hardware and Software Concepts; Process and CPU scheduling, Threads, Synchronous and Concurrent Execution, Deadlock and Indefinite Postponement; Memory management: Physical and Virtual Memory; Management of external storage and I/O devices: Files management; Performance and Optimization; Security and Protection; and Distributed Systems.

This course explores key concepts and essential technologies of computer networks and broad range of topics in networking, including: General overview:Networks applications, Network classifications and topologies, Network layers, Channel performance measures, transmission media, Communication Network Protocols and architecture; Data link layer: framing, error detection and correction, CSMA/CD, LAN IEEE standards; Network layer: IP service model, IP Addressing, subnetting, Host configuration DHCP, ARP Protocol, ICMP protocol; Transport layer: UDP protocol, TCP protocol, TCP reliable transfer and sliding window, TCP flow and congestion control; Application layer: DNS protocol, NAT protocol, HTTP protocol, persistent and non-persistent HTTP connection.

Records.
Classes and data abstraction. Inheritance and composition. Templates.
Contiguous list. Stacks, Stack operations and Implementation of Stacks as
arrays. Queues, Queue operations and Implementation of Queues as arrays.

Pointers. Classes. Virtual functions and abstract classes. Overloading. Recursion. Linked list: singly, doubly, circular. Stacks, Stack operations and Implementation of Stacks as linked-list. Queues, Queue operations and Implementation of Queues as linked-list. Trees, Binary Trees.

Sets,
Relations, Closure and Languages, Finite Automata, deterministic and
nondeterministic, Closure and pumping lemma, Regular languages and expressions,
Context-Free Grammar, Regular languages and
Context-Free languages , pushdown automata, closure, determinism and
parsing, LL(1) Grammar, Turing machines
and machine schemas, examples,
Introduction to P and NP classes.

Definition of an algorithm; Algorithm design and techniques, such as sequential versus divide-and-conquer; Algorithm analysis; Concept of basic operations; Concept of worst, best, and average case analysis; Complexity analysis: big O, Omega and Theta notations; Recurrence equations and recursive algorithms; Searching and sorting algorithms; Concept of graphs; Graph algorithms.

The course is the basic course in numerical methods. It introduces students to: Error analysis; Finding roots of a function: bracketing and iterative methods; Roots: direct and indirect solution of systems of linear equations; Solution of nonlinear systems; Approximation and interpolation; Numerical integration and differentiation; Programming language programs in parallel with material or using MATLAB . Weekly practice in the lab.