Course Catalog
EE201
EE310
CEN455

CEN524

Support Services :
1- The Deanship of Library Affairs :
2- King Saud University Press :
https://ksupress.ksu.edu.sa/En/default.aspx
3- The Deanship of Students Affairs :
4- Course Catalogs :
It became scientifically important to raise the scientific and technology level of Saudi leaderships and decision makers in the information technology fields. This can be achieved through university graduate programs. The
Kingdom’s Information Technology National Plan shows that there is a fast growing demand in the next decade for cadre in advanced scientific and professional areas of computers and communication technologies. The study
proposed number of recommendations to address the high shortage level of specialized cadres in information technology. The most important of which is to increase the recourses of the information technology departments, the expansion in postgraduate programs to qualify Saudi teaching staff and academic faculty.
Another important recommendation is to facilitate the attraction of distinguished scholars and scientists in information technology in order to transfer of expertise and learning from the international experiences.
From these standpoints, a graduate joint Ph.D. program between 3 departments of the college is proposed herewith to contribute to provide graduate studies and advanced research in the fields of computer science, computer engineering and information systems. This will contribute in creating qualified researchers and faculty members in the area of computer and information sciences.
PhD program in Information Systems.
Course Number | Number and Type of Courses | Credit hours |
---|---|---|
--- --- | One general course (list 1-a) | 3 |
--- --- | 2 common courses (list 1-b) | 6 |
IS 6-- | 3 compulsory courses in student’s track | 7 |
IS 6-- | 3 elective courses in student’s track | 9 |
IS 700 | Thesis in student’s track | - |
25 |
NAME OF THE PROGRAM
Master of Science in Information Systems.
REQUIREMENTS FOR FULFILLING THE DEGREE
To fullfill the Non-Thesis Option degree the student must:
Complete 33 credit hours.
NAME OF THE PROGRAM
Master of Science in Information Systems.
REQUIREMENTS FOR FULFILLING THE DEGREE
To fullfill the Thesis Option degree the student must:
The information systems strategy is an integral part of organizational strategy. Information systems support management processes at all levels – operational, tactical, and strategic management. Information systems are vital to problem identification, analysis, and decision-making. As organizations extended the use of information processing and communications technology to operational processes, decision support, and competitive strategy, the academic field also grew in scope and depth.
The B.Sc. Program In Information Systems is accredited by the Computing Accreditation Commission(CAC) of ABET, https://www.abet.org, under the General Criteria and the Information Systems Program Criteria.
The need for highly skilled IS engineers is growing day after day. Graduates from the IS program will have various career opportunities in the information systems field and IT industry including, but not limited to the followings:
After completing their studies in the IS department, graduates should be able to demonstrate in a period of five years the ability to:
In concordance with ABET requirements for IS programs, graduates from the IS department will possess computing skills as well as the ability to:
Academic Year | Accepted new Students | Total number of students in all levels | Graduated students | |
---|---|---|---|---|
2016-2017 | 1438-1439 | 192 | 627 | 131 |
2017-2018 | 1439-1440 | 186 | 638 | 161 |
2019-2020 | 1440-1441 | 219 | 613 | 177 |
2020-2021 | 1441-1442 | 185 | 352 | 192 |
2021-2022 | 1442-1443 | 169 | 169 | 172 |
The main objectives of the IS department are as follows:
The information systems Bachelor’s program is considered a bridge between computer science specializations and organizational and administrative fields whereby a student gains knowledge and acquires skills necessary to analyzing, designing, developing, and operating information systems and then utilizing them in any type of public or private organizations.
CSC 111 – Computer Programming-I (3-2-1) |
|
Course Description |
Introduction to computers and programs. Programmer’s algorithm, byte code and Java Virtual Machine. Java program’s structure, constants, variables and built-in data types. The arithmetic, assignment, increment and decrement operators. Classes and object definition, UML representation of a class, declaration of objects (Instance variables), primitive types and reference types. Relational and logical operators, Boolean expressions, conditional statements, loop statements. Object oriented principles, encapsulation and information hiding, methods and the message passing principles, setters, and getters. Methods in depth, passing parameters, constructors, setters. Arrays, usefulness of arrays, declaration of arrays, access to array elements, operations on arrays. |
Prerequisite |
CT 140 - Computer Skills. |
Textbook |
|
Course Objectives |
The course aims at giving the students a broad foundation in the fundamental concepts of object oriented programming accompanied by specific labs to develop the basic skills in object oriented programming with Java. It introduces the basic concepts and principles of the Object Oriented approach such as: (i) Abstraction and Encapsulation principles, (ii) Classes, objects and the constructor concepts, (iii) Information hiding principle and the assessors concept. (iv) Methods, the message passing and the overloading principles. |
CSC 113 – Computer Programming-II (3-2-1) |
|
Course Description |
This course continues the coverage of the fundamental concepts of Object Oriented Programming started in Programming I (CSC 111). It covers more advanced concepts and topics such as relationships between classes, inheritance, polymorphism, abstract classes, error handling, interfaces, generics and data structures such as linked lists, stacks and queues, in addition to graphical user interface. |
Prerequisite |
CSC 111 - Computer Programming I. |
Textbook |
|
Course Objectives |
The objective of this course is to develop the students' ability to use the basics of object-oriented design and programming. The students learn the characteristic features of object orientation – classes, methods, polymorphism, and inheritance – through both the lectures and a sequence of illustrative programming assignments. Students will also study list data structures, event driven programming and graphical user interface tools. |
CSC 212 – Data Structures (3-0-1) |
|
Course Description |
Fundamental concepts of data structures. Performance measurement of algorithms. Implementation and use of lists, stacks, queues, priority queues, trees, heaps, hash tables and graphs. Recursion. Students will do programming assignments. |
Prerequisite |
CSC 113 - Computer Programming II. |
Textbook |
|
Course Objective |
The objective of this course is to teach the fundamentals of data structures needed in the remainder of the curriculum and develop students’ problem solving and computer programming skills. |
CSC 215 – Procedural Programming With C (2-2-1) |
|
Course Description |
Introduction to the procedural programming paradigm. Brief history of C. C primitive data types, variables and constants, operators (arithmetic operators, logical operators, and access operators). Control structures. Procedures and parameter passing. User defined types. Pointers. |
Prerequisite |
CSC 111 - Computer Programming I |
Textbook
|
|
Course Objectives
|
The objective of this course is to teach students the design and implementation of C programs. They also are meant to understand when to use procedural vs. OO programming. |
CSC 220 – Computer Organization (2-2-1) |
|
Course Description |
The course introduces basic digital logic design techniques and integrates the topics of generic assembly language programming, computer organization, and computer design. The objectives of this course are to: help students learn the fundamental elements of computer architecture from a functional, hardware perspective; foster an appreciation of organizational models and design decisions that determine the overall performance, capabilities, and limitations of a computer system; and help students understand the interdependencies among assembly languages, computer organization, and design. Topics include Introduction to basic computer organization and how the computer works; DeMorgan’s Law, simplifying circuits using Karnaugh maps, Instruction code, Computer registers, Instruction set, Timing and control; Register Transfer Language HDL ( Hardware Description Language) and Micro-operations; Computer Arithmetic Logic Unit Design. -Hardwired control unit, instruction set, introduction to addressing modes; Central Processing Unit Design, Register organization, Instruction format, Addressing modes. |
Prerequisite |
CSC 111 - Computer programming I |
Textbook |
|
Course Objectives |
The course aims to give the students:
|
CSC 227 – Operating Systems (3-0-1) |
|
Course Description |
This is an introductory course in Operating Systems. As such, it is intended to cover many of the concepts related to most of the actual Operating Systems. Although the study of a particular Operating System is out of the scope of this course, nevertheless, we will cover most of the concepts found in any existing Operating System. We will review computer system and operating system structures, processes and threads (concepts of, communication, synchronization and deadlocks), CPU Scheduling, memory management and virtual memory. |
Prerequisite |
CSC 212 - Data Structures. |
Textbook |
|
Course Objectives |
Course objective is to provide the concepts of operating systems design and implementation. It identifies and describes the major and common components of an operating system with stating their functions and purposes especially process management (process scheduling, and synchronization), and memory management (segmentation, paging, and swapping). |
CSC 281 – Discrete Mathematics for Computer Science (3-0-1) |
|
Course Description |
Logic and methods of proofs. Basic Discrete Structures: Sets, Functions, Recursive definitions, Sequences and Summations. Growth of functions. Integers and Division, Rings & Fields, Applications of Number Theory. Combinatorics: Counting techniques, Permutations and Combinations, Binomial Coefficients, Permutation and Combinations with repetition, Recurrence Relations, Generating Functions. Discrete Structures: Relations, Graphs, Trees and Finite State Machines. Discrete Probability (optional). |
Prerequisite |
STAT 324 - Engineering Probability & Statistics. MATH 151 - Discrete Mathematics. |
Co-requisite |
CSC 212 – Data Structures. |
Textbook |
|
Course Objectives |
The course is an introductory course in discrete mathematic with emphasis on how this theory can be invoked to develop efficient algorithms and systems. Also, it serves as the mathematical perquisite for many advanced courses. |
CSC 304 – Ethical Issues in Computing & Research Methods (3-0-1) |
|
Course Description |
This course seeks to equip students with sufficient knowledge of Computer Ethics to enable them recognize the ethical nature of certain issues that arise in the Information and Communications Technology (ICT) workplace. The course studies the effect of the proliferation of computers in our world, the impact of computers in the social, economic, political, and other aspects of our life. It covers the moral and legal obligations of computer professionals and issues concerning security, privacy versus freedom of information, ethics and professionalism, intellectual property rights, research methods: collecting and analyzing data, critical evaluation of research, report writing, choosing and evaluating references, and presentation skills. |
Prerequisite |
CSC 113- Computer Programming II. |
Textbook |
|
Course Objectives |
The objective of the course is to provide the students with main concepts of computer ethical issues and to introduce scientific research methods. |
CSC 311 – Design and Analysis of Algorithms (3-0-1) |
|
Course Description |
Mathematical essentials; sorting; space and time complexity; algorithm design methods: greedy algorithms, divide and conquer, and dynamic programming; introduction to graph theory; and NP-completeness. |
Prerequisite |
CSC 281 - Discrete Mathematics. |
Textbook |
|
Course Objectives |
The course aims at giving the students a broad foundation in the fundamental concepts of object oriented programming accompanied by specific labs to develop the basic skills in object oriented programming with Java. It introduces the basic concepts and principles of the Object Oriented approach such as: (i) Abstraction and Encapsulation principles, (ii) Classes, objects and the constructor concepts, (iii) Information hiding principle and the assessors' concept. (iv) Methods, the message passing and the overloading principles. |
CSC 329 – Computer Networks (3-0-1) |
|
Course Description |
This course covers the theoretical as well as hands-on knowledge of Computer Networks covering all the fundamental aspects of networking such as OSI, TCP/IP, LANs, MANs,WANs, Routing Protocols, Switching etc. This course will discuss the design of small to medium size networks as well as different networking issues related to routing and switching. |
Prerequisite |
CSC 227 - Operating Systems. |
Textbook |
|
Course Objectives |
The objective of this course is to equip students with theoretical as well as hands-on knowledge of Computer Networks covering all the fundamental aspects of networking such as OSI, TCP/IP, LANs, WAN, Routing Protocols, Switching etc. At the end of the course, students should be able to handle small to medium size networks and have the ability to implement and troubleshoot different networking issues related to routing and switching. |
CSC 339 – Theory of Computation (3-0-1) |
|
Course Description |
Mathematical preliminaries. Regular languages, regular expression, deterministic and non-deterministic finite automata, closure properties and pumping lemma. Context-free grammar and languages, pushdown automata and pumping lemma. Turing machines, the Church-Turing Thesis, Computability. Decidability and the Halting problem. Complexity, class P and NP. |
Prerequisite |
CSC 281 - Discrete Mathematics for Computer Science. |
Co-requisite |
CSC 311 - Design and Analysis of Algorithms. |
Textbook |
|
Course Objectives |
The course aims at answering two questions: what can be computed by a machine? And how efficiently? It starts by presenting machines models, then addresses the computability problem, and then the complexity of algorithms and their classification according to it. |
CSC 340 – Programming Languages and Compilation (3-0-1) |
|
Course Description |
Programming Languages: features, design and translation issues. Lexical Analysis. Syntactic Analysis. Semantic Analysis. Code Generation. |
Prerequisite |
CSC 339 - Theory of Computation. |
Textbook |
|
Course Objectives |
The objective of this course is to explore different types of programming languages and their features, and study translation/compilation techniques used in translating the high-level languages to a machine language. A basic compiler for a small programming language will be implemented during the semester. |
CSC 342 – Software Engineering (3-0-1) |
|
Course Description |
This course focuses on the Software Engineering concepts that are needed to develop software systems that can meet basic functional requirements within a well-defined problem domain. It covers the main steps in the process of developing such systems: requirements analysis, system specification, system design, and system testing. This course introduces the Object-Oriented Analysis and Design (OOAD) approach, and explains the various models of the software that need to be created, the notations to be used for the models (and particularly selected parts of the Unified Modeling Language, or UML). Students participate in teams of three or four on developing software systems, including the feasibility study requirements, and OOAD. |
Prerequisite |
CSC 212 - Data Structures. |
Textbook: |
|
Course Objectives |
The objectives of this course are to:
|
CSC 361 – Artificial Intelligence (3-0-1) |
|
Course Description |
The course will provide an introduction to artificial intelligence. Topics include: problem solving using search (search procedures e.g. depth-first, breadth-first, A*, etc.), constraint satisfaction problems, game playing, knowledge representation and inference procedures. Abstract highlights cover an advanced AI topic (e.g. machine learning, natural language processing). Students will do a small project in this course as well. |
Prerequisite |
CSC 212 - Data Structures. |
Textbook |
|
Course Objectives |
The objective of this course is to develop the students' ability to understand the concepts of AI. The students will be taught and required to practice the informed and un-informed search techniques, problem formulation, optimization techniques, knowledge representation and detailed game theory. The students are expected to present their skills by a course project. |
CSC 380 – Introduction to Database Concepts (3-0-1) |
|
Course Description |
Purpose of Database Systems, View of Data, Data Models, Data Definition Language, Data Manipulation Language, Transaction Management, Storage Management, Database Administrator, Database Users, Overall System Structure. Entity Sets, Relationship Sets, Design Issues, Mapping Constraints, Keys, E-R Diagram, Design of an E-R Database Schema. Structure of Relational Databases, Relational Algebra, Extended Relational-Algebra-Operations, Modification of the Database, Reduction of an E-R Schema to Tables. Basic Structure, Set Operations, Aggregate Functions, Null Values, Nested Sub-queries, Derived Relations, Views, Modification of the Database, Joined Relations, DDL, DML. First Normal Form, Relational Database Design, Functional Dependencies, Decomposition, Boyce-Codd Normal Form, Third Normal Form, Overall Database Design Process. |
Co-requisite |
CSC 212 - Data Structures. |
Textbook |
|
Course Objectives |
This course aims at giving the students a broad foundation in the fundamental concepts of database. This should allow students to design and implement real life databases, in addition to evaluate existing ones. Students will be able to use query of different types of complexity. |
CSC 496 – Graduation Project-I (2-0-0) |
|
Course Description |
This course is the first part of a sequence of two courses (CSC496 and CSC497) that in entirety constitute the BSc graduation capstone project. In this project, the student is expected to develop software for a specific problem by applying previously learned concepts and methods during the course of the project. In this course the student is typically expected to study the problem, see what others have done, perform the analysis, determine the requirements and suggest/design a solution. The project will culminate in a formal public presentation, and written documentation. Oral and written progress reports are required. The project topic may be provided by the faculty, by the student(s) or by the industry. The topic is subject to the departmental approval. |
Prerequisite |
Student must have finished at least 100 hours in the BSc program. |
Course Objectives |
This course is a semester-long team project, where students apply a broad range of skills learned in earlier courses, and demonstrate their competence in technical material, communications, and project skills. |
CSC 497 – Graduation Project-I (4-0-0) |
|
Course Description |
This course is the second part of a sequence of two courses (CSC496 and CSC497) that in entirety constitute the BSc graduation capstone project. In this project, the students will continue the software development of the problem they picked in CSC496. The project will culminate in the delivery of a working system, a formal public presentation, and written documentation. Oral and written progress reports are required. |
Prerequisite |
CSC 496 - Graduation Project-I. |
Course Objectives |
This course is a semester-long team project, where students continue what they did in the first part of this project. In this part there are expected to do the actual implementation and evaluation. |
CSC 999 – Practical Training – (1-0-0) |
|
Course Description |
Training is an important aspect of the educational process in CCIS. Student is required to join a government or private sector IT center. The aim of the training is to acquire the experience in applying what he learned in real life. The training is evaluated by the training advisor at the IT center and by the CCIS training committee. |
Prerequisite |
Student must achieve his training during the summer before his graduation year. |
Course Objectives |
This summer training for college students aims to provide them with a sound foundation out of theoretical and practical hands on knowledge and experience in the field of computer science. The course will provide students insight in to design methodology and implementation using different types of programming languages in different environments. |
CSC 226 – Unix OS Environment (1-2-0) |
|
Course Description |
Overview of the Unix OS, basic concepts, usage of the help and man and info commands. Unix file system and basic commands. Redirection and pipelining. Filtering commands: line searching, (grep, egrep and frep), line content manipulation (cut, sort, tr …). Line visualization (pr, pg, more, tail, fmt, …), comparing files (diff and cmp). Users and user-rights. Process management. The command find. Shell programming. The awk and sed commands. |
Prerequisite |
CSC 111 - Computer Programming I . |
Textbook |
|
CSC 261 – Artificial Intelligence Programming Languages (3-0-1) |
|
Course Description |
This course provides an overview of functional, logic and constraint logic programming paradigms used in the context of artificial intelligence. The course focuses on Prolog language syntax and semantics: lists, operators, arithmetic, structures, input/output, built-in predicates, etc. It emphasizes constraint handling and solving combinatorial problems involving constraints. |
Prerequisite |
CSC113 - Computer Programming II. |
Textbook |
|
CSC 320 – Systems Programming (3-0-1) |
|
Course Description |
The course aims to give the students a theoretical and practical understanding of the programming interface to a Unix system, including the system call interface and many of the functions provided in the standard C library. Topics covered include an overview of the basic Unix programming concepts, an introduction to shell programming, unbuffered I/O, the standard I/O library, the environment of a Unix process, process control, signals, and interprocess communication. |
Prerequisite |
CSC 227- Operating Systems. |
Textbook |
|
Course Objectives |
|
CSC 383 – Advanced Database Systems (3-0-1) |
|
Course Description |
The goal of this course is to introduce the students to the following fundamental data management issues: database file organization, indexing, query processing and optimization, transaction, concurrency control, recovery system as well as other advanced topics. |
Prerequisite |
CSC 380 - Introduction to Database Concepts. |
Textbook |
|
CSC 384 Applied Numerical Computation (3-0-1) |
|
Course Description |
This is an introductory course on Numerical Analysis and Methods. Topics include: errors and their propagation, floating-point computation, algorithms and numerical stability, linear systems of equations, interpolation, difference equations, curve fitting, nonlinear equations, numerical differentiation and integration. |
Prerequisite |
CSC 311 - Design and Analysis of Algorithms. MATH 244 - Linear Algebra. |
Textbook |
|
CSC 385 – Database Applications (2-2-1) |
|
Course Description |
This course aims at giving student acquainted with database manipulation. The student will deal with database schemas as well as user rights, database manipulations and querying. PLSQL, trigger and stored procedures will be introduced as a second step. Different design tools (forms, reports, etc.) will be introduced as a third step of the course. |
Prerequisite |
CSC 380 - Introduction to Database Concepts |
Textbook |
|
CSC 412– Simulation and Modeling (3-0-1) |
|
Course Description |
Introduction to Simulation. Concepts in Discrete-event Simulation (DES). Components of DES. Monte Carlo simulation, the life cycle of a simulation study, input and output data analysis, world views and time control, random number generation, credibility assessment of simulation results, simulation languages, Parallel and Distributed Simulation, applications of simulation using contemporary simulation modeling and support software. |
Prerequisite |
CSC 111 - Computer Programming I STAT 324 - Engineering Probability & Statistics |
Textbook |
|
CSC 429 – Computer Security (3-0-1) |
|
Course Description |
Security principle, model and attacks. Cryptography, public key and secret-key cryptography. Authentication and digital signature. Key management and cryptographic protocol. Access control. Building secure system. Security in operating systems. Security in computer networks. Management and analysis of security. Risk assessment. Computer security policy. International information security standards. Intrusion detection and incident response. |
Co-requisite |
CSC 329 - Computer Networks |
Textbook |
Introduction to Computer Security, Mat Bishop. |
Course Objectives |
The course aims at giving the students a broad foundation in the fundamental concepts of Computer Security. It introduces the basic concept and principles of computer security such as: Security requirements, encryption, access control, malicious software, security policy and management. |
CSC 430 – Computer Arabization (3-0-1) |
|
Course Description |
System Arabization level (screen Arabization, keyboard Arabization, printer Arabization, font and codepage manipulation, creating visual Arabic interfaces, etc.);Introduction to Arabic natural language processing (Arabic morphological analysis, Arabic syntax and semantics, Classical models, Applications); Applying neural networks in Arabic natural language processing (neural networks for Arabic morphological analysis, neural networks for syntactic analysis); The phonetic properties of the Arabic language (Arabic allophones, isolating Arabic allophones, characterization of Arabic allophones, using Arabic allophones in some applications. |
Prerequisite |
CSC 320 - Systems Programming. |
Textbook |
Collection of papers and articles. |
Course Objectives |
The objective of this course is to be aware of the state-of-the-art in Computer Arabization. |
CSC 440–Human Computer Interaction (3-0-1) |
|
Course Description |
Introduction to HCI. The Human User: Capabilities and Limitations. The Computer: Capabilities and Limitations. The Interaction: Models of Interaction and Interaction Styles. Usability Principles: Principles of HCI that support user friendliness. Interface design: dialog notation and design - Visual Design. Design support: Systems that support the design process. Usability Evaluation. Introduction to Speech Computing and other Forms of Input/output. |
Prerequisite |
CSC 342 - Software Engineering. |
Textbook |
|
CSC 442 – Advanced Software Engineering (3-0-1) |
|
Course Description |
This course aims to provide a comprehensive presentation of the key concepts and models and methodologies used in object-oriented approaches in software engineering. The Object-Oriented Analysis and Design using UML combines instruction on the software development processes, object-oriented technologies, and the Unified Modeling Language (UML). Students are provided a pragmatic approach to object-oriented (OO) software development using a widely adopted methodology (the Unified Process), the 1.4 UML specification, and OO technologies, such as the Java(TM) programming language. This course progresses through: a primer on OO technology and software development methodologies, requirements gathering and analysis (including interviewing stakeholders), system architecture and design, implementation, testing, and deployment. The classroom lectures expose students to other proven OOAD practices, such as class-responsibility- collaboration (CRC) analysis (used to discover the Domain entities) and Robustness analysis (used to move from analysis to design).Students will participate in a group project on object-oriented software engineering. |
Prerequisite |
CSC 342 - Software Engineering. |
Textbook |
|
CSC 443 – IT/Software project management (3-0-1) |
|
Course Description |
Project life cycle; Project constraints; Project organization; Risk management; Project cost; Integrated schedule and critical path analysis; Baseline cost; Team building; Project planning; Reporting on project status; Closing and sign-off. |
Prerequisite |
CSC 342 - Software Engineering. |
Textbook |
|
CSC 444 – Software testing (3-0-1) |
|
Course Description |
Introduction - Automated software testing (JUnit, XUnit) - Testing processes - Software validation and verification – Function and acceptance testing - Equivalence partitioning - Path testing – Cyclomatic complexity - Integration testing – Regression testing - Stress testing - Incremental testing - Object-oriented testing - Software testing tools - Software testing in extreme programming - Testing in agile development environments. |
Prerequisite |
CSC 342 - Software Engineering. |
Textbook |
|
CSC 446 – Design Patterns (3-0-1) |
|
Course Description |
This course aims at giving student the ability of design programs using patterns. A design pattern is a general repeatable solution to a commonly occurring problem in software design. Design patterns deal specifically with problems at the level of software design. Definition, context of use will be introduced along with their classification. Some of the most used pattern will be studied such as : Abstract factory, Factory method, Builder, Lazy initialization, Object pool, Prototype, Singleton, Adapter, Bridge, Composite, Decorator, Façade, Flyweight ,Proxy, Chain of responsibility, Command, Interpreter, Iterator, Mediator, Observer. |
Prerequisite |
CSC 342 - Software Engineering. |
Textbook |
|
CSC 453 - Parallel Processing (3-0-1) |
|
Course Description |
Introduction to parallel processing. Models of parallel machines. Parallel programming paradigms and models. Performance analysis of parallel systems. Parallel programming languages and frameworks. |
Prerequisite |
CSC 227 - Operating Systems. |
Textbook |
|
CSC 456 – Distributed Systems (3-0-1) |
|
Course Description |
Understanding the main characteristics of distributed systems and the various design choices required for building a distributed system such as: the architectural models varying from client/server to peer-to-peer, grid-computing; the communication models varying from client-pull (RPC/RMI, Message Queuing, …) to server-push models (publish-subscribe, …); the synchronization techniques based on system clock, on logical clock (timestamp) and on token ring; the standard middlewares such as RPC, RMI, Corba and SOAP. |
Prerequisite |
CSC 329 – Computer Networks. |
Textbook |
|
Course Objectives |
The course aims at giving the students a broad foundation in the fundamental concepts of distributed systems accompanied by specific project to develop the basic skills in network programming using RMI or RPC. It introduces the basic architectural models of distributed systems as well as the communication paradigms such as Publish/Subscribe, Message passing, Remote Procedure Call/ Remote Method Invocation, Message Queuing, etc. Besides, it presents various techniques of synchronization. It aims too to introduce distributed algorithms such election, mutual exclusion, etc. |
CSC 457 – Internet Technologies (3-0-1) |
|
Course Description |
An overview of Internet technologies (definitions, evolutions, examples, and, applications). Publishing and browsing technologies. Internet tools. TCP/IP and Client/server architectures. WWW, HTTP and HTML for text, images, links and forms. Web-based applications development: client-side scripting, server-side scripting and the MVC design approach. WEB site development. Security and privacy. |
Prerequisite |
CSC 329 – Computer Networks. |
Textbook |
|
Course Objectives |
The goal of this course is to provide an introduction to the basic concepts of the technologies that are used on the Internet. Students learn about building blocks of internet. They learn about various protocols used by internet. Students learn about web servers, search engines and software tools required to implement a website. |
CSC 459 – Net-Centric Computing (3-0-1) |
|
Course Description |
Overview of most important distributed algorithms such as election, mutual exclusion, termination detection and concurrency control; Object based distributed systems concepts and the CORBA standard middleware; Introduction to component based distributed systems with focus on implementation issues and on related technologies; SOA and Web-services technologies with focus on SOAP and WSDL; Advanced distributed computing models such peer-to-peer and Grid computing with emphasis on related technologies such as Juxta, Net and Globus toolkit. |
Co-requisite |
CSC 456 - Distributed Systems. |
Prerequisite |
CSC 329 - Computer Networks. |
Textbook |
|
CSC 462 – Machine Learning (3-0-1) |
|
Course Description |
This course gives an overview to machine learning concepts, techniques, and algorithms. Topics include: inductive learning, decision trees, artificial neural networks, instance-based learning, clustering, reinforcement learning, and some examples of application domains. |
Prerequisite |
CSC 361- Artificial Intelligence. |
Textbook |
|
CSC 463 – Knowledge Engineering and Expert Systems (3-0-1) |
|
Course Description |
The course will provide an introduction to knowledge-based systems. Topics include: knowledge representation and inference, representing uncertainty using probabilistic logic and fuzzy logic, non-monotonic reasoning and knowledge acquisition. The students will do a programming project related to knowledge-based systems. |
Prerequisite |
CSC 361- Artificial Intelligence. |
Textbook |
|
CSC 476 – Computer Graphics (3-0-1) |
|
Course Description |
This course is an introduction to computer graphics, with an emphasis on application programming using OpenGL software. The topics covered are: Introduction to Computer Graphics - Graphics Display Devices - Drawing Based Graphics Primitives - Transformation of Object - 3D Affine Transformation.-Three-Dimensional Viewing - Tools for Raster Displays - Scan conversion Algorithms - Defining and Filling Regions of Pixel. - Filling Polygon-Defined Regions. - Aliasing :Anti-aliasing Techniques. - Creating more Shades and Colors. |
Prerequisite |
CSC 212 - Data Structures. |
Textbook |
|
CSC 478 – Digital Image Processing and Analysis (3-0-1) |
|
Course Description |
Introduction; Image Sensing and Acquisition; Some Basic Gray Level Transformations for Image Enhancement.; Image Contrast Enhancement Using Histogram Processing; Image Smoothing Using Spatial Filters; Image Sharpening Using Spatial Filters; Point, Line and Edge Detection; Basic image compression procedures; Basic Global and Adaptive Thresholding for Image Segmentation; Optimal Global and Adaptive Thresholding for Image Segmentation; Region-Based Image Segmentation and Edge-Based Segmentation; Image Restoration in the Presence of Noise-Spatial Filtering; Image Enhancement in Frequency Domain; Objects Representation and Description; introduction to Object Recognition. |
Prerequisite |
CSC 212 - Data Structures. |
Textbook |
|
CSC 484 – Information Retrieval (3-0-1) |
|
Course Description |
This course is intended to prepare students to understand the underlying theories and methods for searching and retrieval of text and bibliographic information, analysis of relevance, utility, statistical and linguistic methods for automatic indexing, query formulation, output ranking, filtering methods, measures of retrieval effectiveness and retrieval experimentation Methodology. |
Prerequisite |
CSC 383 - Advanced Database Systems. |
Textbook |
|
CSC 493 – Selected Topics in Computer Science (3-0-1) |
|
Course Description |
This course aims at introducing the students to a different area of Computer Science. This will be achieved by exposing them to new tools, techniques, and research in Computer Science. |
Prerequisite |
Student must finish 100 Credit Hours. |
Textbook |
Journals and Magazines relevant to the topics covered. |
Course code |
Area |
Credit hours |
---|---|---|
-- |
5 core courses |
14 |
-- |
4 elective courses |
12 |
CSC 600 |
Thesis |
- |
|
Total |
26 |
All students must take these courses.
Course Code |
Course Title |
Credit Hours |
---|---|---|
CSC 512 |
Algorithms Analysis and Design |
3 |
CSC 524 |
Computer Networks |
3 |
CSC 541 |
Advanced Software Engineering |
3 |
CSC 581 |
Advanced Database Systems |
3 |
CSC 595 |
Seminar and Discussions |
2 |
Total |
14 |
The student must choose 4 courses from 2 tracks.
Track |
Course code |
Course title |
Credit hours |
---|---|---|---|
Computer Systems and Networks |
CSC 519 |
Computer Security |
3 |
CSC 520 |
Networking in the TCP/IP Environment |
3 |
|
CSC 523 |
Distributed Systems |
3 |
|
CSC 527 |
Design and Implementation of Real-time Systems |
3 |
|
CSC 528 |
Interconnection Networks |
3 |
Track |
Course code |
Course title |
Credit hours |
---|---|---|---|
Database Systems |
CSC 586 |
Hypermedia and Geographical Information Systems |
3 |
CSC 587 |
Web Databases and Information Retrieval |
3 |
|
CSC 588 |
Data Warehouse and Mining Systems |
3 |
Track |
Course code |
Course title |
Credit hours |
---|---|---|---|
Software Engineering |
CSC 543 |
Software Quality Management |
3 |
CSC 546 |
Designing Object-Oriented Software Systems |
3 |
|
CSC 547 |
Software Measurements |
3 |
|
CSC 548 |
Software Projects Management |
3 |
Track |
Course code |
Course title |
Credit hours |
---|---|---|---|
Computer Graphics and Human-Machine Interaction |
CSC 572 |
Advanced Computer Graphics |
3 |
CSC 573 |
Numerical Algorithms and their Applications in CS |
3 |
|
CSC 574 |
Human-Machine Communication and User-Interface Design |
3 |
|
CSC 576 |
Graphics and Multimedia Applications |
3 |
|
CSC 578 |
Advances in Multimedia Applications |
3 |
Track |
Course code |
Course title |
Credit hours |
---|---|---|---|
Artificial Intelligence |
CSC 558 |
Pattern Recognition and Image Processing |
3 |
CSC 561 |
Expert Systems and Knowledge Engineering Applications |
3 |
|
CSC 562 |
Artificial Intelligence |
3 |
|
CSC 563 |
Neural Networks and Machine Learning Applications |
3 |
|
CSC 566 |
Advanced Applications of Pattern Recognition and Machine Learning |
3 |
|
CEN 545 |
Digital Image Processing |
3 |
Track |
Course code |
Course title |
Credit hours |
---|---|---|---|
Programming Languages |
CSC 535 |
New Advances in Programming Languages |
3 |
CSC 551 |
Automata, Calculability and Formal Languages |
3 |
|
CSC 552 |
Computational Linguistics |
3 |
First Semester
Course Code |
Course Title |
Credit Hours |
CSC 512 |
Algorithms Analysis and Design |
3 |
CSC 524 |
Computer Networks |
3 |
CSC 541 |
Advanced Software Engineering |
3 |
Total |
|
9 |
Second Semester
Course code |
Course Title |
Credit hours |
CSC 581 |
Advanced Databases Systems |
3 |
- |
A course from the first chosen track |
3 |
- |
Another course from the second chosen track |
3 |
Total |
|
9 |
Third Semesters
Course code |
Course Title |
Credit hours |
CSC 595 |
Seminar and Discussions |
2 |
- |
A course from the first chosen track |
3 |
- |
Another course from the second chosen track |
3 |
Total |
|
8 |
Fourth and Fifth Semesters
Course code |
Course Title |
Credit hours |
CSC 600 |
Thesis |
- |
The graduate program in Computer Science covers the major topics in Computer Science. It is our belief that the department must serve a wide stream of students, which will undoubtedly be coming with varying backgrounds and objectives. For this reason, the program proposed herein has been stretched out to cover most of the important areas of computer science: Computer Networks, Database Systems, Software Engineering, Computer graphics and Human-machine Interaction, Artificial Intelligence, and Programming Languages.
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. |
CSC 601 Advanced Computing Science and Applications 3(3+0) |
Graph theory and applications in computer science - Computational methods and application in computing science - Advanced data structures -Applications in computing - Discrete mathematics applications in computing - New trends in computing science. |
CSC 612 - Analysis and Design of Algorithms 3(3+0) |
Major data structures design techniques - Divide and conquer – Dynamic programming - Heuristics - Parallel algorithms - Analysis of algorithms - Orders of magnitude - Lower bound theory - Time and space complexity - NP-hard and NPcomplete problems - Applications and examples - Correctness of algorithms - Structure of algorithms. |
CSC 618 - Selected topics in Computer Systems and Networks 3(3+0) |
New trends and research directions in the area of Computer Systems and Networks. |
CSC 619 - Selected topics in Computer Security 3(3+0) |
New trends and research directions in the area of Computer Security including: Threats and vulnerabilities - Identification and authentication - Access control - Intrusion detection - Encryption and privacy - Security policies and their evaluation - Steganography and applications. |
CSC 626 - Advanced Theory Of Computation And Computability 3(3+0) |
In-depth study of concepts related to computability - Chomsky hierarchy – Turing machines - Computability - Decidability - Nondeterministic automats, recursive function theory - Theory of complexity and complexity classification. |
CSC 627 - Design and Implementation of Real-Time Systems 3(3+0) |
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. closedloop 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 628 - Selected topics in Programming Languages 3(3+0) |
New trends and research directions in the area of Programming Languages. |
CSC 629 - Selected topics in Arabization (3+0) |
New trends and research directions in the area of Arabization. |
CSC 637 - Parallel Processing 3(3+0) |
Overview of High Performance Computers, parallel program performance measurement, study different paradigms for achieving parallelism including explicit and implicit parallelization, fine grain and data flow models, shared memory and message passing parallel computers, and the difference between the SIMD versus MIMD types of Computers. Experiments will be conducted on different parallel programming frameworks, including PVM, MPI and LAP1 as provided with the IBM RS/6000 eServer computer. |
CSC 642 - Advanced Software Engineering 3(3+0) |
Software methodologies - Software requirements - Software Project Management - Software Cost - Software Quality - Software Testing - Software Measurements - Software Risk Management - Case Study. |
CSC 647 - Software Testing, Validation, and Verification 3(3+0) |
Testing in the development life cycle - Testing methodology - Methods for evaluating software for correctness, performance and reliability - Software validation and verification - Static testing - Code inspection - Dynamic testing - Unit testing - System testing - Statistical testing - Testing tools - New trends in software testing. |
CSC 648 - Selected topics in Software Engineering 3(3+0) |
New trends and research directions in the area of software engineering. |
CSC 657 - Pervasive Computing Architecture and Design 3(3+0) |
This course covers pei-vasive computing principles and applications in depth. The topics include: sensor networks; primitive data types for sensor networks; programming sensor networks; mobility support; MANETs; middleware systems; context modeling and awareness; software engineering principles for pervasive computing; usability aspects of pervasive computing; wireless security and privacy. |
CSC 661 - Emergent Computing and Swarm Intelligence 3(3+0) |
Evolutionary algorithms - Artificial Immune Systems - Evolving Connectionist systems - Cellular Automata - Collective Intelligence - Reverse Emergence – Cellular neural network - Amorphous computing - DNA Computing - Bioinformatics - Quantum Computing. |
CSC 662: Artificial Intelligence (3+0) |
Introduction to A1 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 663 - Machine Learning 3(3+0) |
This course covers the theory and practice of machine learning from a variety of perspectives (including Design, analysis, implementation and applications of learning algorithms). The course covers theoretical concepts such as induction, deduction, reinforcement and interaction. Topics include learning decision trees, neural network learning, statistical learning methods, genetic algorithms, Bayesian learning methods, explanation-based learning, and reinforcement learning, support vector machines, decision trees, Bayesian networks, association rules, dimensionality reduction, feature selection and visualization. |
CSC 668 - Selected topics in Artificial Intelligence 3(3+0) |
New trends in the area of Artificial Intelligence |
CSC 669 - Selected topics in Image Processing and Pattern Recognition 3(3+0) |
New trends in the area of digital image processing and pattern recognition including:Images enhancement - Images segmentation - Representation of objects – Pattern Classes - Recognition based on Decision Theoretic and Structural Methods. |
CSC 677 - Selected topics in Computer Graphics 3(3+0) |
New trends in the area of Computer Graphics including Three dimensional Modelingand viewing. |
CSC 678 - Selected topics in Virtual Reality and Computer Vision 3(3+0) |
New trends in the area of Virtual Reality and Computer Vision. |
CSC 679 - Human Computer Interaction 3(3+0) |
New trends in the area of Human Computer Interaction including: Human sensory systems - Interaction-handling Models - Speech Computing and other Forms of Input/Output. |
CSC 68v - Data Warehouse and Mining Systems 3(3+0) |
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 688 - Selected topics in Database Systems 3(3+0) |
New trends in the area of Database Systems. |
CSC 691 - Bioinformatics 3(3+0) |
Bioinformatics is a rapidly evolving field that studies biological systems and biological data (such as DNAIprotein sequences, macromolecular structures and functional genomics data) using analytic theory and practical tools of computer science, mathematics and statistics. The topics include concepts of molecular genetics, biological databases, database searching, sequence alignments, phylogenetic trees, structure prediction, and microarray data analysis. |
CSC 696 - Independent Research Study1 2(2+0) |
The student selects a research topic and conducts a literature review in relation to the topic. |
CSC 697 - Independent Research Study2 2(2+0) |
The student selects a research topic and conducts a literature review in relation to the topic. |
CSC 698 - Advanced topics 1 in Computer Science 3(3+0) |
In this course, students are able to study advanced topics in Computer Science. The content and syllabi of this course is designed by a member of staff and approved by the department. |
CSC 699 - Advanced topics 2 in Computer Science 3(3+0) |
In this course, students are able to study advanced topics in Computer Science. The content and syllabi of this course is designed by a member of staff and approved by the department. |
CSC 700 - Thesis. |