Information and Computer

 Science (ICS)


Courses offering in the first semester 081 ( October 2008 )   :



 ICS 201 Introduction to Computing II                                                                                        

Advanced object-oriented programming; inheritance; polymorphism; abstract classes and interfaces, container and collection classes, packages, object-oriented design, software modeling, event-driven programming, recursion, use of stacks, queues and lists from API, searching and sorting.

Back to Course Sponsorship program 

ICS 202 Data Structures                                                                                                               

Review of object-oriented concepts; Introduction to design patterns; Basic algorithms analysis; Fundamental data structures - implementation strategies for stacks, queues and linked lists;  Recursion; Implementation strategies for tree and graph algorithms; Hash tables; Applications of data structures (e.g. data compression and memory management).

Back to Course Sponsorship program 


ICS 233 Computer Architecture and Assembly Language                                                        

Machine organization; assembly language: addressing, stacks, argument passing, arithmetic operations, decisions, modularization; Input/Output Operations and Interrupts; Memory Hierarchy and Cache memory; Pipeline Design Techniques; Super-scalar architecture; Parallel Architectures.

Back to Course Sponsorship program 


ICS 253 Discrete Structures I                                                                                                       


Propositional Logic, Predicate Logic, Sets, Functions, Sequences and Summation, Proof Techniques, Mathematical induction, Inclusion-exclusion and Pigeonhole principles, Permutations and Combinations (with and without repetitions), The Binomial Theorem, Recurrence Relations; Graphs terminology and applications, Connectivity, Isomorphism, Euler and Hamilton Paths and Circuits, Planarity and Coloring; Trees terminology and applications.

Back to Course Sponsorship program 


ICS 254 Discrete Structures II                                                                                                      

Number Theory: Modular Arithmetic, Integer Representation, Fermatís Little Theorem, Chinese Remainder Theorem, RSA.; Proof Techniques: Methods of Proofs, Applications from Number Theory, Recursive Definitions; Algorithm Correctness; Relations: Closures and Equivalence Relations, Partial Orderings and Lattices, Hasse Diagrams; Recurrence Relations and Generating Functions; Automata Theory: Finite State Machines, Regular Expressions, DFA, NDFA and their equivalence, Grammars and Chomsky Hierarchy, Introduction to Turing Machines.; Abstract Algebra: Groups, Homomorphisms and Lagrange's Theorem, Applications.

Back to Course Sponsorship program 


ICS 309 Computing and Society                                                                                                   

Impact of Computing on Society; Ethical Foundations; Governance and Regulation; Freedom of Speech; Intellectual Property; Privacy; Security; Professional Responsibility; Leadership challenge.

Back to Course Sponsorship program 


ICS 324 Database Systems                                                                                                            

Basic database concepts, conceptual data modeling, relational data model, relational theory and languages, database design, SQL, introduction to query processing and optimization, and introduction to concurrency and recovery.

Back to Course Sponsorship program 


ICS 343 Fundamentals of Computer Networks                                                                          

Introduction to computer networks and layered architectures: connectivity, topology, circuit and packet switching, TCP/IP and ISO models; Application layer: C/S model, DNS, SMTP, FTP, WWW, socket programming and network security; Transport layer: TCP and UDP, congestion control; Network layer: internetworking, addressing and routing algorithms and protocols; Data link layer: framing, flow and error control protocols, PPP, MAC and LANs; Physical layer: principles of data communications, circuit switching, coding, multiplexing and transmission media.

Back to Course Sponsorship program 


ICS 350 Cooperative work                                                                                                            

Beginning of Coop in summer. Description is as given in ICS 351.

Prerequisite:  ICS 324, SWE 311, ENGL 214, Major GPA ≥ 2, Completion of at least 85 hours, Department Approval


ICS 351 Cooperative work                                                                                                            

A continuous period of 28 weeks spent as a normal employee in industry, business, or government agencies with the purpose of familiarizing students with the real world of work and enabling them to integrate their classroom learning to a real work environment. During this period, a student is exposed to a real-life work in the field. Each student is required to participate with at least one project. Students are required to submit progress reports during the work period. Students are also required to give a presentation and submit a final report on their experience and the knowledge they gained during their cooperative.

Back to Course Sponsorship program 


ICS 352 Cooperative work                                                                                                            

A continuous period of 28 weeks spent in the industry to acquire practical experience in different fields of computer science.

Back to Course Sponsorship program 


ICS 353 Design and Analysis of Algorithms                                                                                

Algorithms and Problem Solving; Basic Algorithmic Analysis; Advanced algorithmic analysis; Advanced Data Structures; Algorithmic strategies & Analysis of fundamental computing algorithms; Basic computability; The complexity classes P and NP.

Back to Course Sponsorship program 


ICS 355 Theory of Computing                                                                                                     

Regular Grammars: equivalence of DFA, NDFA and regular expressions, pumping lemma, emptiness and membership. Context-Free Grammars: parsing and ambiguity, normal forms, applications, equivalence of PDA's and CFG's, pumping lemma, emptiness and membership. Turing Machine: programming techniques for Turing machines, equivalence of one-tape and multitape TM's, universal Turing-machine. Undecidability: recursively enumerable and recursive languages, undecidability, problem reduction, undecidable problems of CFG's, RE's and TM's.

Back to Course Sponsorship program 


ICS 381 Principles of Artificial Intelligence                                                                                 

Introduction to Artificial Intelligence (AI) history and applications; First order logic; State space representation; Blind and heuristic search; Constraint satisfaction and planning; Knowledge representation; Reasoning in uncertain situations; Machine learning; Prolog programming; Natural language processing, Expert systems and real AI applications.

Back to Course Sponsorship program 


ICS 399 Summer Training                                                                                                            

A summer period of 8 weeks spent as a trainee in industry, business, or government agencies for the purpose of familiarizing the student with the real job world and enabling him to apply and relate his academic knowledge to a real work environment. 

The student is required to participate in computer science related activities and use his time to get acquainted with the computer science related functions and resources used by his employing organization.  Besides progress reports, the student is required to submit a final report and do a presentation on his experience and the knowledge he gained during his summer training program. The student receives a zero-credit Pass/Fail grade.

Back to Course Sponsorship program 


ICS 410 Programming Languages                                                                                               

Programming Paradigms: Object-oriented, imperative, functional, and logic. Application development in these paradigms. Fundamentals of Language Design: Syntax and Semantics. Language implementation: virtual machines; compilation, interpretation, and hybrid.

Back to Course Sponsorship program 


ICS 411 Senior Project                                                                                                                  

Project-oriented course in which students work in teams on an applied real-world problem of their interest, go through its software development lifecycle in order to develop a prototype software solution for the problem at hand. The senior project offers the opportunity to integrate the knowledge acquired in preceding courses, as well as promote and instill communication skills, writing skills, and lifelong self-learning.

Back to Course Sponsorship program 


ICS 412 Compiler Construction Techniques                                                                               

Compiler techniques and methodology; Organization of compilers. Lexical and syntax analysis; Parsing techniques; Object code generation and optimization, detection and recovery from errors; Contrast between compilers and interpreters.

Back to Course Sponsorship program 


ICS 415 Computer Graphics                                                                                                        

Applications of Computer Graphics; Graphics systems and devices; Output Primitives and their Attributes; Geometric Transformations; Window to Viewport Mapping and Clipping; Curves and Surfaces; Three-Dimensional viewing; Hidden surface removal; illumination and color models, Animation.

Back to Course Sponsorship program 


ICS 424 Advanced Database Systems                                                                                          

Advanced data models: object-oriented model, and object-relational model, conceptual database design. Transaction processing: transactions, failure and recovery, and concurrency control techniques. Database backup and recovery. Query processing and optimization. Database security. Distributed databases: distributed data storage, distributed query processing, distributed transaction processing and concurrency control. Homogeneous and heterogeneous solutions, client-server architecture. XML and relational databases. Introduction to data warehousing, introduction to other current trends in database systems.

Back to Course Sponsorship program 


ICS 426 Data Warehousing and Data Mining                                                                            

Review of relational databases and Conjunctive queries, Data Warehousing Concepts and OLAP, Data Warehouse Design and Development, Information and data Integration, OLAP Technology for Data Mining. Data Mining: Primitive, Languages and Application Developments.

Back to Course Sponsorship program 


ICS 431 Operating Systems                                                                                                           

This course introduces the fundamentals of operating systems design and implementation. Topics include history and evolution of operating systems; Types of operating systems; Operating system structures; Process management: processes, threads, CPU scheduling, process synchronization; Memory management and virtual memory; File systems; I/O systems; Security and protection; Distributed systems; Case studies.

Back to Course Sponsorship program 


ICS 436 Systems and Network Administration                                                                           

Install and upgrade different popular operating systems. Managing File Systems. Managing User Accounts. Setting up X Windows System. Configuring Printing Services. Upgrading and installing software packages. Backing up data. Tuning kernel parameters. Configuring and managing various protocols: DNS, DHCP, Routing, Electronic Mail, and Network File System. Managing and troubleshooting computer systems and networks. Network and System Security.

Back to Course Sponsorship program 


ICS 437 Distributed Systems                                                                                                         


Introduction to Distributed Systems; Distributed Systems Architecture; Computer Networks for distributed systems; Distributed Objects and Remote Invocation; Distributed Naming; Distributed File Systems; Security; Synchronization; Distributed Coordination and Agreement; Distributed Transactions; Distributed Replication; Distributed Multimedia Systems, Distributed Shared Memory; Case Studies such as  CORBA, MACH, DCOM, and GLOBE.

Back to Course Sponsorship program 


ICS 441 Cluster Computing                                                                                                          


Introduction to high performance computing: types of parallel computers, system architectures, performance measures; Message passing programming; Complexity analysis of parallel algorithms; Embarrassingly parallel computations; Partitioning and divide-and-conquer strategies; Pipelined computations; Synchronous computations; Load balancing and termination detection; Programming with shared memory; Parallel sorting algorithms; Numerical algorithms; Parallel image processing; Searching and optimization; Project/Programming-assignments.

Back to Course Sponsorship program 


ICS 442 Computer Network Technologies                                                                                  

Various advanced topics on LANs and internetworking technologies will be addressed. Topics include: Performance measures and evaluation techniques; Advanced network architectures and differentiated services in IP networks; High-speed access technologies; Switched, Fast and Gigabit Ethernet; VLANs; Wireless LANs; ISDN and ATM; Frame Relay; Mobile computing and mobile IP; VPN and Enterprise networks; Emerging network trends and technologies.

Back to Course Sponsorship program 


ICS 443 Network Design and Management                                                                                


Overview of network design and management; Design methodologies; Network management strategies; Network configuration management; Network management protocols: SNMP, and RMON; Network management tools and systems; Network management applications; Desktop and web-based network management; Network troubleshooting.

Back to Course Sponsorship program 


ICS 444 Computer and Network Security                                                                                  

Introduction to computer and network security; Security services: confidentiality, integrity, availability, accountability; Hacker techniques and attack types; Public and private key encryption; Authentication; Digital signature; User identification and access control; Computer viruses, Trojans and worms; Risk management and analysis; Information security process; Internet security: security protocols such as IPSec, SSL, TLS, email and web security; Security technologies and systems: Firewalls, VPN and IDS.

Back to Course Sponsorship program 


ICS 454 Principles of Cryptography                                                                                            

Classical cryptography; Secret Key Encryption; Perfect Secrecy. Cryptanalysis; Block and Stream cipher; Data Encryption Standard (DES) and Advanced Encryption Standard (AES); Public Key Encryption;  Diffie-Hellman Key Exchange; RSA, ElGamal and Rabinís Cryptosystems; Authentication and Digital Signatures; One-time signatures;  Randomized Encryption; Rabin and ElGamal signature schemes; Digital Signature Standard (DSS)' Cryptographically Secure Hashing; Message Authentication Codes; Network Security; Secure Socket Layer (SSL);  IPsec.

Back to Course Sponsorship program 


ICS 481 Artificial Neural Networks                                                                                             


Introduction to neural computing: Real vs. artificial neurons; Threshold logic; Training a linear threshold unit, the perceptron rule; Multilayer feed-forward networks and the back propagation algorithm; The Hopfield net; Self-organizing maps; Radial basis functions; Adaptive resonance theory; Applications of Neural Networks (ANN).

Back to Course Sponsorship program 


ICS 482 Natural Language Processing                                                                                        


This course examines a range of issues concerning computer systems that can process human languages. Among the issues to be discussed are morphological and syntactic processing, semantic interpretation, discourse processing and knowledge representation.

Back to Course Sponsorship program 


ICS 483 Computer Vision                                                                                                             


Image acquisition, The digital image and its properties, Image preprocessing, Segmentation (thresholding, edge- and region-based segmentation), Shape representation and object recognition, Motion analysis, Case studies (object recognition / object tracking).

Back to Course Sponsorship program 


ICS 484 Arabic Computing                                                                                                          

This course examines a range of issues concerning computer concepts related to Arabic. Among the issues to be discussed are: Arabic Language Characteristics, Arabic Character Sets, Standardization, Unicode, Arabization systems, Arabic software tools, Arabic programming languages and Introduction to Arabic Computations.

Back to Course Sponsorship program 


ICS 485 Machine Learning                                                                                                           

Introduction to machine learning; Concept learning; Supervised learning - decision tree learning; Unsupervised learning - clustering. Artificial neural networks. Evaluating hypotheses; Bayesian learning; Computational learning theory; Instance based learning. Genetic algorithms; Learning sets of rules - Inductive Logic Programming; Reinforcement learning; Analytical learning.

Back to Course Sponsorship program 


ICS 486 Multi-agent Systems                                                                                                        

Agents, agent definitions and classification; Multi-agent systems (MAS) and their characteristics; Models of agency, architectures and languages, logics for MAS, deductive and practical reasoning agent, reactive and hybrid agents; Distributed problem solving and planning; Coordination mechanisms and strategies; Learning in MAS; Interaction, negotiation and coalition formation; Applications of agent technology (agents in electronic commerce and information retrieval).

Back to Course Sponsorship program 


ICS 488 Soft Computing                                                                                                               

Introduction to Soft Computing, Fuzzy Sets Theory, Fuzzy Logic, Artificial Neural Networks, Probabilistic Reasoning, Genetic Algorithms, Neuro-Fuzzy Technology, Combination of Genetic Algorithms with Neural Networks, Combination of Genetic Algorithms and Fuzzy Logic, Applications of Soft Computing (three to four real life applications).

Back to Course Sponsorship program 


ICS 490 Special Topics I                                                                                                                

State-of-the-art topics in Computer Science and Information Systems.

Back to Course Sponsorship program 


ICS 491 Special Topics II                                                                                                              

State-of-the-art topics in Computer Science and Information Systems.

Back to Course Sponsorship program 


SWE 311 Principles of Software Engineering                                                                             

History and overview of software engineering. Software processes. Software project management. Software requirements and specification. Software design. Software testing and validation. Software metrics. Software quality assurance. Software evolution. Using APIs. Software tools and environments.

Back to Course Sponsorship program 



All Information and Computer Science Courses   (Undergraduate Program )



Information and Computer Science
 ( Graduate Program )


Courses offering in the first semester 081 ( October 2008 ) :

ICS 511    Principles of Software Engineering                                                     


Software Requirements: Modern SRS for Enterprise Application and Performance-Critical Systems. Software Process: Personal Software Process, Team Software Process.  Software Design: Architecture Tradeoff Analysis, Enterprise Architecture, COTS Architecture, Service Oriented Architecture, RAD. Software Planning: Software Acquisition, Software Engineering Measurement and Analysis (SEMA). Software Quality Assurance: 6-Sigma. Software Integration: Enterprise Application Integration, COTS Integration.

Prerequisite:  ICS 413 or Equivalent 


ICS 512    Software Requirements Engineering                                      


The course gives state of the art and state of the practice in software requirements engineering.  In-depth research-oriented study of methods, tools, notations, and validation techniques for the analysis, specification, prototyping, and maintenance of software requirements. Topics include study of object-oriented requirements modeling, using state of the art modeling techniques such as the Unified Modeling Language (UML). The course work includes a project investigating or applying approaches to requirements engineering.

Prerequisite: ICS 413 or Equivalent 


ICS 513    Software Design                                                      


Concepts and methods for the architectural design of large-scale software systems. Fundamental design concepts and design notations are introduced. Several design methods are presented and compared. In-depth research-oriented study of object-oriented analysis and design modeling using state of the art modeling techniques such as Unified Modeling Language (UML). Students participate in a group project on object-oriented software design.

Prerequisite: ICS 413 or Equivalent 


ICS 514    Software Validation, Verification, and Quality Assurance                   


In-depth research-oriented study of Verification and Validation throughout the development lifecycle.  Techniques for validation and verification. Quality assurance at the requirements and design phases. Software testing at the unit, module, subsystem, and system levels. Automatic and manual techniques for generating and validating test data.  Testing process: static vs. dynamic analysis, functional testing, inspections, and reliability assessment.

Prerequisite: ICS 413 or Equivalent 


ICS 515    Software Project Management                             


Lifecycle and process models; process metrics; planning for a software project; mechanisms for monitoring and controlling schedule, budget, quality, and productivity; and leadership, motivation, and team building.  Topics cover quantitative models of the software lifecycle, process improvement techniques, cost-effectiveness analysis in software engineering, multiple-goal decision analysis, uncertainty and risk analysis, software cost estimation, software engineering metrics; and quantitative lifecycle management techniques.

Prerequisite:  ICS 413 or Equivalent


ICS 519 Special Topics in Software Engineering.                  


Advanced topics selected from current journals of Software Engineering that deal with theoretical development or applications in the field. Topic include:  Reusable Software Architectures, Software Engineering, Experimentation, Concurrent Software Systems, Software Metrics Software Engineering for the World Wide Web, Formal Methods and Models in Software Engineering, etc.

Prerequisite:  Consent of Instructor


Area 2.  SYSTEMS


ICS 531    Advanced Operating Systems           


Structural design aspects of an operating system: process model, inter-process communication,. synchronization mechanisms, resource management, and scheduling. Protection issues. Implementation issues of modern operating systems. Distributed operating systems. Deadlock detection, recovery, and avoidance. Case studies. Project(s).

Prerequisite:  ICS 431 or Equivalent 


ICS 532    Performance Analysis & Evaluation                                                         


Performance measures. Modeling methodologies: queuing models, graph models, dataflow models, and Petrinet models. Mathematical models of computer systems: CPU and computer subsystems such as memory and disks. Bottleneck analysis. Modeling multi-server systems. Model validation methods. Case studies. Project(s).

Equivalent to: COE 587

Prerequisite:  STAT 319 or Equivalent 


ICS 533    Modeling and Simulation of Computing Systems                                        


Basic probability and statistics. Review of discrete-event simulation tools and methodologies.  Simulation languages. Random Number generation.  Developing Simulation Models.  Simulation Validation. Output Data Analysis.  Applications to computer systems.  Project(s).

Equivalent to:  COE 588

Prerequisite:  STAT 319 or Equivalent


ICS 535    Design and Implementation of Programming Languages            


Principles of functional, imperative, object-oriented and logic programming languages. Semantic specification including axiomatic, operational and denotational semantics. Fundamentals of type systems such as abstract data types, polymorphism, and inference. Concurrent systems. Case studies of contemporary programming languages.

Prerequisite:  ICS 313 or Equivalent 


ICS 536    Real-Time Systems                                           


Overview of real-time systems. Design and implementation issues.  System interfacing basics.  Embedded software design constraints under size, performance, and reliability. Software timing and functional validation.  Applications and case studies of real-time hardware and software systems.

Equivalent to:  COE 597

Prerequisite:  ICS 431 or Equivalent


ICS 539    Special Topics in Systems                                   


Advanced topics selected from current journals in the field that deal with theoretical development and applications of computer systems.

Prerequisite: Consent of Instructor




Area 3.  THEORY


ICS 552    Theory of Computation                             


Introduction to various models of computation. Machines, languages and grammars. Turing-computability. Universal Turing Machines. Recursive functions. Church's thesis. Godel's completeness and incompleteness theorems. Closure properties and complexity classes of languages. Decidability, undecidability and partial decidability.

Prerequisite: ICS 353 or Equivalent 



ICS 553    Advanced Computer Algorithms                               


Review of RAM model of computation, complexity measures of time and space. Graph Algorithms for minimum spanning trees, shortest paths, matroids, the planar separator theorem. Planarity and planarization. network flow algorithms. Graph matching and coloring. Establishing lower bounds. NP Completeness: Cookís theorem. Various complexity classes and their relationships. Techniques for establishing completeness. Approximation and probabilistic algorithms to NP-hard problems.

Prerequisite:  ICS 353 or Equivalent 


ICS 554    Applied Combinatorics and Graph Theory      


A study of combinatorial and graphical techniques for complexity analysis including generating functions, recurrence relations, Polya's theory of counting, planar directed and undirected graphs, NP complete problems.  Application of these techniques to analysis of algorithms in graph theory.

Prerequisite:  ICS 553


ICS 555    Data Security and Encryption          


Mathematical principles of cryptography and data security.  A detailed study of conventional and modern cryptosystems.  Zero knowledge protocols. Information theory, Number theory, complexity theory concepts and their applications to cryptography.

Prerequisite:  Consent of Instructor


ICS 556    Parallel Algorithms              


Introduction to parallel computational models (PRAM, Meshes, Trees, Hypercubes, Shuffle-Exchange, Mesh-of-Trees) and complexity measures. Parallel algorithms design techniques: divide-and-conquer, parallel prefix, pointer jumping, list ranking, Eulerís path technique, and ear decomposition. Parallel algorithms for selection, merging, sorting, searching, and graph problems. Computational geometry.  Graph embedding. Parallel computational complexity: equivalence of Boolean circuits and the PRAM models, the NC class, and P-complete problems.

Prerequisite:  ICS 553


ICS 559    Special Topics in Theoretical Computer Science            


Advanced topics selected from current journals of Theoretical Computer Science that deal with theoretical development or applications of computer systems.

Prerequisite:  Consent of Instructor.





ICS 570    Advanced Computer Networking                  


Examination of modern computer networking and data communications.  Contemporary concepts, facilities, practices,  implementations, and issues. Data Link and media access layer protocols. Introduction to Gigabit Ethernet, ATM and Frame Relay.  Protocols of TCP/IP suite.  IP routing, flow and congestion control. Application Layer.  Introduction to modeling and analysis of data networks: Queueing theory, Littleís Law, Single Queues, and Jackson Networks.

Equivalent to:  COE 540 or EE 674

Prerequisite: ICS 432 or Equivalent  


ICS 571    Client Server Programming                                                


Introduction to Clients, Servers, and Protocols. Client-Server Architectures. Software Architectures for Clients and Servers. Network and Operating System Support for Client-Server Applications. Programming language support. Standard interfaces and API. Examples of clients and servers for several popular protocols such as X, POP3, news, ftp, and http. Project(s).

Prerequisite:  (ICS 570 and ICS 431) or Consent of Instructor 


ICS 572    Distributed Computing                                                    


Introduction to parallel and distributed computation models. Mapping a parallel solution to a distributed computing platform. Programming issues. Operating system support for distributed computing. Message passing environments such as PVM and MPI. Load balancing. Migration. Agent architectures. Performance and complexity measures. Services. Service driven design of distributed applications. Timing and Synchronization. Remote procedure invocation. Project(s).

Prerequisite: (ICS 570 and ICS 431) or Consent of Instructor


ICS 573    High-Performance Computing                                                   


Theory and practice of parallel computing. Analytical models of parallelism and performance evaluation. Parallel architectures. Software tools for parallel programming. Design and implementation methodologies for parallel high performance applications. Design, analysis, and implementation of parallel solutions for various scientific problems such as linear algebraic problems, fast Fourier transform, Monte Carlo techniques, boundary value problems, finite element techniques, and iterative systems. Project(s).

Prerequisite: (ICS 353 or Equivalent) or Consent of Instructor


ICS 575    Application Development for Internet Based Services                         


Application Development for Deployment over the WWW. Application protocols. Connection and Session Objects. Authentication Services. Integrating Database Services. Component Architectures. Scripting Languages. Modern applications and application architectures such as Digital Cash and E-Commerce. Making use of the state-of-art tools, a major project will be developed by the students.

Prerequisite:  ICS 571


ICS 576    Concurrent and Parallel processing                                          


Concepts and foundation of parallel processing. Computational models. Parallel algorithms. parallelization techniques. Parallel software characteristics and requirements: languages, compilers, operating systems, and inter-process communication support. Parallel computer architectures. Case studies. Project(s).

Prerequisite:  ICS 431 or Equivalent 


ICS 579    Special Topics in Net-Centric Computing                                       


State-of-the-art topics from the general area of Computer Network Software and Protocols.

Prerequisite: Consent of Instructor.





ICS 581    Advanced Artificial Intelligence                                   


An in-depth study of Artificial Intelligence topics.  State of the art approaches to Artificial Intelligence. Knowledge Engineering. Planning. Natural Language Understanding.  Speech Understanding. Computer Vision.

Prerequisite:  ICS 381 or Consent of Instructor  


ICS 582    Natural Language Processing                                    


Components of a natural languages processing system.  Natural language models:  Mathematical, psychological.  Lexical, syntactic, and semantic analysis.  Phrase-structured grammars. Transformational grammars. Transition networks. Semantic networks.  Conceptual parsing. Conceptual dependency. Systemic and case grammars. Scripts, plans and goals.  Knowledge representation.  Sentence generation.  Recent trends.

Prerequisite:  ICS 381 or Equivalent  


ICS 583    Pattern Recognition                                                


Various methods of pattern recognition, extraction methods, statistical classification, minmax procedures, maximum likelihood decisions, data structures for pattern recognition, case studies.

Prerequisite:  Consent of the Instructor


ICS 584    Automated Theorem Proving                                                                


Survey of proof theory and model theory of first-order predicate calculus, natural deduction, Herbrand's procedure, resolution methods, induction principles, rewrite rules, theorem-provers for algebraic systems.

Prerequisite:  Consent of the Instructor


ICS 585    Knowledge-Based Systems               


Overview of Artificial Intelligence disciplines. Architecture of expert systems: including the structure of knowledge bases and the various knowledge representation methods, inference engines and reasoning techniques, search and exploitation of domain-specific knowledge through heuristics, knowledge acquisition. Discuss examples of expert systems shells, their capabilities and limitations.  Assign projects in specific discipline using available shells.

Prerequisite:  ICS 581


ICS 586    Neural Networks                                                                                    


Fundamental concept of neural computation.  Main neural network models. Perceptions and back-propagation, Hopfield and feedback models.  Fault-tolerance in neural networks. Parallel processing in neural networks. Potential and limitations of neural networks. Applications of neural computing. Project(s).

Equivalent to:  COE 591 and EE 560

Pre-requisites:  ICS 581


ICS 589    Special Topics in Artificial Intelligence                             


Advanced topics selected from current journals of Artificial Intelligence that deal with theoretical development or applications of computer systems.

Prerequisite:  Consent of Instructor





ICS 541    Database Design and Implementation                                      


Database development life cycle. Data modeling. Database design theory. Query processing. Concurrency control and transaction management. Recovery. Security. Database applications: data warehousing, data mining, web pages, and others. Various types of database systems: object relational, object-oriented, distributed, client/server, and others. Current trends in database research. Project(s).

Prerequisite:  ICS 334 or Equivalent  


ICS 542    Multimedia Computing                        


Multimedia elements and standards. Digital audio formats and compression algorithms. Audio streaming. Voice recognition algorithms. Raster and vector images.  Image formats, editing, and compression. Color models. 2-D and 3-D animation techniques. Digital video formats, editing, and compression.  Video streaming and conferencing. Multimedia on the Web. Multimedia applications. Project(s).

Equivalent to: COE 593

Prerequisite: Consent of Instructor


ICS 543    Advanced Computer Graphics               


Graphics systems. Two dimensional concepts and methods. Geometrical transformations. Modeling 3D scenes. Curve and surface design. Approaches to infinity. Rendering faces for realism. Color theory. Visible-surface determination. Illumination models and shading. Project(s).

Prerequisite:  ICS 435 or Equivalent  


ICS 544    E-Commerce Technologies                               


Fundamentals of E-Commerce: B2B and B2C models. Internet networking: TCP/IP, IIOP, SOAP. Internet Security: firewalls, viruses, hacking.  Design issues of E-Commerce: n-tier technology, Object Oriented paradigm such as Common Object Request Broker Architecture and Component Object Model. Web Servers. Data transactions between database servers and web servers using XML. Project(s).


ICS 545    Arabic Computing                           


Contemporary concepts and research in the field of Arabic Computing. Arabic characteristics and standardization. Arabic systems and tools. Arabic programming languages. Arabic character recognition. Arabic speech synthesis and recognition. Natural Arabic processing.

Prerequisite:  Consent of Instructor


 ICS 549   Special Topics in Applied Computing                   


Advanced topics selected from current journals on various IT and CS applications that deal with theoretical and practical development in various enterprises.

Prerequisite:  Consent of Instructor






ICS 591    Independent Study    


The course can be taken under the supervision of a faculty member to conduct an in-depth study of a subject.

Prerequisite:  Consent of Instructor


ICS 599    Seminar                                                            


Graduate students are required to attend the seminars given by faculty members, visiting scholars, and fellow graduate students.  Additionally, each student must give at least presentation on a timely research topic. Among other things, this course is designed to give the student an overview of research, research methodology, journals and professional societies. Graded on a Pass or Fail basis.

Prerequisite:  Graduate standing


ICS 610    Master Thesis                                          


The student has to undertake and complete a research topic under the supervision of a faculty member in order to probe in depth a specific problem in Computer Science.

Prerequisite:  ICS 599 or Consent of Instructor


All Information and Computer Science Courses   ( Graduate Program )




Other Courses Offering in the first semester 081 ( October 2008 ):

College of Engineering Sciences  (CES):

         Petroleum Engineering (PETE)

         Chemical Engineering (CHE)

         Mechanical Engineering (ME)

         Electrical Engineering    (EE)

         Civil Engineering (CE)


 Back to Course Sponsorship program



College of Computer Sciences & Engineering  (CCSE):

         Computer Engineering  (COE)

         Systems Engineering   (SE)

           Information and Computer Science (ICS)



College of Sciences  (CS)

          Chemistry  (CHEM)

         Earth Sciences  (ES)




College of Industrial Management  (CIM)


         Management Information System ( MIS )

          Marketing  ( MKT )

          Accounting ( Acct )

         Finance (FIN)

         Management ( MGT )

        Economics  ( ECON)


Back to Course Sponsorship program




College of Environmental Design  (CED)

        Architecture (ARC)

        City & Regional Planning (CRP)

        Construction Engineering & Management (CEM)

         Architectural Engineering (ARE)


Back to Course Sponsorship program