Courses Details

 Credit Hours  3      PreReq.: Web Application Development (1)

In this course, students learn the principles and terminology of multimedia, interactive multimedia techniques, multimedia data types and forms (graphics, images, animation, sound, image, etc.), desktop publishing media, hypermedia, presentation media, and embedded multimedia authoring. Means of designing and directing multimedia applications, using software such as Flash, Director, Dreamweaver and Photoshop in building and developing a media application in the field of advertising, games, e-education and electronic journalism.

Syllabus Not Available

Credit Hours  3      PreReq.: Programming Language(1)

This course aims to provide students with the ability and skills to design and develop web applications, in this course, students will gain knowledge of the methods and tools used in web application development. The course explains how the World Wide Web works, and the student has the ability to effectively design and implement its services and applications. Topics include learning and using (XHTML, CSS and JavaScript), website publishing, website evaluation principles and tools, website design exercises and problems, design methods, programming client side applications, active server pages, linking applications with databases, adding flexible content to network applications , CGI Programming and User Interface Programming for Internet Applications.

Syllabus Not Available

Credit Hours   3            PreReq.: Programming Language(1)

This course introduces students to object-oriented programming concepts using C++ programming Language (objects, classes, methods, abstraction and encapsulation). In this course, students will learn: strings, arrays, pointers, constructors and destructors, overloading, friend functions, type conversions, templates, virtual functions, polymorphism, inheritance, interfaces, inner classes, exception handling and threads.

Syllabus

The objective of this course is to introduce students to various types of Linear & Non-Linear data structures, their logical and physical representations in computer memory, and their related operations. Topics to be covered include: strings storage and representation, arrays, the effectiveness and performance of search algorithms, sorting, data files, structure concepts, linked lists and their different variations, queues and stacks and their applications, tree structures and their different variations, introduction to graphs and networks.

Syllabus

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.

Syllabus Not Available

This course covers Algorithm definition; tools and methods for algorithm analysis and design; mathematical notations; choice of data structure, space and time efficiency, computational complexity, and algorithms for searching and sorting. Correctness and finiteness of algorithms, Algorithmic strategies, Tree terminology and algorithms, Hashing functions, Graph terminology, Implementation strategies for Graph, Network and Tree algorithms, sorting and searching algorithms, the dynamic programming method, Introduction to parallel algorithms.

Syllabus

Digital Logic Design is an introductory course into the digital computer which gives the students a good understanding of digital computer design. During this course, the student is expected to learn the following concepts: Number systems, base conversion, and data representation using binary codes, Boolean algebra, Simplification of Boolean algebraic expressions, Design and analysis of combinational logic, implementing logic functions using multiple-output networks such as Multiplexers and Decoders, Design and analysis of synchronous sequential logic.

Syllabus Not Available

This course covers the basics of computer organization and architecture, representation of information, machine and assembly languages, processor organization, control unit design, input/output, memory hierarchies and organization, data path and pipelining, architectural of RISC and CISC processors, and parallel processing.

Syllabus Not Available

This course aims to provide the student with web design skills using the PHP programming language, and focuses on designing the back end of the website. This course covers the following topics: a web server (Apache, IIS), the basics of web application development, the basics of programming the dynamic programming language for the web using languages ​​such as PHP or ASP.NET, learning how to define arithmetic and logical variables and operators, dealing with texts, symbolic strings and arrays, Actions, dealing with control sentences and repetition. Connecting with the Mysql database so that adding, deleting, modifying and querying data from the database, checking the quality and form of the data entered by the user. The practical side of the course includes the application of the concepts addressed in the course using software such as Zend Studio or its equivalent.

Syllabus Not Available

This course introduces computer programming using the Visual programming language (In Java) with object-oriented programming principles. Emphasis is on event-driven programming methods, including building visual components (windows, menus, frames, message-boxes, buttons, lists, and input/out boxes), managing containers and layout, event-handlers, exceptions. Employing GUI class libraries. Implementation programs in various fields of computer science. Upon completion, students should be able to design, code, test and debug mini-project.

Syllabus

Introduction to Sets and Relations, Finite Automata: deterministic and non-deterministic, regular languages and regular expressions, Context-Free languages: Context-Free grammar. Push-down Automat, Determinism and parsing, Top-down parsing and LL (1) grammar, Turing Machines: Turing acceptable, decidable and computable.

Syllabus Not Available

This course introduces the fundamental concepts necessary for designing a databases system. This course stresses the fundamentals of database modeling and design, such as hierarchical, networked, relational, and object-oriented. In addition, this course learns how to program using SQL language. The student learns how to design a database system using an Entity Relation (ER) diagram, and the method of create the interrelationship between entities. This course objects to provide an in-depth and up-to-date knowledge of the most important aspects of database systems and applications, and related technologies.

Syllabus

Artificial intelligence (AI) introduces AI and its scope and applications. Agent Types .AI programming languages. Knowledge representation. Heuristic Search and Problem-Solving with different strategies for solving different types of problems. Introduction to knowledge based systems. Expert Systems. Natural Language processing. Machine learning. Other AI applications. In problem solving by searching, we will provide some of the informed, uniformed, heuristic, local search algorithms and optimization problems. In knowledge representation, we will show how to use first-order logic to represent the most important aspects of the real world, such as actions, space, time and mental events.

Syllabus Not Available

This course aims to provide students with the basic principles of mathematical and scientific knowledge necessary for the design, preparation and implementation of graphics. Topics covered in the course include: The basics of drawing primitives (point, line, circle ... etc) drawing two and three dimensional drawing, geometric transformations, translation, scaling and rotation, Introduction to the graphical software (such as BGI & Open GL). The practical side of this course includes practical applications using C++ programming languages.

Syllabus Not Available

This course is an introduction to expert systems. In this course, Students will be learned how theory and applications complement each other. Both theory and application are presented. Students are provided with the basic of PROLOG language, which they can use to develop systems of their own in solving problem. In this course, different methods and techniques of creating and design a knowledge base: Rules, Semantic nets Frames and others will be covered in addition to various knowledge representation methods. By integrating theory with a fully functional means of applying that theory to real-world situations, students will gain an appreciation for the role played by expert systems in today’s world.

Syllabus Not Available

Introduction to information security and its importance, threats and vulnerabilities of computing system, understanding of classical encryption techniques: Substitution, Transposition and Product Ciphers. Examination of conventional encryption algorithms and design principles including transposition and substitution techniques such as DES. Understanding of the modern cryptographic techniques such as RSA, Key distribution, digital signature, identification and authentication, and sharing keys. Provide basic understanding of attack types, Network security Access control methods, Firewalls, Malware, and Digital watermarking/Steganography.

Syllabus Not Available

This course covers the essential operating system concepts. The students will be provided an introduction to  operating systems, logical design of operating systems, process synchronization, CPU scheduling, deadlock, memory management, input-output methods, information sharing, protection and security, file systems. The impact of network and distributed computing environments on operating systems is also discussed. Furthermore, the students will get hands-on practical labs on modern Operating Systems including Linux using CLI interface and installing workstation of Fedora and Windows

Syllabus Not Available

This course introduces students to Image processing principles, Image Digitization, sampling representation filtering and Image segmentation, pattern recognition and compression, transformation methods, ways of improving images using mathematical methods for noise reduction and sharpening the image, image compression as well as ways to represent the picture, such as (bmp, gif, jpg), how to extract information from the image, (Matlab Software will be used)

Syllabus Not Available

This course aims to provide students with a comprehensive coverage of the concepts and fundamentals of data messaging and computer networks. Topics covered in the course include: concepts and methods of data transmission in layered network architecture, transmission switches, routing methods, communication methods, network congestion, network organization architecture, network management and configuration, components of the network model, layered network models (OSI and TCP / IP models) ) And its protocols, Digital data routing and transmission types of networks (local, city networks, large networks, wireless networks) and their protocols.

Syllabus Not Available

This course aims to define the concepts of cloud computing and networking. The major topics includes: the development of network solutions, infrastructure of a computing network and cloud computing solutions, logical infrastructure of the network, and network packets applications, network middleware, network operations, the basics of parallel and distributed systems, security in the cloud. Also, the students will study state-of-the-art solutions for cloud computing developed by Google, Amazon, Microsoft, Yahoo, VMWare, etc.

Syllabus Not Available

This course introduces the principles and techniques associated with cybersecurity practice known as penetration testing or ethical hacking. This course covers the techniques used by hackers to break into an organization and necessary tools to have a hacker mind-set in order to protect network against future attacks. This course illustrates the differences between ethical and unethical penetration testing, describes and explains the phases of a penetration test including reconnaissance, scanning, enumeration, vulnerability assessment, exploitation, and covering tracks. Students will be able to apply different tools and methods to conduct penetration tests for discovering how system vulnerabilities can be exploited and possible countermeasures

Syllabus Not Available

This course introduces the concept of cybersecurity for IT students, its interdisciplinary nature and its relation to nation, businesses, society and people. In addition, Participating students would gain knowledge of various cyber security terminologies, technologies, protocols, threat analysis, security principles, security mechanisms, policies, forensics, incidence response and methods/practices to secure systems.

Syllabus Not Available

This course focuses on practical issues in designing and implementing modern operating systems and distributed software. Topics include concepts of a distributed system: advantages, hardware, software; design issues, communication in distributed systems: layered protocols, asynchronous transfer mode networks, client-server model, remote procedure call, RMI, group communication; synchronous: clock, mutual exclusion, election algorithms, atomic transactions, deadlocks; processes and processors: threads, system models, allocation, scheduling; fault tolerance; real-time; distributed shared memory: consistency, page, variables, object-oriented based; case studies.

Syllabus Not Available

This course introduces students to Database environment, DBMS architecture, advanced topics in modeling tools. In addition, the course aimed to enhance student's knowledge of the concepts of databases through PL / SQL statements: Data Definition Language (DDL), Data Manipulation Language (DML), Transaction Control Language (TCL) and Data Control Language (DCL). Finally, it gives the student the ability to handle various applications including Oracle reports.

Syllabus

Through this course, the student is trained in one of the institutions or companies related to the specialization of Computer Science, whether in the public or private sector. The training period is eight continuous weeks, and the student submits a detailed report on his training at the end of the training period.

Syllabus Not Available

This course aims to introduce selected an advanced topics in Computer Science , whereby selected recent topics in the various fields of CS. are not covered in the description of the courses offered by the department and determined by the department council.

Syllabus Not Available

The Graduation Projects (GP) helps students to go beyond their acquired knowledge and skills which are learnt through the program plane and outcomes by developing projects that demonstrate their intellectual, technical, and inventive abilities. In this course, student critically applies the accurate Computer Science (CS) project development methodologies to develop either a software system with accompanying report or a comprehensive CS research report based on the research activity undertaken - oriented to real life problems. Students identify specific problem (define the research questions), conducts a literature survey, analysis, design for the proposed solution (an artifact), implement, and test the proposed solution  to the identified problem utilizing computer algorithms, software packages and/or hardware devices. At the end of the course, the student has to demonstrate the project findings and submit a complete graduation project report. Students will be required to plan their work and meet deadlines. They also need to demonstrate the outcome of their CS research/ software system and write a comprehensive report.

Syllabus Not Available

credit hours 3        PreReq.: None

Students who pass the placement test successfully or ICDL certified are exempted from taking this course.

This course covers the topics: Computer Software and Hardware, Windows Specifications and Features, Introduction to Word processing, Spreadsheets, Presentation design, Internet and E-mail.

Syllabus Not Available

Credit Hours: (3)      PreReq: (None)

This course is an introduction to the field of Information System (IS) focusing on the most important concepts of information System. The information systems field involves the design, development, use, and management of organizational computer-based information systems. The course covers the topics: Information, Data, System Concepts and Requirements, System Life cycle, System Management and System Security.

Syllabus Not Available

credit hours 3        PreReq.: None

The course aims to give students the ability to use the various computer programs needed in daily life, the importance role played by PCs, how to maintain PCs, and how to use PCs the right way. Also, the course will include: an overview of the technological developments in modern personal computing, the criteria for selecting PC components and determine their specifications. Also, the Students will learn fundamental concepts of software and become familiar with a variety of computer applications, including MS Windows, MSOffice (Word, Excel, PowerPoint) and how to upload them to the system, protect the system from viruses and illegal intrusions, health concerns, ethical use of computers and information systems, optimal use of the devices.

Syllabus

 Credit Hours  3       PreReq.: None     

This course is an introduction to the field of Information Technology (IT) focusing on the most important concepts of information technology. The aim of the course is to give some fundamental issues surrounding the world of computing through a balance between theory and applied learning of these important topics of information Technology. The course covers the topics: Computer Software and Hardware, System Unit, Input and Output, Secondary Storage, Programming Languages, Databases and Computer Networks.

Syllabus Not Available

Credit Hours  3       PreReq.: None

This course will introduce the basics of computer networks and their importance in different areas in terms of saving time and effort to get the information and provide services at high speed and accuracy, as well as introduce students to use the internet and intra-net, extra-net and World Wide Web, the benefits of using the Internet to store and retrieve data to be used in the development of learning and teaching process, the basic concepts of e-business - terms and concepts of e-commerce, security and protection criteria in the e-business environment. Also, the course will cover topics such as: E-mail service, search and retrieval of information, as well as the development and publishing of Web pages on the Internet using SharePoint Designer software.

Syllabus

Credit Hours 3      PreReq: ( None )

This course is an introduction to programming using C++ programming language. The aim of the course is to give some basic terms, concepts, general structure and Methodology of Programming. The course covers the topics: introduction to computer System, computer languages, Binary representation and storage, Problem analysis, Pseudo-Code, Construct flowcharts, Basic elements of C++ and Control structures. Simple C++ practices applied during the course. Course will be taught in the computer lab.

Syllabus Not Available

Credit Hours: (3)      PreReq: (Introduction to programming)

This course introduces programming using C++ language. The process of programming is much more than just writing code. It involves analyzing the problem at hand, designing a solution, implementing and testing that solution. In this course, students will learn to apply techniques for effective problem-solving and develop technical skills with C++ as an implementation language. The course covers the topics: structure of a C++ program, C++ Program Control and Iteration Statements, C++ Functions, test and debug a C++ program and introduction to C++ Arrays.

Syllabus

Activitiess

# Title Location Year
• 

WHAT PEOPLE SAY