|
CSC 512: Algorithms Analysis and Design (3+0)
|
|
Review of major data structures - Basic design techniques - Divide and conquer - Greedy method - Backtracking - Dynamic programming - Heuristics - Parallel algorithms - Analysis of algorithms - Orders of magnitude - Lower bound theory - Time and space complexity - NP-hard and NP-complete problems - applications and examples - Correctness of algorithms - Structure of algorithms.
|
|
CSC 519: Computer Security (3+0)
|
|
Threats and vulnerabilities - Identification and authentication - Access control - Intrusion detection - Encryption and privacy - Security policies and their evaluation.
|
|
CSC 520: Networking in the TCP/IP Environment (3+0)
|
|
Review of Network Technologies for LANs and WANs - Inter-networking Concepts and Architectures - Internet Addressing - Internet Routing Protocols - Internet Error Control - Protocol Layering in Internet environments - Application development in a TCP/IP environment - Standard TCP/IP applications – other related topics.
|
|
CSC 523: Distributed Systems (3+0)
|
|
General concepts of operating systems - Distribution: concepts and definitions - Architecture of distributed systems - Control in distributed systems: centralized versus distributed - Concept and forms of transparency in distributed systems - Naming concepts - classification and Implementation of different naming schemes – Inter-process communication: concepts, mechanisms, and implementation - Resource allocation and implication on load sharing - Load balancing - Process migration - Clock synchronization: concepts, problems and solutions - Concurrency control in distributed environments: concepts, approaches and implementation.
|
|
CSC 524: Computer Networks (3+0)
|
|
Review of general concepts - LAN and WAN - Management of token ring networks - ISO model of seven layers - Network standard specifications - Urban networks - Large bandwidth networks - Gates - Network design and performance - Network programming - Error detection - Security and privacy.
|
|
CSC 525: Distributed Real-Time Systems (3+0)
|
|
Real-time issues and concepts - Time handling task scheduling problems - Resource scheduling - Inter-process communication in real-time environments - Real-time communication protocols - Predictability problem.
|
|
CSC 526: Parallel Processing (3+0)
|
|
Introduction to parallel processing - Architectures and models for parallel machines - Design and evaluation of parallel algorithms - Communication in a parallel processing environment - Writing parallel applications using Multi-Pascal tool - Writing parallel applications using PVM.
|
|
CSC 527: Design and Implementation of Real-Time Systems (3+0)
|
|
Real-Time issues and concepts - Real-Time Systems: definitions and classification - concepts of hard real-time systems and soft real-time systems - the concept of time and its importance in Real-Time Systems - Real-Time applications and support Real-Time Languages - Specific hardware interfaces for Real-Time Systems: real-time data collection and processing - Different types and levels of Control in Real-Time Systems (e.g. closed-loop control) - Real-Time Operating Systems - Predictability in Real-Time Systems - Introduction to methodologies for the design and implementation of Real-Time Systems - Cases studies.
|
|
CSC 528: Interconnection Networks (3+0)
|
|
Introduction and background - The graph-theoretical approach - Criteria to evaluate interconnection networks - Issues in designing interconnection networks - Classification and evaluation - The need for higher-performance computers - Flynn’s taxonomy - Computational speedup - Factors that limit speedup - Grosch’s and Amdahl’s laws - Different interconnection networks: Mesh Networks - Binary Tree Networks - Hypertree Networks - Pyramid Networks - Butterfly Networks - Hypercube Networks - Cube Connected Cycles Networks - Shuffle Exchange Networks - de Bruijn Networks - Star Networks and Star-Connected Cycle Networks.
|
|
CSC 529: Selected Topics in Computer Systems (3+0)
|
|
Contemporary topics and research directions in computer systems.
|
|
CSC 530: High Performance Computations (3+0)
|
|
Review of major causes of performance degradation in scientific computing - The scheduling problem: classification and solutions - Task scheduling - Load balancing algorithms - Deadline scheduling for real-time systems.
|
|
CSC 535: New Advances in Programming Languages (3+0)
|
|
Review of formal languages - Standard models of programming languages - Concept of typing - Scope of variables - Subroutines - Logical programming - Execution environment - Visual programming - Object oriented programming - Design and programming of VOOR languages - Programming in visual environment - Visual programming and software engineering - Contemporary topics.
|
|
CSC 541: Advanced Software Engineering (3+0)
|
|
Review of known methodologies - Analysis of software requirements - Real Time software - Software Cost - Software Project Management - Software Quality - Software Testing - Software Measurements - Software Risk Management - Introduction to Object Programming - Case Study.
|
|
CSC 543: Software Quality Management (3+0)
|
|
Introduction to Quality Management Systems and Total Quality - ISO Quality System and its application to software industry - Capability Maturity Model (CMM) and its five levels - Tick IT system - Quality Assurance - Application of Quality Systems - Software Tools for Quality - Case Study.
|
|
CSC546: Designing Object-Oriented Software Systems (3+0)
|
|
Review of known methodologies and principles of Object Engineering - Unified Modeling Language (UML) - Comparative study of available methodologies - Conversion methodology to object design - Evaluation of object design and use of object metrics - Use of object methodology - Case Study.
|
|
CSC 547: Software Measurements (3+0)
|
|
Importance of measurements and metrics in software - Basics of measurements - Experimental measurements - Collection of measurements - Analysis of measurements - Measurements used for length, size, effort and time - Zeipf law - Structure measurements - Information flow measurements - Building software metrics - Planning for software measurements - Measurements of object oriented software - Tools used in software measurements - Case study.
|
|
CSC 548: Software Projects Management (3+0)
|
|
Introduction to project management - Basic activities of software project management - Charts used in project management - Evaluation and acceptance of project phases - Advanced techniques of project management as for maintenance - Project scheduling - Project insurance and arbitrage - Project management tools - Case study.
|
|
CSC 549: Selected Topics in Software Engineering (3+0)
|
|
New trends in the area of software engineering - methodology of application - current research topics.
|
|
CSC 551: Automata, Calculability and Formal Languages (3+0)
|
|
Finite state automata and regular expressions - Regular sets - the Pumping lemma - Context-free grammars and derivation trees - Chomsky and Greiback normal forms - Context-free languages - Recognizers - Turing machines - recursive and recursively innumerable languages - Decidability problems - The halting problem - Rice’s theorem and Chomsky hierarchy.
|
|
CSC 558: Pattern Recognition and Image Processing (3+0)
|
|
Digital Image fundamentals - Images enhancement in spatial and frequency domain - Images degradation and restoration - Detection of discontinuities in images - Images segmentation - Representation of objects - Boundary, Regional, and Relational descriptors – Patterns and Pattern Classes – Recognition based on Decision Theoretic and Structural Methods
|
|
CSC 561: Expert Systems and Knowledge Engineering Applications (3+0)
|
|
A brief introduction to expert systems – A brief presentation of knowledge representation paradigms (the emphasis will be put on rule-based systems) - inference rules - resolution - basic aspects of reasoning under uncertainty - ·Case studies: MYCIN - CLIPS - Application Modeling in CLIPS.
|
|
CSC 562: Artificial Intelligence (3+0)
Introduction to AI problem solving - Knowledge representation - Automatic theorem proving - Learning by example - Learning by analogy - Learning by discovery - Self-reference and Self-production - Reasoning: causal reasoning - commonsense reasoning - default reasoning - measure-based approaches - reasoning with uncertainty - Confirmation theory - Belief theory - Necessity and possibility theory - Theory of endorsements - Spatial and temporal reasoning.
|
|
CSC 563: Neural Network and Machine Learning Applications (3+0)
|
|
Approaches to machine learning: Explanation-based learning - Learning by observation and discovery - Analogical and Case-based Learning - Learning Models - Evaluation of Learning Algorithms - Experimental Methodology - Empirical Learning - Reinforced Learning and Genetic algorithms - Neural Computations: examples and applications - History of Artificial Neural System development - Fundamental Concepts and Models of Artificial Neural systems. Applications: Neural Network Simulation and Implementations and other emerging applications of Neural Algorithms and Systems.
|
|
CSC 566: Advanced Applications of Pattern Recognition and Machine Learning (3+0)
|
|
The content of the course may be designed from the areas: Image processing and analysis - Speech processing - Geographical Information System - Fuzzy reasoning - Computer vision - perception and any other emerging relevant topic(s).
|
|
CSC 567: E-Business and its applications in large enterprises (3+0)
|
|
Computer architecture and its application in large enterprises - Modeling - introduction to ERP - Java Management Extensions technology JMX - Language and platform-independent protocol for peer-to-peer networking - JXTA - Case studies in distributed computing - Large enterprises and computer security.
|
|
CSC 569: Selected Topics in Artificial Intelligence (3+0)
|
|
Contemporary topics and research in Artificial Intelligence.
|
|
CSC 572: Advanced Computer Graphics (3+0)
Mathematics for computer graphics in three dimensions - Hierarchical representation and basic shapes - Surfaces and curves in three dimensions - Three dimensional modeling - Solid bodies modeling - Three dimensional viewing - Visible surface - Illumination and shades - Texture mapping - Computer Graphics Systems: Open GL - Animation techniques - Case study.
|
|
CSC 573: Numerical Algorithms and their Applications in CS (3+0)
|
|
Review of vectors and matrices: transformation matrices in computer graphics, Computations of the normal vector to a surface - Introduction to Probability and Random Variables: Probability Density Functions in image processing - Introduction to Numerical differentiation and integration - Newton’s and Gradient algorithms in image processing - Least-Squares algorithm, Curve fitting, COCOMO model calibration - Steganography algorithms - Introduction to MATLAB.
|
|
CSC 574: Human-machine Communication and User-Interface Design (3+0)
|
|
Introduction to Human sensory systems - Human memory and Human Learning User Interface Styles: Design Considerations - Dialog Content Design - Design Methodology - Visual Design - Basic Interaction-handling Models - Introduction to Human-Computer Dialog Management - Introduction to Visual Form Recognition: Pen Computing - Photography and other Visual Forms such as Finger Print Input Systems - Font and Symbol Design - Introduction to Speech Computing and other Forms of Input/Output - Speech Presentation - Speech Understanding and Recognition - Speech Generation - Gesture and Odor Input/ Output.
|
|
CSC 576: Graphics and Multimedia Applications (3+0)
|
|
Traditional Animation - Computer Animation Tools - 3D-Animation Environment - Special Animation Techniques - Today’s Animation Systems (Hardware/Software) - Applications of Computer Animation - Introduction to Virtual Reality and its applications.
|
|
CSC 578: Advances in Multimedia Applications (3+0)
|
|
Recent advances in Multimedia technology - Hardware/Software Architectures - Tools and Environments - Virtual Reality Technology (Hardware/Software) - Multimedia Components in Virtual Reality Systems.
|
|
CSC 579: Selected Topics in Computer Graphics (3+0)
|
|
New topics, methods, techniques and tools in computer graphics - research directions.
|
|
CSC 581: Advanced Database Systems (3+0)
|
|
Review of Basic Modeling Techniques and DBMS Concepts - Components and Functions of a DBMS - Query processing and optimization - Concurrency Control - Security - Recovery - Integrity in DBMSs - Distributed Databases - Study of Intelligent Database Systems - Study of different Object-Oriented Data Models - Introduction to XML technologies - Project: Development of a database application.
|
|
CSC 586: Hypermedia and Geographical Information Systems (3+0)
|
|
Multimedia and hypermedia Systems - Different Development Methodologies - Architectures - Query processing and Browsing Tools - Development of Hypermedia Systems on the World Wide Web (www) Databases - WWW and its Browsing Tools - Data Modeling Techniques and Development of Data Warehouse in an Architectured Environment - Conceptual Modeling and Analysis of Spatial Data - Spatial Reasoning - Query Processing - Indexing Techniques - Data Storage - Hypermaps - Spatial Knowledge - different application domains - Project: Development of a prototype system.
|
|
CSC 587: Web Databases and Information Retrieval (3+0)
|
|
Modeling - Query operations - Markup languages - XML technologies and its applications - Searching the Web - IR models and Languages - Indexing and Searching - Digital libraries - Project: Designing and developing parts of IR Systems.
|
|
CSC 588: Data Warehouse and Mining Systems (3+0)
|
|
Introduction to Decision Support Systems (DSS) - Development of DSS - Data Modeling Techniques and Development of Data Warehouse in an architectured Environment - Study of different Data Warehouse Architectures and Development Techniques - User-Interface for Data Warehouses - Data Mining - Application Domains for Data Warehouse and Mining - Project: Development of a Prototypical Data Warehouse/Mining System
|
|
CSC 589: Selected Topics in Database Systems (3+0)
|
|
Contemporary topics - recent research directions.
|
|
CSC 590: Selected Topics in Computer Applications (3+0)
|
|
Selected Topics in Computer Applications.
|
|
CSC 595: Seminar and Discussions (2+0)
|
|
The student is supposed to carry out a survey research study (theoretical and technical) on topics agreed upon with the course instructor – The student will present his findings in a written report and in a seminar.
|
|
CSC 597: Project 1 (2+0)
|
|
Projects are of applied type and are meant to solve problems arising from business, governmental, or other sectors. The student selects one of the projects proposed by staff. The department project committee will manage the projects announcement and assignment. The student will present his findings in a written report that conforms to the requirements and specifications set up by the department. This course is dedicated to the first part of the project, the analysis and design part.
|
|
CSC 598: Project 2 (3+0)
|
|
This course is dedicated to the second part of the project, the implementation and test part.
|
|
CEN 523: Fail-Tolerant Computer Systems (3+0)
|
|
Systems and their failures - Faults - errors and failures - Structuring and faults - Fault error detection - Damage assessment and confinement - Error recovery and fault diagnoses.
|
|
CEN 545: Digital Image Processing (3+0)
|
|
Physical descriptions of continuous images - Sampling and quantization of images - Matrix representation of image forming - Filtering - Restoration and enhancement - Feature extraction and scene analysis.
|
|
CSC 600: Thesis
|
|
The thesis research topic is chosen by the student and approved by the Department Council.
|