Computer science and information Department Courses decription



Download 156.3 Kb.
Date conversion03.05.2017
Size156.3 Kb.
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 :

CS 217 


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


  

Course description

Introduction to Distributed Systems and Models. Networking and Internetworking Essentials. Overview of network programming Distributed Computing Technologies and Middleware. Distributed Operating Systems. Distributed Algorithms. Distributed Databases. Distributed Applications (including Internet, Web, and Mobile applications). Case Study and Selected Advanced Topics. Foundations of designing a parallel algorithms. Shared memory models. Parallel algorithms for linear algebra, fourier transform, recurrence evaluation, graph problems. Interconnection network based models. Algorithm design for networks like hypercube ,shuffle-exchanges , meshes, butterfly networks. Parallel Algorithm Complexity. Models of Parallel Processing. PRAM and Basic Algorithms. Shared-Memory Algorithms like sorting. Systolic arrays and techniques for generating them. Message routing.

 

Text book

Distributed Operating Systems, A. Tanenbaum, 1996, Prentice Hall



Graduation Projects (2)

Course Name

CS 495  

Course Code

Research Project (1)

Prerequisites :

Level :  8

3(3+0)

Credit hours

  

Course description




 

Text book

 

 


The database is protected by copyright ©ininet.org 2016
send message

    Main page