Computer science and information Department

Courses decription

Course Code / CS 101 / Course Name / Introduction to Computers and Programming
Credit hours / 4(3+1) / Level: 1 / Prerequisites : / - -
Course description
General Computer Topics, Computer Hardware and Software. Computer Data and Computer Programs, the Computer Processor, Main Memory, and Registers. Input/output Hardware, Storage Hardware. System Software (Operating System Basic Features, DOS, Windows, Unix, OS/2, and Macintosh). Application Software (Application Software Basic Features, MS Word, Excel, and Access, Specialty Applications Software). Communication Hardware, Networks, the Internet, Browsers and Email. Concepts of Programming Languages, solving problems, Data types, algorithm, and programs.
Text book
Computer Confluence : Concise Edition, George Beekman, 1998,Benjamin,Cummings
Course Code / CS 102 / Course Name / Computer Programming (1)
Credit hours / 4(3+1) / : 2 / Prerequisites : / CS 101
Course description
General introduction to computers and Programming Languages. The elements of a typical C Program development environment. Structured programming and proper programming techniques. The Algorithm, Pseudocode, and Flowcharts. The three control structures in C: sequence structure, selection structures and repetition structures. Construct programs modularly from small functions and recursion. To use the array data structure to represent lists and tables of values. Pointers and pointer operators. To use the functions of the character and strings handling library.
Text book
C++ How to Program,H.M.Deitel,P.J.Deitel,1998:Prentice Hall
Course Code / CS 104 / Course Name / Computer Programming (2)
Credit hours / 4(3+1) / Level / 3 / Prerequisites : CS 102
Course description
Introduction to Object Oriented Programming languages, several C++ enhancements to C. What classes, objects, member functions and data members are. How to use a constructor to ensure that an object's data is initialized when the object is created. How destructors are used to perform “termination housekeeping” on an object before it is destroyed. What operator overloading is and how it makes programs more readable and programming more convenient. To redefine (overload) operators to work with objects of user-defined classes. To create classes by inheriting from existing classes and how inheritance promotes software reuse. The use of inheritance to customize existing software. What polymorphism is, how it makes programming more convenient and how it makes systems more extensible and maintainable.The formatted Input/Output and file processing. Some applications (Arrays, Queues, Linked Lists, and sorting algorithms).Prerequisites :
Text book
C++ How to Program,H.M.Deitel,P.J.Deitel,1998:Prentice Hall

Course Code

/
CS 316
/ Course Name / Computer and Society

Credit hours

/ 3(3+0) / Level: 3 / Prerequisites : / None
Course description
Some facts on the use of computers in society and why let down the computer user, sometimes in the fields of computer learning, computer in the areas of health, in the computer industry, hard and underlying system, using the computer magazine business in business management and office automation and computer networks, computer crimes, computer security.
Text book
The Social Impact of Computer Richard S. Rosenberg, Academic Press, Inc

Course Code

/
CS 217
/ Course Name / Data Structures

Credit hours

/ 3(3+1) / Level: 4 /
Prerequisites
/ CS 104
Course description
This course introduces the fundamental concepts of data structures and the algorithms that proceed from them. How to estimate the time required for a program. The results of careless use of recursion. Introduce the concept of Abstract Data Types (ADT). Show how to efficiently perform operations on lists. Introduce the queue ADT and its use in operating systems and algorithm design. Trees, Binary Trees, AVL Trees, Splay Trees, Tree Traversals (Revisited) and B-Trees. See several methods of implementing the hash table and compare these methods analytically. Heaps, Binary Heap, applications of Priority Queues, d-Heaps, Leftist Heaps, Skew Heaps and Binomial Queues. Some sorting algorithms insertion sort, shellsort, heapsort, mergesort, quicksort, sorting large structures, bucket sort and external sorting. Graph Definitions, representation, and the topological sort, Shortest-Path algorithms, Network Flow problems, and applications of Depth-First Search. Prerequisites
Text book
Data Structures and Problem Solving using C++, Mark Allen Weiss,2000, Addison- Wesley

Course Code

/
CS 216
/ Course Name / Logic Design

Credit hours

/ 3(3+1) / Level: 4 / Prerequisites : / None
Course description
Logic operations, truth tables, logic gates, Boolean algebra and canonical forms. K-maps, minimization of logic functions. Multilevel combinational logic. Multiplexers, and demultiplexers. Time response and hazards. Programmable logic. Tri-state and open collector gates, and combinational logic case study. Flip-flops and Latches. Finite state machines, implementation and optimization. Arithmetic Unit, Memory, Hardware description lang. and prototyping.
Text book
Textbook and references: Digital Design, M. Mano, 2nd edition. Prentice Hall Inc, 1992

Course Code

/
CS 225
/ Course Name / Computer Organization and Assembly Language

Credit hours

/ 3(3+1) / Level: 4 / Prerequisites : /

102CS+216CS Facilities

Course description
Internal composition of personal computers based on Intel's x86. General review of the programming language compilation. Representation of data. Represent the numbers inside the computer. The numbering systems. The list of orders in the language of the assembly. Summons concepts and situations. Matrices stack trend. The definition of the procedure. Circulation variables and orders return. Self-replication. The definition of word processing, orders and the definition of structural data. The definition peroxide or peroxide or appeal. Input and output, including the province. Slice coding interface with languages such as the Supreme language CNN. Draft quarterly applications in real.
Text book
Assembly Language Programming for the IBM PC, Yu Marut, Latest Edition, McGraw Hill.

Course Code

/
CS 335
/ Course Name / Operating Systems

Credit hours

/ 3(3+1) / Level: 5 / Prerequisites : /

CS 217

Course description
Role and purpose of operating systems, history of operating system development, functionality of a typical operating system, design issues. Structuring methods, abstractions, processes, and resources, design of application programming interfaces (APIs), and device organization, interrupts, user/system state transitions. Concurrent execution, states and state diagrams, implementation structures, dispatching and context switching, interrupt handling in a concurrent environment. Mutual exclusion problem, deadlock detection and prevention, solution strategies, models and mechanisms, producer-consumer problems, synchronization, and multiprocessor issues. Scheduling, memory management, device management, file systems, and security and protection.
Text book
Operating System Concepts, Peter B. Galvin A. Sibberchatz, 4th Edition Addition Wesley Pub. Co.

Course Code

/
CS 337
/ Course Name / Concepts of Programming Languages

Credit hours

/ 3(3+0) / Level: 5 / Prerequisites : /

104CS

Course description
This course covers the design, development, and implementation of programming languages. Overview of existing programming languages concepts, comparison between their categories, and some practical examples of these languages. Language design principles, abstract syntax, evaluation mechanisms, binding, type systems, polymorphism, data encapsulation, exceptions, formal definition of programming languages, compiling techniques, abstract machine design, and run-time systems and garbage collection. Logical, functional, and object oriented programming languages.
Text book
Concepts of programming Languages, R.W. Sebesta, Addison-Wesley
Course Code / CS 351 / Course Name / Running Computer Centers
Credit hours / 3 ( 2+1 ) / Level: 5 / Prerequisites : / 101CS
Course description
Organizing an information processing centers, and the details of different functions, access to information sources and management, assess the efficiency of computers, planning capabilities required with management, recruitment, training and incentives in the field of computer, respects the financial centers in information processing documentation, higher commissions for managing information processing centers, reports Flying to management, data protection and software and hardware, internal audit and control, cases of the study. Prerequisites :
Text book
مذكرات من إعداد أستاذ المقرر

Course Code

/
CS 383
/ Course Name / Definite Structures

Credit hours

/ 3(3+0) / Level: 5 / Prerequisites : /

216CS

Course description
This course serves as an introduction to some of the more important concepts, techniques, and structures of discrete mathematics, providing a bridge between computer science and mathematics. Sentential and predicate languages, truth tables, and quantifiers. Methods of mathematical proof and disproof. Operations, cardinality, combinatorics, Boolean algebra and logic gates, simplification of logic circuits, and normal forms. Number theory, algorithms, counting techniques, mathematical induction, and recursion. Relations and functions. Semi groups, groups, rings, Boolean algebras and isomorphisms. Trees, directed graphs, colorings, and algorithms for traversing graphs.
Text book
Discrete mathematic and its applications, Kenneth H. Rosen, 1995 McGraw-Hill

Course Code

/
CS 325
/ Course Name / Database

Credit hours

/ 3(3+1) / Level: 6 / Prerequisites : /

CS217

Course description
This course is designed to introduce the foundations of database systems, focusing on basics such as the relational algebra and data model, query optimization, query processing, and transactions. Data modeling, conceptual models, object-oriented model, and relational data model. Mapping conceptual schema to a relational schema, entity and referential integrity, and relational algebra and relational calculus. Overview of database languages, SQL, query optimization, embedding non-procedural queries in a procedural language, and introduction to Object Query Language. Database design, functional dependency, normal forms, multivalued dependency, join dependency, and representation theory.
Text book
Fundamentals of Database Systems, R. Elmasre & S.B.Navathe 3\e,1999Benjamin Cummings.

Course Code

/
CS 328
/ Course Name / Computers Architectures

Credit hours

/ 3(3+0) / Level: 6 / Prerequisites : / CS 216 + CS 225
Course description
Fundamental building blocks, logic expressions, minimization, sum of product forms, register transfer notation, and physical considerations. Bits, bytes, and words, numeric data representation and number base s, signed and twos-complement representations, representation of nonnumeric data, and representation of records and arrays. Basic organization of the von Neumann machine, instruction fetch, decode, and execution; instruction sets and types, assembly/machine language programming, instruction formats, addressing modes, subroutine call and return mechanisms, I/O and interrupts. Memory systems, interfacing, communication, functional organization, and performance enhancements.
Text book
Computers Architectures: A Quantities Approved, J. Hennessy And D. Patterson

Course Code

/
CS 343
/ Course Name / Software Engineering

Credit hours

/ 3(3+1) / Level: 6 / Prerequisites : /

CS 337

Course description
Software life-cycle and process models, process assessment models, and software process metrics. Requirements elicitation, requirements analysis modeling techniques, functional and nonfunctional requirements, prototyping, and basic concepts of formal specification techniques. Fundamental design concepts and principles, software architecture, structured design, object-oriented analysis and design, component-level design, and design for reuse. Validation planning, testing fundamentals, test plan creation and test case generation. Software maintenance, characteristics of maintainable software, reengineering, legacy systems, and software reuse.
Text book
Software Engineering, Ian Somerville, 5\e, Addison-Wesley.

Course Code

/
CS 363
/ Course Name / Artificial Intelligence

Credit hours

/ 3(3+1) / Level: 6 / Prerequisites : /

CS 217+383 CS

Course description
Fundamental issues in intelligent systems. Problem-Solving Agents, searching for solutions, uninformed search strategies (breadth-first search, uniform-cost search, depth-first search, depth-limited search, iterative deepening depth-first search, and bidirectional search) and Informed search strategies (greedy best-first search, A* search, and memory-bounded heuristic search). Knowledge representation and reasoning (propositional and predicate logic, resolution and theorem proving). Genetic algorithms, simulated annealing, and local search. Machine learning, neural networks, natural language processing and expert systems (using PROLOG).
Text book
Artificial Intelligence: A Modern Approach, Russel & Norvig, 1995, Prentice-Hall

Course Code

/ CS 375 / Course Name / Human Computer Interaction and Computer Graphics

Credit hours

/ 3(3+1) / Level: 6 / Prerequisites : /

CS 217

Course description
Fundamental techniques in graphics, graphical algorithms (line generation algorithms, structure and use of fonts, parametric polynomial curves and surfaces, polygonal representation of 3D objects, introduction to ray tracing, image synthesis, sampling techniques, and anti-aliasing). Computer animation (key-frame animation, camera animation, scripting system, animation of articulated structures, motion capture, procedural animation, and deformation). Multimedia techniques, design of multimedia systems, and tools for multimedia development. Foundations of human-computer interaction, human-centered software evaluation, human-centered software development, graphical user-interface design, and graphical user-interface programming.
Text book
1. Integrated Computer Graphics by Bruce Meilhe, West Publishing Co.
2. Human Computer Interaction, 2ed. By Alan Dix et Al., Prentice Hall

Course Code

/
CS 338
/ Course Name / Compiler Construction

Credit hours

/ 3(3+0) / Level: 7 / Prerequisites : /

CS 337

Course description
Introduction and an overview of compilation technology. Lexical Analysis (Scanning): regular languages/expressions, finite state machines, and building regular expressions from a finite automaton. Syntax Analysis (Parsing): Expressing Syntax, Context Free Grammars, Top-Down Parsing, Bottom-Up parsing. Semantic Analysis: Context-sensitive analysis, Attribute Grammars, Symbol Tables, Type Checking. Intermediate Representations: Properties, taxonomy, Graphical IRs, Linear IRs. The Procedure Abstraction, Linkage convention, and Run-time storage organisation. Code Shape, Instruction Selection, Register Allocation, and Instruction Scheduling. Code Optimisation, and JIT Compilation.
Text book
Introduction to Compiler Design Principles, Techniques and tools, Aho, Sethi and Ullaman, 1986 , Addison-Wesley.

Course Code

/
CS 422
/ Course Name / Computer Networks

Credit hours

/ 3(3+1) / Level: 7 / Prerequisites : /

CS 335

Course description
Local Area Network and Wide Area Network technologies, token passing rings, FDDI, wireless networks, network interconnection with repeaters, bridges, and switches, DSU/CSU, xDSL and cable modems, store-and-forward, and next-hop forwarding. Router-based architecture, IP addressing, address binding with ARP, datagram encapsulation and fragmentation, link-state and distance-vector routing, Dijkstra's algorithm, network properties. Network applications: client/server concept, port demultiplexing, socket API, server concurrency, DNS, TELNET, Web technologies including HTML, HTTP, CGI, Java, RPC and middleware, and network management. Introduction to network security.
Text book
Computer Networks, A. Tanenbaum, 3\e, 1996, Prentice Hall.

Course Code

/
CS 426
/ Course Name / Advanced Database

Credit hours

/ 3(3+1) / Level: 7 / Prerequisites : /

CS 325

Course description
This is an advanced course on database systems and related information technology: Logic Query Languages, Object Models, Object Query Languages, Recovery, Concurrency Control, Transactions, Information Integration, Object-Relational Databases, Object Oriented Databases, and Query Processing for Object-Oriented Databases.
Text book
Fundamentals of Database Systems, R.Elmasri & S.B.Navathe, 3\e, 1999, Benjamin\ Cummings.

Course Code

/
CS 447
/ Course Name / Programming Project Management

Credit hours

/ 3(3+0) / Level: 7 / Prerequisites : /

CS 343

Course description
Project lifecycle, Project stakeholders, Project management skills (leading, communicating, negotiating, influencing, and presenting). Change control (scope, schedule, cost, quality, risk, project team, and senior management). Project planning (definition, scope, schedule, costs, quality, resources, and risks). Contingency planning. Project reporting and controls (definition, scope, schedule, costs, quality, resources, and risks). The role of IT in organizational change. The role of IS specialists as change agents. Envision change and the change process. Diagnose and conceptualize change. Deal with the challenges of implementation and understand and cope with resistance. Deal with issues of motivation, interpersonal relations, group/team dynamics, and leadership in the change process. Manage organizational politics. The limitations of projects as organizational change initiatives.
Text book
IEEE Tutorial Project Management.

Course Code

/

CS 490

/ Course Name / Selected Topics (1)

Credit hours

/ 3(3+0) / Level: 7 / Prerequisites : / End 90 hours
Course description
Modern topics in computer science.
Text book
Journals and Magazines relevant the topics covered.
Course Code / CS 494 / Course Name / Graduation Projects (1)
Credit hours / 2(2+0) / Level: 7 / Prerequisites : / End 90 hours
Course description
Text book
Course Code / CS 403 / Course Name / Internet Technology
Credit hours / 3(3+1) / Level: 8 / Prerequisites : / CS 422
Course description
Communications Technology (Communication Hardware, Communication Networks), general view of Internet technologies, examples, development, and applications. Netiquette and Ethics. Publishing and browsing the web. Internet protocols TCP/IP, client/server, and WWW (definition, history, developments). Creating a home page, introduction to HTML, and writing a resume (Tags, editors, web page design). Data communications, and data security.
Text book / Collection of Articles and Papers
Algorithm Analysis and Design / Course Name /

CS 413

/

Course Code

CS 383+217 CS

/ Prerequisites : / Level: 8 / 3(3+0) /

Credit hours

Course description
Analysis of Algorithms, Insertion Sort, and Merge Sort. Correctness of Algorithms. Asymptotic Notation, Recurrences. Divide and Conquer. Recurrences, Sloppiness. Quick-sort, Randomized Algorithms. Median, Order Statistics. Heap-sort, Dynamic Sets, and Priority Queues. Linear-time Sorting, Lower Bounds, Counting Sort, and Radix Sort. Competitive Analysis. Dynamic Programming. Greedy Algorithms, Graphs, Minimum Spanning Trees. Shortest Paths: Dijkstra's Algorithm, Breadth-first Search, Bellman-Ford, Shortest Paths in Dags, Difference Constraints. Depth-first Search: Edge Classification. All-pairs Shortest Paths. Computational Geometry. Network Flow. String Matching: Rabin-Karp Algorithm. NP-completeness, Approximation Algorithms.
Text book
Computer Algorithms, Ellis Horowitz, Startaj Sahni,& Sanguthevar Rajasekaran,1998 Computer Science U.S.A
Selected Topics (2) / Course Name /

CS 491

/

Course Code

End 90 hours / Prerequisites : / Level: 8 / 3(3+0) /

Credit hours

Course description
Modern topics in computer science.
Text book
- Journals & Magazines to the topics covered,
Distributed Systems and Parallel Processing / Course Name / CS 492 /

Course Code

CS 422 + CS 426 / Prerequisites : / Level: 8 / 3(3+0) /

Credit hours