Courses Description - College of Computer Science & Information Systems

Computer Science Program Course Description

Level-3/ Semester-3  

Course Code

Course Name

Credit Hours

Prerequisite

104PHIS-4

Fundamentals of Physics

4(3,2,1)

 

 

Course Contents:  

Vectors; uniformly accelerated motion; Newton's laws; work, energy and power; oscillatory motion; wave motion; electrostatics; the electric field and the electric potential; electric current; magnetic fields and electromagnetic waves; atomic models; crystal structures and bonding in solids; free electron theories of solids; semiconductors; semiconductor devices.

 

Course Code

Course Name

Credit Hours

Prerequisite

111CSS-4

Programming Language 1

4(3,2,1)

 

 

Course Contents:

Introduction to C programming language, algorithms, flowcharts, data types, identifiers, storage classes, constants, operators, expressions, statements, console I/O statements, selection statements, switch, iteration statements, jump statements, function calls, Arrays,  pointers, structures, unions, enumerations, file I/O, and basic principles of the C++ programming language (e.g. data types, objects and classes).

 

Course Code

Course Name

Credit Hours

Prerequisite

106MATH -3

Introduction  to Integration

3(3,0,1)

 

 

Course Contents:  

The integral and its properties, Riemann sums and the definite integral, area under a curve, formal properties: Additivity, linearity, triangle inequality, the fundamental theorem, indefinite integrals, integration by substitution, integration of powers of sinus and cosines, integration by parts, integration of rational functions with linear or quadratic denominator, and a variety of applications of integration.

 

Course Code

Course Name

Credit Hours

Prerequisite

152MATH -3

Discrete Mathematics

3(3,0,1)

 

 

Course Contents:

Number systems; Logic: conjunctions, logical equivalence and arguments, predicate logic; propositional logics, methods of proofs. Sets: operations on sets, Cartesian products. Relations: Equivalence relations, order relations, functions, counting principles, permutations and combinations, trees and graph.

 

Level-4/Semester-4

 

Course Code

Course Name

Credit Hours

Prerequisite

342MATH -3

Linear Algebra

3(3,0,1)

 

 

Course Contents:

Linear equations, matrix representation of linear equations, inverse of matrix, symmetric matrices, determinants, vector representation, relationship between vectors, vector spaces and subspaces, linear independence, basic of vector spaces, linear transformations, bases of vector spaces, linear transformations, rank of matrix, Eigen values and eigenvectors, and orthogonally and least squares.

 

Course Code

Course Name

Credit Hours

Prerequisite

113CSS-4

Programming  Language 2

4(3,2,1)

111CSS-4

 

Course Contents:

Introduction to object oriented programming (OOP) concepts, basic Java syntax, introduction to objects and classes, data types, variables and operators, selection and control structures, array, properties of classes, inheritance, package and interface, abstract class, polymorphism, exception handling, thread, multithreading, file system, I/O, applet, Java Network, Interface, Interface Development Environment.

 

Course Code

Course Name

Credit Hours

Prerequisite

324STAT-3

Probabilities and Engineering Statistics

3(3,0,1)

 

 

Course Contents:

Concepts of statistics and its applications in science and engineering, measure of central tendency, measure of dispersion, regression, correlation, and their applications. Concepts of probability and its applications in science and engineering, probability axioms, conditional probability, independent probability for events, some probability distributions and random variables: discrete and continuous random variables, some important probability distributions (discrete and continuous), computer applications using statistical software.

 

Course Code

Course Name

Credit Hours

Prerequisite

203MATH -3

Advanced Calculus

3(3,0,1)

 

 Course Contents:

Infinite Sequences, Infinite series, convergence and divergence of infinite series, integral test, ratio test, root test and comparison test. Conditional convergence and absolute convergence, alternating series test. Power Series, Taylor and Maclaurin series, Vector valued functions, their limits, continuity, derivatives and integrals. Motion of particle in space, tangential and normal components of acceleration. Function in two or three variables, their limits, continuity, partial derivatives, chain Rule, directional derivatives, tangent planes and normal lines to equations, Extrema of Functions of Several Variables, Lagrange Multipliers, Double integral and its applications to area, volume, moments and center of mass. Double integrals in polar coordinates, triple integral in rectangular, cylindrical and spherical coordinates and applications to volume, the moment and center of mass. Vector fields, line integrals, surface integrals, Green's theorem, and the divergence theorem. Stoke's theorem.

Level-5/Semester-5

 

Course Code

Course Name

Credit Hours

Prerequisite

222CSS-4

Computer Organization and Architecture

4(3,2,1)

 

 

Course Contents:

This course will develop Assembly Language programming to illustrate the role and interaction between computers main component, specifying on assembly instructions and addressing: data transfer instructions, arithmetic instructions, logical instructions, conditional and unconditional branch instructions, loop instructions, and procedure calls, macro instructions.

Then it will also discuss on the Number Systems (decimal, hexadecimal and binary) and their basic operations. Relating  the computer basic units' organization and design such as  memory, control, arithmetic and logic unit, and registers with computer instructions and addressing modes, timing and control, execution cycle of instructions,  Input, output and interrupt.

 

Course Code

Course Name

Credit Hours

Prerequisite

212CSS-3

Data Structures

3 (2,2,1)

111CSS-4

 

Course Contents:

Study of common Abstract Data Types (ADTs), basic data structures and design and analysis of algorithms. Common ADTs: stack, queue, list, tree, priority queue, map and dictionary. Basic Data structures include arrays, linked lists, heaps, hash tables, search trees. Basic design and analysis of algorithms covers asymptotic notation, recursive algorithms, searching and sorting, tree traversal, graph algorithms.

 

Course Code

Course Name

Credit Hours

Prerequisite

330 CSS-3

Programming Paradigms

3 (2, 2, 1)

113 CSS-4

 

Course Contents:

Introduction to programming languages, the static and dynamic scope, communication between subprograms via parameter passing, and storage management (static and dynamic), languages using virtual machines: Java programming language is discussed as an example of languages that use virtual machines (VM); the main differences between C++ and Java, Introduction to functional programming (basic skills about Scheme programming language), general differences between the Scheme and the C programming language, logic programming, modern programming (e. g. Python and C#).

  

Course Code

Course Name

Credit Hours

Prerequisite

105PHIS-3

Advanced Physics

4(3,0,1)

 

 

 

Course Contents: 

Atomic structure: electronics configuration, classification of elements, energy levels. Crystal structure: lattice, symmetry, space group, examples for simple structure. Electrical properties of materials and electricity: classification of materials. Magnetic properties of materials and magnetism. Thermal properties of materials: thermal energy, thermoelectric power (Seebeck Effect). Mechanical properties of matter (Young's modulus, tensile materials).

  

Level-6/Semester-6 

 

Course Code

Course Name

Credit Hours

Prerequisite

235CSS-3

Theory of Computation

3 (3,0,1)

 

 

Course Contents:

Introduction to languages, Alphabets and strings, concatenation, languages, operations on strings and languages, regular expressions and regular languages. Analysis of Finite-state Automata, regular expressions and equivalence with automata, Non-deterministic FA and their equivalence to deterministic FA, and Pumping Lemma, Push-down Automata and equivalence with context-free grammars. Introduction to Turing Machines and various models of TM's and their equivalence.  Study of Context-Free Grammars and languages, transitions between grammars and machines, derivations and derivation trees. Simplification of context-free grammars and Chomsky normal form.  Brief introduction to Decidability, Reducibility, Un-decidability, Time Complexity including the classes P and NP.

 

Course Code

Course Name

Credit Hours

Prerequisite

227 CSS-3

Operating Systems

3 (2,2,1)

226 CSS-2

 

Course Contents:

Introduction, history and evolution of operating systems, operating system structure, process management and scheduling, inter process communication, process coordination and synchronization, threads (overview, multithreading model and threading issues), CPU scheduling (Basic concepts and scheduling algorithms), deadlocks (deadlock characterization, methods for handling deadlock), deadlock prevention, deadlock avoidance and detection, memory management, introduction to protection and security issues, introduction to file management and application.

 

Course Code

Course Name

Credit Hours

Prerequisite

342 CSS-3

Software Engineering

3 (2,2,1)

111 CSS-3

 

Course Contents:  

Study of common Software Engineering, comprehensive introduction to software engineering. It gives an introduction to basic concepts, principles and techniques used in software engineering. It discusses the nature of software and software projects, software development models, software process maturity, project planning, management, and communication. This course gives an introduction to methods for analysis, design, testing, and implementation of large, complex software systems.

 

Course Code

Course Name

Credit Hours

Prerequisite

101BIO-3

General Biology

4 (3, 0, 1)

 

  

Level-7/Semester-7

 

Course Code

Course Name

Credit Hours

Prerequisite

281 CSS-3

Computer Graphics

3 (2, 2, 1)

111 CSS -4, MATH 342-3

 

Course Contents:

This course is dedicated to introduce the fundamental concepts in creating computer graphical images. Computer graphics is a multidisciplinary field which uses different ideas from art, mathematics, and computer science to create images. In this course the students study OpenGL that has combinations with C and C++ to create graphical images by writing frequent programs and solve problem sets. Topics to be covered in this course as: Introduction to graphics concepts, basic graphics programming and OpenGL (or 3D Max), basic raster graphics algorithms and primitives, scan conversion, graphics hardware, 2D geometrical transformations, 3D geometry and viewing, hierarchical modeling, input devices and techniques, lighting and color, projections, hidden surface removal, and shading and rendering.

 

 

Course Code

Course Name

Credit Hours

Prerequisite

361CSS-3

Artificial Intelligence

3 (3,0,1)

 

 

Course Contents:

Introduction to Artificial Intelligence: Intelligent agents and knowledge representation (semantic networks, frames, propositional and high-order logics), Searching Techniques: Uninformed search algorithms (breadth first and depth first with related strategies; branch-and-bound and optimal path; memory-bounded search strategies), Heuristic search (Greedy search, A*-search, and hill climbing), Logic: Predicate and propositional logic, resolution and deductive proof techniques (e. g. generalized modus ponens), Planning: Planning operators/languages, planning

algorithms including (partial-order planning, re-planning, and conditional planning), Reasoning with uncertainty, decision making: Introduction to probability, Bayesian Rule, Belief Networks and inference with them; basic concepts of decision theory and decision making, Learning: General concepts of learning with introduction to PAC theory; learning algorithms including: decision trees and decision lists, hypothesis space learning, and perceptrons, Agent interaction: Basic concepts of agent communication and coordination, including adversarial search and game theory, Philosophical concerns: Including questions about possibility of achieving intelligent

behavior, intentionality, Constraint Satisfaction Problems: Game playing, machine learning, natural language processing, expert Systems, vision and Robotics, Introduction to Prolog: Presentation of prolog (the program and query) and the facts (simple facts, facts with arguments and how to query). 

 

Course Code

Course Name

Credit Hours

Prerequisite

380 CSS-3

Fundamentals of Database Systems

3 (2,2,1)

 

 

Course Contents:

Study of fundamental concepts and techniques of modeling and design of databases and database programming languages. We begin with an introduction to Databases, architecture of Database Management Systems (DBMS), overview of database design and SQL programming language. Two database design models and notations: the entity relationship (E/R) and Object-Oriented (e.g. Object Definition Language ODL). Relational database theories, including the conversion of E/R to normalized relational databases, functional dependencies and normalization. Relational Algebra. Advanced SQL covers sub-queries and views, triggers integrity constraints. Brief overview of XML data model, data warehouse, data mining, and data security, if time permits.

 

Course Code

Course Name

Credit Hours

Prerequisite

457 CSS-3

Internet Technologies

3 (2,2,1)

 

 

Course Contents:

Study the history and fundamentals of the internet, Common web applications, types of web pages, web publishing and to learn about Internet protocols (HTTP, TCP/IP and FTP), Client/Server Architecture and the MVC approach in Website design. Programming with HTML, XHTML, cascading style sheets (CSS), and JavaScript, client and server side scripting, develop dynamic web application with PHP or ASP and MySQL. Finally, evaluating web sites and applications and learning about web privacy and various security issues.

 

Course Code

Course Name

Credit Hours

Prerequisite

329CSS-3

Data Communication and Computer Networks

3(2,2,1)

227 CSS-3

 

Course Contents:

Data transmission and physical infrastructure, flow control and error control, layered models, LAN and WAN-systems, packet and circuit switching, internetworking and IP, transport layer protocols (e.g. TCP and UDP), communication Models, applications (DNS, SMTP, FTP, HTTP, Telnet, etc.). 

 

Level-8/Semester-8

 

Course Code

Course Name

Credit Hours

Prerequisite

491CSS-4

Project 1

4(4,0,1)

342CSS-3

 

Course Contents:

This course provides to student with the opportunity to carry out a collective piece of supervised work; relevant to their degree. Writing and presentation skills, visibility study, specification of software requirements and software life cycles, software projects planning, assessment, control and scheduling, resources allocations, risk management, and other topics such as: software re-use, quality assurance, control and management, human factors in controlling people, leader and team building, maintenance and management tools (e.g. MS Project).

 

Course Code

Course Name

Credit Hours

Prerequisite

474CSS-3

Algorithm Design and Analysis

3(3,0,1)

212CSS-3

 

Course Contents:

This course introduces various algorithm design paradigms and the basics of computational complexity analysis using different models of computations with the overview of  mathematical essentials, space and time complexities, asymptotic notations. Design and analysis of algorithms covers linear programming, greedy algorithms, divide-and-conquer, backtracking, branch-and-bound, search methods, graph algorithms and introduction to NP-Completeness.

 

Course Code

Course Name

Credit Hours

Prerequisite

328CSS-3

Human and Computer Interaction

3(3,0,1)

 

 

Course Contents:

Theoretical concepts of human-computer interaction (HCI), design principles for graphical computer interfaces, dimensions and multi-disciplinary nature of human computer interaction, user interface design, user requirements analysis, user modeling, task analysis, general principles in user interface design, principles, rules and models in human-centered design, design guidelines, standards and style guides, dialogue styles, , ergonomics and human factors, usability, toolkits, development environments and user interface management systems, formative and summative evaluation, user interfaces for the web, enhanced human-computer interaction, and advanced issues in human-computer interaction.

 

Course Code

Course Name

Credit Hours

Prerequisite

456CSS-3

Parallel and Distributed Systems

3 (3,0,0)

329CSS-3

 

Course Contents:

Introduction to parallel systems; Processes and processors; Parallel architectures (multi-computer, multi-processor); Performance of Parallel systems (speedup, efficiency, etc.); Characterization of distributed systems; System models; Inter-process communication; Remote invocation; Distributed operating system; and Distributed file systems. 

 

Level-9/Semester-9 

 

Course Code

Course Name

Credit Hours

Prerequisite

492 CSS-4

Project 2

4 (0,8,0)

491 CSS-4

 

Course Contents:

During this course, every group must do oral presentations and present and describe the software they have developed for the project. At the end of the course and after the approval of the supervisor about what have been accomplished, the group must submit a complete package containing the software developed for the project, any devices that are essential for the project, preparation of a manual user specific model and a written report about the project satisfying the university report requirements. In addition, they have to present and defend their project.

 

Course Code

Course Name

Credit Hours

Prerequisite

429CSS-3

Computer Security

3 (2,2,1) 

329CSS-3

 

Course Contents:

 

Introduction to Computer security and basic cryptography topics. Study the various developments in security, with emphasis on public-key encryption, secret key systems,  the data encryption & Decryption standards , control and protection methods, elements of technical security: authentication, integrity, availability,  auditing, non-repudiation, confidentiality/privacy/secrecy. Message authentication and hash functions, hash and MAC algorithms, digital signatures and authentication protocols, internet security, security flaws and vulnerabilities, malicious software, firewalls, intrusion detection methods.

 

Course Code

Course Name

Credit Hours

Prerequisite

440CSS-3

Social, Ethical and Professional Issues

3 (3,0,1) 

 

 

Course Contents:

This course aims at developing the ethical reasoning skills and sensitivities that computer professionals will need to make good decisions and to justify them. The course includes a general introduction to ethical theories and their use in making and justifying decisions. It admits discussions and explorations of various issues and case studies, illustrating the kinds of problems that can arise from the use and misuse of computers and technology, the responsibilities of computing professionals, ethics on the internet (hacking, computer crime, netiquette), privacy and social issues.

 

Course Code

Course Name

Credit Hours

Prerequisite

345MATH-3

Operation Research

3 (3,0,1) 

 

 

Course Contents:

This course provides an introduction to the key aspects of operations research methodology. Students will model and solve a variety of problems using deterministic and stochastic operations research techniques. It provides an overview of the entire suite of techniques and some idea of how the elements fit together. This course includes the following topics:

Introduction to Operations Research: Optimization Models and Examples:

Linear Programming: Models, Graphical Solution,Simplex Algorithm

and Goal Programming, Sensitivity Analysis and Duality 2 , Transportation Models ,Network Models and Algorithms

Integer Programming:Modeling with integer variables, Branch and Bound Methods

Sequencing models: Solution of Sequencing Problem – Processing n Jobs through 2 Machines – Processing n Jobs through 3 Machines – Processing 2 Jobs through m machines – Processing n Jobs through m Machines.

Dynamic Programming: Characteristics of dynamic programming. Dynamic programming approach for Priority Management employment smoothening, capital budgeting, Stage Coach/Shortest Path, cargo loading and Reliability problems.

Queuing Models

Nonlinear Programming: Nonlinear Models, KKT conditions, Constrained/Unconstrained optimization, Algorithms

Stochastic analysis: Game theory, Decision analysis, Inventory theory, Markov chains, Queuing analysis and simulation.