تم اعتماد البرنامج من قبل الهيئة الوطنية للأمن السيبراني وذلك ضمن " قرار موائم مع إطار… المزيد
بكالوريوس العلوم في تقنية المعلومات - مسار علم البيانات والذكاء الاصطناعي (DSAI… المزيد
تعتبر كلية علوم الحاسب والمعلومات بجامعة الملك سعود أحد صروح هذا البلد المعطاء والتي لم تدخر جهداً ممثلة بمنسوبيها من طلاب وخريجين وأساتذة في المساهمة في التنمية والازدهار الذي تشهده المملكة العربية السعودية. وعبر ما يقارب الثلاثة عقود كانت ولا زالت الكلية المصدر الرئيس لمتخصصي تقنية المعلومات بجميع فروعها من هندسة وعلوم حاسب ونظم معلومات. وتتشرف الكلية بأنها أول من أخذ بزمام تطوير تقنية وأنظمة المعلومات في المملكة. كما أن الكلية تفخر بكونها تضم أول قسم للبنات في تخصص تقنية المعلومات. ولا زالت الكلية تواكب و تقود الركب فها هي تنشئ قسماً متخصصاً في هندسة البرمجيات بعد دراسة متأنية لحاجة سوق العمل.
أ- المقررات الإجبارية
CSC 111 – Computer Programming-I (3-2-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CT 140 - Computer Skills.
|
الكتاب المعتمد
|
- An Introduction to Object-Oriented Programming with Java, 4th edition, by C. Thomas Wu (Otani), McGraw-Hill Higher Education, 2006.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 111 - Computer Programming I.
|
الكتاب المعتمد
|
- An Introduction to Object-Oriented Programming with Java, 4th edition, by C. Thomas Wu (Otani), McGraw-Hill Higher Education, 2006.
- Java Programming: From Problem Analysis to Program Design,4th Edition by D.S. Malik.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 113 - Computer Programming II.
|
الكتاب المعتمد
|
- Data Structures and Algorithms in Java, 4th edition, by M.T. Goodrich and R. Tamassia. John Wiley and Sons, Inc., ISBN: 0-471-73884-0.
-
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 111 - Computer Programming I
|
الكتاب المعتمد
|
- Brian W. Kernighan, Dennis M. Ritchie, “The C programming Language”, Prentice Hall, 1988.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 111 - Computer programming I
|
الكتاب المعتمد
|
- Computer System Architecture - 3rd Edition, Author: Morris Mano, Publisher: McGraw Hill.
- Logic and Computer Design Fundamentals*, 4th Edition by M. Morris Mano and Charles R. Kime.Published by Prentice-Hall, 2008. ISBN: 0-13-600158-0.
|
أهداف المقرر
|
The course aims to give the students:
- Design and understanding of the different basic components of a computer system;
- Understanding how the different components inside the computer system functions
- A theoretical and practical understanding of the register transfer language
- A basic understanding of the importance of control units.
- A theoretical and practical understanding of the arithmetic logic unit.
- Understanding the interdependencies among assembly languages, computer organization and design.
|
CSC 227 – Operating Systems (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 212 - Data Structures.
|
الكتاب المعتمد
|
- Operating System Concepts, A. Silberschatz, P.B. Galvin, Eight Edition, John Wiley & Sons Inc., ISBN 0-470-12872-0.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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).
|
متطلبات سابقة
|
STAT 324 - Engineering Probability & Statistics.
MATH 151 - Discrete Mathematics.
|
متطلبات مصاحبة
|
CSC 212 – Data Structures.
|
الكتاب المعتمد
|
- Kenneth H. Rosen, Discrete Mathematics and Its Applications, McGraw-Hill, 2006, ISBN-10: 0073312711.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 113- Computer Programming II.
|
الكتاب المعتمد
|
- Joseph M. Kizza: "Ethical and social issues in Information Age" 3rd Edition Springer 2010.
- Giannis Stamatellos :Computer Ethics a global perspective” 2nd Edition Jones and Bartlett 2007.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 281 - Discrete Mathematics.
|
الكتاب المعتمد
|
- Introduction to the Design & Analysis of Algorithms – 2nd Edition . A. Levitin, Pearson Addison-Wesley, 2006.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 227 - Operating Systems.
|
الكتاب المعتمد
|
- Computer Networks by Andrew S. Tanenbaum (4th edition).
- Computer Networks and Internets by Douglas E. Comer (5th edition).
- CCNA ICND1 and ICND2 official exam certification guides by Wendell Odom.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 281 - Discrete Mathematics for Computer Science.
|
متطلبات مصاحبة
|
CSC 311 - Design and Analysis of Algorithms.
|
الكتاب المعتمد
|
- Introduction to the Theory of Computation (second edition) by Michael Sipser. Editor: Thomson Course Technology
|
أهداف المقرر
|
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)
|
وصف المقرر
|
Programming Languages: features, design and translation issues. Lexical Analysis. Syntactic Analysis. Semantic Analysis. Code Generation.
|
متطلبات سابقة
|
CSC 339 - Theory of Computation.
|
الكتاب المعتمد
|
- Concepts of Programming Languages by Robert Sebesta, Addison-Wesley.
- Compiler Construction: Principles and Practice by Kenneth C. Louden, PWS Publications.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 212 - Data Structures.
|
الكتاب المعتمد:
|
- Ian Sommerville, “Software Engineering”. Eighth Edition, Addison-Wesley, 2007.
- Timothy C. Lethbridge and Robert Laganière, “Object-Oriented Software Engineering: Practical Software Development using UML and Java”, 2nd Edition, McGraw Hill, 2001.
|
أهداف المقرر
|
The objectives of this course are to:
- Provide students with an overview of software engineering.
- Raise the awareness of students about the ethics in software engineering and issues of professional responsibility.
- Understand the software engineering process and life-cycle.
- Understand the principles of software process management.
- Provide students with necessary skills to perform requirements’ analysis.
- Provide students with necessary skills to build system design based on requirements’ analysis.
- Educate students principles of object-oriented analysis and design, and basics of UML.
- Learn the various testing techniques, including unit testing, functional testing, integration and systems testing.
|
CSC 361 – Artificial Intelligence (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 212 - Data Structures.
|
الكتاب المعتمد
|
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات مصاحبة
|
CSC 212 - Data Structures.
|
الكتاب المعتمد
|
- Fundamentals of Database Systems. ElMasri, Navathe, 5th Edition Addison Wesley.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
Student must have finished at least 100 hours in the BSc program.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 496 - Graduation Project-I.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
Student must achieve his training during the summer before his graduation year.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 111 - Computer Programming I .
|
الكتاب المعتمد
|
- Ellie Quigley: “Unix ® Shell by Example” 4th edition, Prentice Hall, 2005.
- David I. Schwartz: “Introduction to UNIX”, 2nd Edition, Prentice Hall, 2006.
|
CSC 261 – Artificial Intelligence Programming Languages (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC113 - Computer Programming II.
|
الكتاب المعتمد
|
- Prolog: Programming for Artificial Intelligence by Ivan Bratko,(Latest edition), Addison-Wesley.
|
CSC 320 – Systems Programming (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 227- Operating Systems.
|
الكتاب المعتمد
|
- Advanced programming in the UNIX environment, Last Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley.
|
أهداف المقرر
|
- A theoretical and practical understanding of the internal operation of a Unix system.
- A practical use and application of a Unix system call interface that supports I/O, processes, signals and IPC.
- A practical use and application of the C standard I/O library functions.
|
CSC 383 – Advanced Database Systems (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 380 - Introduction to Database Concepts.
|
الكتاب المعتمد
|
- Database System Concepts”. Silberschatz Mc Graw Hill Fourth/Fifth Edition.
|
CSC 384 Applied Numerical Computation (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 311 - Design and Analysis of Algorithms.
MATH 244 - Linear Algebra.
|
الكتاب المعتمد
|
|
CSC 385 – Database Applications (2-2-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 380 - Introduction to Database Concepts
|
الكتاب المعتمد
|
- Fundamentals of Database Systems ElMasri, Navathe 5th Edition Addison Wesley
- SQL materials.
|
CSC 412– Simulation and Modeling (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 111 - Computer Programming I
STAT 324 - Engineering Probability & Statistics
|
الكتاب المعتمد
|
- A.M. Law and W.D. Kelton: “Simulation Modeling and Analysis”, McGraw Hill, 2000.
|
CSC 429 – Computer Security (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات مصاحبة
|
CSC 329 - Computer Networks
|
الكتاب المعتمد
|
Introduction to Computer Security, Mat Bishop.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 320 - Systems Programming.
|
الكتاب المعتمد
|
Collection of papers and articles.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 342 - Software Engineering.
|
الكتاب المعتمد
|
- Human-Computer Interaction, Third Edition by Alan Dix et al, Prentice Hall (2004).
|
CSC 442 – Advanced Software Engineering (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 342 - Software Engineering.
|
الكتاب المعتمد
|
- S. Bennett, S. McRobb, and R. Farmer (2006). Object-Oriented Systems Analysis and Design Using UML. 3rd Edition, McGraw-Hill.
- G. Booch et al. (2007). Object-Oriented Analysis and Design with Applications. 3rd Edition, Addison-Wesley.
|
CSC 443 – IT/Software project management (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 342 - Software Engineering.
|
الكتاب المعتمد
|
- Kathy Schwalbe, Information Technology Project Management, 2nd Edition, Course Technology, 2002.
- Anita Rosen, Effective IT Project Management, Prentice-Hall, 2008.
|
CSC 444 – Software testing (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 342 - Software Engineering.
|
الكتاب المعتمد
|
- G.J. Myers, T. Badgett, T.M. Thomas and C. Sandler, "The Art of Software Testing", 2nd ed., Wiley, 2004.
|
CSC 446 – Design Patterns (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 342 - Software Engineering.
|
الكتاب المعتمد
|
|
CSC 453 - Parallel Processing (3-0-1)
|
وصف المقرر
|
Introduction to parallel processing. Models of parallel machines. Parallel programming paradigms and models. Performance analysis of parallel systems. Parallel programming languages and frameworks.
|
متطلبات سابقة
|
CSC 227 - Operating Systems.
|
الكتاب المعتمد
|
- F. T. Leighton, Introduction to Parallel Algorithms and Architectures, Morgan Kaufmann, 1992.
- Joseph Jaja, Introduction to Parallel Algorithms, Addison Wesley, 1992.
|
CSC 456 – Distributed Systems (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 329 – Computer Networks.
|
الكتاب المعتمد
|
- Distributed Systems: Concepts and Design by G. Coulouris, J. Dollimore and T. Kindberg.
- Distributed Systems: Principles and Paradigms by A. S. Tanenbaum and M. V. Steen.
- Distributed Computing: Concepts and Applications by M.L Liu.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 329 – Computer Networks.
|
الكتاب المعتمد
|
- Computer Networks by Andrew S. Tanenbaum, 2003.
|
أهداف المقرر
|
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)
|
وصف المقرر
|
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.
|
متطلبات مصاحبة
|
CSC 456 - Distributed Systems.
|
متطلبات سابقة
|
CSC 329 - Computer Networks.
|
الكتاب المعتمد
|
- Distributed Systems: Concepts and Design by G. Coulouris, J. Dollimore and T. Kindberg.
- Distributed Systems: Principles and Paradigms by A.S. Tanenbaum and M.V. Steen.
|
CSC 462 – Machine Learning (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 361- Artificial Intelligence.
|
الكتاب المعتمد
|
- Machine Learning, Last edition, by Tom M. Mitchell. McGraw Hill.
|
CSC 463 – Knowledge Engineering and Expert Systems (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 361- Artificial Intelligence.
|
الكتاب المعتمد
|
- Expert Systems: Principles and Programming by Giarrantano and Riley, Thomson.
- Introduction to Expert Systems by Peter Jackson, Addison-Wesley.
|
CSC 476 – Computer Graphics (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 212 - Data Structures.
|
الكتاب المعتمد
|
- Hill, J.S. Jr., Computer Graphics Using OpenGL, 2nd Edition, Prentice Hall.
|
CSC 478 – Digital Image Processing and Analysis (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 212 - Data Structures.
|
الكتاب المعتمد
|
- Rafael C Gonzalez, Richard E Woods 2nd Edition, Digital Image Processing - Pearson Education 2003.
- Image Processing Analysis and Machine Vision – Millman Sonka, Vaclav hlavac, Roger Boyle, Broos/colic.
|
CSC 484 – Information Retrieval (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
CSC 383 - Advanced Database Systems.
|
الكتاب المعتمد
|
- Ricardo B. , Berthier R. : “Modern Information Retrieval” Addison Wesley.
|
CSC 493 – Selected Topics in Computer Science (3-0-1)
|
وصف المقرر
|
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.
|
متطلبات سابقة
|
Student must finish 100 Credit Hours.
|
الكتاب المعتمد
|
Journals and Magazines relevant to the topics covered.
|
SWE211
Introduction to Software Engineering
3(3+0+1)
Pre-reqesitesMATH151
Co-reqesitesCSC113
This is a central course, presenting the basic principles and concepts of software engineering and giving firm foundation for many other courses in the field. It gives broad coverage of the most important terminology and concepts in the software engineering; basic understanding of software life cycle, software processes, requirements engineering processes; introduction to agile and extreme programming, basic modeling and design; basic of project management, software cost estimation, configuration management, and testing; introduction to ethics and professional practice in software engineering. Students participate in a group project various aspects of software lifecycle as well software engineering case tools.
SWE312
Software Requirements Engineering
3(3+0+1)
The course covers requirements engineering in depth including the followings: requirements Engineering Process - Elicitation of requirements - Functional and non-functional requirements - System services and constraints – Quality of Requirements - Requirements traceability matrix - Metrics for non-functional requirements - Use case description - Use case and context diagrams - Software Requirements Specification -IEEE Standard - Requirements for agile developments - Requirements for various systems: embedded systems, web-based systems, business systems, etc. – Requirements management. Ethical behavior of software analysts with respect to stakeholders when gathering the requirements will be also discussed. This course gives also a brief introduction to formal specifications using specification languages such as Z or B. Students participate in a group project on software requirements analysis and specification and requirements management case tools.
SWE313
Software Process and Modeling
3(3+0+1)
Pre-reqesitesSWE211
Co-reqesitesIS230
This course aims to provide a comprehensive presentation of the key concepts, modeling techniques, and development methodologies used in object-oriented approaches in software engineering. This includes a review of Object-Oriented concepts and modeling with UML: Structural Modeling, Behavioral Modeling – System architecture design, – User Interface Design – Object Persistence Design - Class and Method Design - Object-Oriented Testing – Unified Process development cycle – Use case analysis – Sequence diagrams – Encapsulation – Inheritance – Polymorphism – Design principles of coupling and cohesion – Design patterns. Students will be also exposed OO case tools, UML Generating tools, standard templates, Quality control and other SWE related standards. Students will participate in a group project on object-oriented software methodologies and modeling using OO case tools.
SWE321
Software Design and Architecture
3(3+0+1)
Pre-reqesitesSWE312 + CSC212
Co-reqesitesCEN303
This course covers the fundamental design principles and strategies for software architecture and design. Architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. Software evolution, flexibility, Middleware architectures such as COM and .NET are also discussed. An introduction to SOA is also presented. An overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. Students participate in a group project on software design and architecture and design tools.
SWE333
Software Quality Assurance
2(2+0+1)
This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software industry: Measurements of product, process and resource attributes – Planning a measurements program - Goal/Question/Metric - Collection and analysis of software empirical measurements - Building software metrics - Quality concepts – Software quality assurance - Software quality management - Quality planning and control – Quality manual – Product and process standards - Internal and external software quality attributes - Software reviews, walkthrough and inspection – Statistical software quality assurance – Software configuration management - Software reliability – International Software quality models, e.g. ISO 9000 Quality standards and ISO 9000-3, etc.. – Software process improvement – The Capability Maturity Model (CMM), Balanced scorecards. Ethical responsibility to produce high-quality software is also discussed. Students participate in a group project on Software quality assurance.
SWE381
Web Applications Development
3(3+0+1)
This course is a basic introduction to the Internet and WWW. It covers the following topics Static web page development using HTML. Formatting web pages with tables, images, frames and CSS (Cascading Style sheets). Introduction to client side scripting such as JavaScript. Dynamic web content generation and use of DHTML. Introduction to server side programming such as PHP, JSP, Java Servlets, and ASP .NET. Database connectivity to web applications. Fundamentals of Web 2.0 – the modern web applications. Basics of other relevant concepts and technologies such as XHTML, XML, Web Services, and Ajax. Students participate in a group project on web design and development.
SWE434
Software Testing and Validation
3(3+0+1)
The course covers software testing and validation in details and include the following topics: Introduction to testing - Software validation and verification – Test cases – Managing the testing process: developing test plans, test scripts and test cases, reports - Unit, functional, and acceptance testing - Black-box and white-box testing - Equivalence partitioning - Path testing – Cyclomatic complexity - Integration testing – System Testing: Regression testing; Interface testing; Stress testing; Incremental testing; Interaction and Usability testing ... etc. - Object-oriented testing - Software testing tools - Alpha, beta, and user acceptance testing – Testing in agile development environment - Automated testing. Students participate in a group project on software testing. Students participate in a group project on software testing.
SWE444
Software Construction Laboratory
2(0+4+0)
Pre-reqesitesSWE321 + SWE333
This is a course offered as a laboratory where students practice the material learned in previous courses through directed study and supervision. The focus will be mainly on analysis, design and implementation. Some concepts related to project planning and to quality assurance will also be considered. The class is an ongoing project in which students register to participate as engineers in a specific role in accordance to individual levels of expertise and profile. More emphases should be given in producing a small software application using various tools including case tools, database systems, and programming environments.
SWE455
Software Maintenance and Evolution
2(2+0+1)
This course will introduce the four types of maintenance: corrective, adaptive, perfective, and preventive maintenance; economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. Topics including: Website maintenance; role of CASE tools; reverse engineering, reengineering; code restructuring and amenability measures. Release and configuration management will be also discussed. Students will also learn different maintenance process models such as: Boehm, Osborne, Iterative enhancement and reuse-oriented modes. Students participate in group project in Software Maintenance and Evolution.
SWE466
Software Project Management
3(3+0+1)
This course covers the main knowledge areas of project management (time, cost, quality, scope, risk, human resources, communications, etc.) by focusing on software projects. Project planning, cost estimation (using COCO and FPs), earned-value analysis techniques and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics, Analysis of options, risk management and dynamic adjusting of project plans. Planning for change. Management of expectations. Software contracts and intellectual property. Approaches to maintenance and long-term software development. Standards in project management, such as ISO10006 (project management quality) and ISO12207 (software development process) along with CMM model will be also discussed. Case studies of real industrial projects. Ethical behavior of project managers with respect to clients, employers, products, etc. will be also discussed. Students participate in a group project on software project planning and management.
SWE477
Software Engineering Code of Ethics & Professional Practice
2(2+0+0)
Pre-reqesitesPassing 95 CH
This course is an introduction information ethics in general and to the professional and ethical aspects of the profession of software engineers in order to be able to fulfill their duties and succeed in their mission. Ethics of Software Engineers and ethical behavior is covered in depth through the IEEE-CS/ACM software engineering code of ethics (with the respect to PUBLIC INTEREST, CLIENT and EMPLOYER, PRODUCT, JUDGMENT, MANAGEMENT, PROFESSION, COLLEAGUES, and SELF). The course covers also other important topics: Software Engineering as an engineering and computing discipline; Professional aspects of the Software Engineer profession: certification, licensing, professional engineering societies, employment contracts, etc.; Group Dynamics, interaction with peers, stakeholders, and managers; Communication and presentation skills; Economic impact of Software systems; legal, social, etc. issues in Software Engineering; The profession of Software Engineer in Saudi Arabia and the Gulf region.
SWE496
Graduation Project I
3(3+0+0)
Pre-reqesitesPassing 95 CH
The graduation project I is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project. The outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. The project should cover most phases of the software lifecycle. In this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on management of the project. Students must use software case tools to realize their work. They also need to implement a “hello world” version of their software.
SWE497
Graduation Project II
3(3+0+0)
This is a continuation of the graduation project started in SWE496 . The focus will be in this part on low-level design, implementation, testing and quality assurance as well as management of the project. The outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. Students must use software case tools as well as programming environments to do their work. Students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
SWE999
Practical Training
1(++)
Pre-reqesitesPassing 95 CH
Training is an important aspect of the educational process in the College of Computer and Information Sciences. Students are required to join an IT center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. The aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. The student training is evaluated through both his training advisor in the work place as well as the training committee through the report students write about their training.
SWE481
Advanced Web Applications Engineering
3(3+0+1)
Pre-reqesitesSWE381 + SWE312
This course covers technical aspects as well as business aspects, market drivers, and site design reflecting interdisciplinary influences on web applications development. The course explains how Web Engineering differs from software engineering, detailing the rapid prototyping and agile development methods mandated by short lead times, emphasis on interactivity and multimedia, and the increased importance of user interfaces and human-computer interaction. It covers: the systematic development of Web applications; requirement engineering for Web applications; modeling; Architectures of Web Applications; technology driven design; testing, operation and maintenance of Web applications. Special emphases should be given to: Web project management, development processes, usability, performance and security of Web applications. The course covers also Web services. Students participate in group projects on advanced web design and development.
SWE482
Human-Computer Interaction
3(3+0+1)
This course helps to build competence, knowledge, and skills in the field of Human-Computer Interaction Design. The goal is to shape new media and tools that will support human use, augment human learning, enhance communication, and lead to more acceptable technological developments at the individual and the social levels. The course covers the following: Introduction to Human-Computer Interaction (HCI) and Human Cognitive Systems. Understanding Users. Interaction Frameworks, Paradigm and Styles. Evaluation of User Interfaces: Heuristic Evaluation and Usability Testing. Underlying Design Principles and Designing Interaction: Interaction Design Process, User-Centered Design and Prototyping, Conceptual and Physical Design, Interface Design Standards, Task Analysis and Discovery, Design Principles. Different Features of Interaction and User Interfaces: Color, Interface Components (e.g. Windows, Icons, Menus, Pointers etc., Icons, Text, Speech, Touch, Augmented Reality, and Haptics. Students participate in group projects on the design, development and evaluation of user interfaces.
SWE485
Selected Topics in Software Engineering
3(3+0+1)
Pre-reqesitesPassing 95 CH
This course is designed to enable students to study different special topics of interest, which are carefully selected from software engineering topics. The contents of such a course are to be determined by the department council each time the course is offered. Topics of interest could be one or several from the followings: Formal specifications using formal languages (Z, B, etc.), design patterns, component-based development, Agile and eXtreme programming, Aspect-oriented architecture, Service-oriented computing and architecture, etc. Other topics can be added as needed. Students participate in group projects related to the special topic(s) selected.
SWE488
Complex Systems Engineering
3(3+0+1)
Pre-reqesitesPassing 95 CH
This course represents an introduction to complex systems and the methods and tools currently under consideration and use towards better understanding of such systems and the development of a complex engineered systems theory. Topics include concepts such as emergence, self-organization, learning and adaptation, and various quantitative and computational intelligence techniques and algorithms that are considered for modeling, analysis and evaluation of such complex systems. System-of-systems concept will be also presented. Students will be able to work on a small project in which they have to design and implement a small part of a complex system.

SWE501
Object-Oriented Software Engineering
3(3+0+0)
Software construction using a modern object- oriented language with support for graphical user interfaces and complex data structures. Specifications, design patterns, and abstraction techniques, including polymorphic. Information hiding. classes, objects, and inheritance procedural, data, iteration, type, and polymorphic. Information hiding, classes, objects, and inheritance
SWE502
Software Design and Architecture
3(3+0+0)
Concepts and methods for the architectural design of large-scale software systems. Fundamental design concepts and design notations. Design strategies and methods. Object-oriented analysis and design modeling using the Unified Modeling Language (UML) notation. Project on object-oriented software design.
SWE503
Software Requirements Engineering
3(3+0+0)
Basics of Requirement Engineering, Requirement Engineering process. Methods, tools, notations, and validation techniques for the analysis, specification, prototyping, and maintenance of software requirements. In-depth study of object- oriented requirements modeling, including use case modeling, static modeling and dynamic modeling using the Unified Modeling Language (UML) notation. Project on software requirements and specification using a modern method.
SWE504
Distributed Software Engineering
3(3+0+0)
Techniques and programming interfaces for distributed software engineering. Networking protocols at several layers. Construction of distributed and concurrent software using network protocol services. Applications of Internet and Web-based layer
SWE505
Software Testing and Quality
3(3+0+0)
Quality Assurance. Software quality factors. Development standards, models and methodologies. Process and product quality assurance. Software reviews and inspections Verification and validation. Software configuration management. Software quality metrics. Concepts and techniques for testing software and assuring its quality. Equivalence partitioning. Test tools and automated testing. Verification and validation methods. Different Testing Framework: The JUnit, DBunit, Web unit testing framework (will cover one or two). Black-box (functional) test design methods white-box (structural) verification methods: code-directed methods; static testing techniques; program proving; code inspection; symbolic execution; data flow anomaly analysis. Dynamic white-box test design techniques control flow/data flow; Instrumentation/Code Coverage ; a-priori testing; adaptive testing; mutation testing; Grey-box (object- directed) test design methods: design & verification; fsm-based methods; checking platform dependencies; object-oriented test planning. testing distributed s/w and protocols. test description languages (ttcn3). Theoretical foundations of testing: computability. Summary - comprehensive software quality engineering.
SWE506
Software Project Management
3(3+0+0)
Project Management of software engineering projects. Software system engineering and organization methods; work breakdown structure and task determination; effort, duration and cost estimation; scheduling and planning. Monitoring and control; analysis of options; management of risks, change, and expectations. Process and product metrics, post-performance analysis, process improvement and maturity. Management of Agile Programming methodologies such as Extreme Programming; Case studies.
SWE507
Formal Methodologies in Software Engineering
3(3+0+0)
Formal mechanisms for specifying, validating, and verifying software systems. Program verification through Hoare's method and Dijkstra's weakest preconditions. Formal specification via algebraic specifications and abstract model specifications, including initial specification and refinement towards implementation. Integration of formal methods with existing programming languages, and the application of formal methods to requirements analysis, testing, safety analysis, and object-oriented approaches. Formal methods using the Object Constraint Language (OCL).
SWE508
Object-based Design Patterns
3(3+0+0)
Principles of object-oriented design through design patterns. A study of the selection of appropriate object-oriented structure after the system requirements or requirements specification of the software system have been developed. Design patterns are created in the logic view of the software system. A study of generalized design solutions for generalized software design problems. A study of the reuse of design patterns.
SWE509
Software Usability Engineering
3(3+0+0)
Introduction and background of Software Usability engineering concepts. This includes measuring usability, Heuristic evaluation, Video recorded evaluation, Task analysis, Cognitive walkthroughs and ethics, Experimentation, Internationalization, Accessibility - Usability for the Disabled, use of the different state-of- the-art tools for usability evaluation, and finally, integration of usability engineering into the software engineering lifecycle. This course will also focus on the different aspects of Human Computer Interaction from the perspective of user interface design and analysis. Group or individual project needs to be completed highlighting both practical as well as research aspects.
SWE510
Special Topics in Software Engineering
3(3+0+0)
Topics not occurring in existing courses. Topics normally assume knowledge in one or more existing MS SWE courses.
SWE511
Reusable Software Architectures
3(3+0+0)
An in-depth study of software concepts that promote reuse of software architectures. The influence of object technology on software design and reuse is studied. Domain Modeling methods, which model the application domain as a software product family from which target systems can be configured, are investigated. The course also covers reusable software patterns including architecture patterns and design patterns, software components, and object-oriented frameworks.
SWE512
Real-Time and Embedded Systems
3(3+0+0)
The topics covered are: Real-time systems and principles supporting design and implementation. Emphasizes fundamental results from real-time scheduling theory and relevance to computer system design - System design issues for real-time applications involving communication networks, operating systems, databases, and multimedia.
SWE513
Enterprise System Architecture
3(3+0+0)
An in-depth study of the basic concepts and methodologies for the discipline known as Enterprise IT architecting within a framework, structure, and methodology - Enterprise IT Architecting as a step for designing and developing a system of information systems - Definition of the business, work, functional, information and technical perspectives - Development of complex information systems.
SWE514
Software Engineering Process and Construction
3(3+0+0)
Basics of Software construction, Formal methods for software construction, managing construction, Tools for model-driven construction. Software process definition, assessment and measurement. Practical consideration or group project: design of real - time systems and language analyzers using CASE tools, Design and verification of programs with concurrency, in the context of languages like UML State Machines (SDL) and Java.
SWE515
Software maintenance and Configuration
3(3+0+0)
Basics of Software maintenance and configuration. Key issues, Maintenance process, processes related to change requests and configuration management, Configuration control SWE release management, Maintenance techniques: reverse engineering, reengineering; code restructuring. Group or individual Project on the state of art research.
SWE516
Software Engineering for the World Wide Web
3(3+0+0)
Topics to be covered in this course: Architectural frameworks for Ecommerce, Banking etc. WEB 2.0, Web 3.0 and above – tags, RSS, authoring, web services, XML, Web APIs. Software usability – web accessibility initiative, multimodal interfaces for ease of use. Web application reliability–modeling, testing. Security–Standards and technologies. Scalability–issues and approaches to scalable web application. Maintainability– Metrics for maintainability estimates, maintainability models, etc. Client server architecture. Multi-tier architecture. Event-driven architecture. Database-centric architecture. Middleware–web servers, application servers
SWE517
Component-Based Software Development
3(3+0+0)
Introduction to the concepts and foundations of software component and component-based software. Detailed study of the engineering principles of modeling, designing, implementing, testing, and deploying component-based software. State-of-the-art component technologies will also be explored
SWE518
Multimedia Systems
3(3+0+0)
Introduction to multimedia enabling technologies, services and applications; basic Internet concepts and protocols, compression and networking technology in multimedia system, Multimedia and the Internet, Quality of Service (QoS) and Resource Management, Scheduling and synchronization, conferencing and collaboration tools, and security.
SWE519
Web Engineering Methods and Tools
3(3+0+0)
Web Engineering course topics include but not limited to: Design methodologies to support customizable systems. Development and maintenance models for Web Systems. Documents oriented system development. Server Side Programming: JSP, Java Beans, JDBC etc. System security signed applets and encrypted communications. Introduction to programming distributed web architectures. End-User application development and cultural aspects. Techniques for supporting mobile Web device.
SWE520
Complex Systems Engineering
3(3+0+0)
Complex systems engineering course topics include but are not limited to: Universality and unification: Complexity paradigms in nonlinear dynamics, networks and computation. Complexity concepts – universality, emergence, self-organisation, nonlinearity, order, criticality, evolution, modularity, competition and cooperation, feedback and adaptation - Interactions and Patterns. - Complex Systems Theories and Models: Mean-field theory and approximation. - Tools of complex systems modelling – simulation techniques; Monte Carlo, cellular automata, agent-based, power-law and heavy-tailed distributions, Networks: genetic networks, neural networks, scientific computing in Practice. - Applications in Biology, Business and Finance, Social and Environmental
SWE521
Service Oriented Computing – SOC
3(3+0+0)
This course will cover recent papers and research results for Web Services, including: Web Services, Service Oriented Architecture (SOA), Service Selection, Service Composition, Service Management, QoS Issues, traditional, and nature inspired techniques for service computing, Security and Dependability for Web Services, P2P Services and Service Cloud.
SWE522
Operations Research for Software Intensive Systems
3(3+0+0)
This course provides a perspective on the analysis of systems that are stochastic in nature. Topics to be covered are: Probability Theory - Decision Making Under Uncertainty - Deterministic Inventory Models - Probabilistic Inventory Models - Markov Chains - Queueing Theory – Forecasting – Simulation.
SWE523
Principles of C4I Systems
3(3+0+0)
This course provides a broad introduction to fundamental principles of Command, Control, Communication, Computing, and Intelligence (C4I). The main topics to be covered are: Target Detection, Tracking, and Identification - Data Fusion, Situation Assessment - Communication & Networking - Combat Modeling - Decision Making – C4ISR Architectures – Queuing Theory and Applications. Case studies, assignments and group project.
SWE524
Modeling and Simulation for C4I systems
3(3+0+0)
This course will focus on the use and characteristics of combat simulations as aids to decision-making. The main topics to be covered are: Combat models - Principles of good analysis using combat models - Attrition algorithms for High-Resolution models: Physical models of attrition - Attrition algorithms for aggregated models - Target detection algorithms: glimpse, continuous- observation, DYNTACS, and ACQUIRE models - Battlefield environment representations - Command-and-control - Modeling Other Battlefield Functions: Force representation, Fire Support, Air Defense, Air Combat models, Logistics - The future of combat models: Object-oriented design, parallelism, and distributed combat simulations - High-Level Architecture overview - High-Level Architecture case studies
SWE525
Sensor Data Fusion
3(3+0+0)
Investigate common fusion architecture, levels of fusion, well-known data fusion algorithms and look into the recent developments in the area. Study estimation algorithms and hypothesis-testing criteria for multisensory fusion. Analyze the adoption of sensor fusion approaches into different application areas. Topics to be covered in the course: Introduction to sensor data fusion - Basics of different sensors and data formats - Design issues of data fusion systems - JDL data fusion levels - Revised data fusion levels - Algorithms for sensor data fusion: Estimation algorithms for entity parameters or attributes, Identity estimation algorithms for recognition, and Several hypothesis-testing criteria such as data-entity association, situation analysis, etc. - Analyze the adoption of sensor fusion in the following application areas: Military, monitoring and tracking, Pervasive environment, Environment monitoring, Surveillance, Critical infrastructure protection, Intelligent transportation system.
SWE526
Estimation and Tracking: Principles and Techniques
3(3+0+0)
Topics to be covered: Principles and estimation techniques for static and dynamic systems, linear and nonlinear, discrete and continuous time. Estimation for kinematic models, track initiation, bearing-only tracking, tracking maneuvering targets with adaptive filtering, MM (Multiple Model) and interactive MM algorithms. Tracking single target in clutter, nearest neighbor algorithm, tracking and data association, Multiple hypothesis tracking. Tracking performance evaluation.
SWE527
Introduction to Medical Software Engineering
3(3+0+0)
The tentative topics may cover: Introduction and overview of basic concepts of Medical Informatics, Online Medical Resources and Search Engines, Patient Informatics, Electronic Health Records, Interoperability, Ubiquitous Technology, Clinical Practice Guidelines, Disease Management, Patient Safety and Information Technology and E-prescribing: Telemedicine and Medical Image Archiving and Communication Systems: Bioinformatics and Public Health Informatics (Public Health Information Network), Emerging Trends in Medical Informatics and Information Technology (Emerging technologies such as voice recognition, artificial intelligence, Service Computing, SOA, Re-HAVE, VoWiFi and biometrics).
SWE528
Analysis, design and development of medical/health information Systems
3(3+0+0)
Systems development methodologies; the systems development life cycle, and the concepts, tools and techniques. The fundamentals of database modeling, technologies and design such as entity-relationship, semantic data modeling, database technologies, and normalization. Basic knowledge of SQL. Case study on medical information systems (hospital, outpatient, nursing, laboratory, pharmacy, etc.), decision-support systems, clinical research and health-assessment systems, technology assessment and healthcare accounting. Course project on the design and development of a DBMS related to one or more of the following: Medical health record and/or medical information system, disease management and drug utilization.
SWE529
Software Project Management in Medical Informatics
3(3+0+0)
Project management (PM) methods and skills for healthcare. The latest project management techniques for medical informatics projects. Project initiation, planning, implementation and project termination. Issues related to project leadership, human resources, budgeting, and scheduling, risk identification and risk mitigation tactics. Case discussions highlight the state-or-the-art for project management practices as applied to health informatics in contemporary environments. Case study and hands on practice with some Project management software related to medical informatics. Group project on SPM in medical informatics.
The basic concepts such as privacy and security, language and terminologies, standards and interoperability, decision support systems, health informatics specialties. The concepts of organizing health information in a logical way to interface with an electronic information system. The design and role of various health classification systems such as the International Classification of Diseases (ICD), the International Classification of Primary Care (ICPC) and casemix systems (AR-DRGs, AN-SNAP, MH-CASC). Review of technology applications such as Telemedicine and health in the home, web-based applications, cyber-consultations and wireless technology
SWE531
Software Reliability Engineering
3(3+0+0)
Software Reliability topics include but not limited to: cleanroom software development, fault avoidance, fault tolerance, exception handling, N-version programming, reliability metrics, recovery blocks, formal methods, functional specifications, and Z Notation.
SWE598
Graduate Project -I
3(3+0+0)
Students in the non-thesis option will normally complete their project in the last two terms of the program. Students should apply to the non-thesis option in their initial application rather than attempting to transfer to this option once registered in the program. The project supervisor must be a member of SWE dept. The project must represent a significant contribution to the state-of-the-art BUT does not involve the writing up of a dissertation. However, a project report summarizing the work is to be submitted to the project supervisor for grading. This part is dedicated to the literature review, analysis and design of the project.
SWE599
Graduate Project-II
3(3+0+0)
Students in the non-thesis option will normally complete their project in the last two terms of the program. Students should apply to the non-thesis option in their initial application rather than attempting to transfer to this option once registered in the program. The project supervisor must be a member of SWE dept. The project must represent a significant contribution to the state-of-the-art BUT does not involve the writing up of a dissertation. However, a project report summarizing the work is to be submitted to the project supervisor for grading. This second part is more dedicated to detailed design, implementation, and validation issues.
A dissertation thesis that is accomplished via the formal, academic, and scientific approach under the supervision of an academic advisor
إنجازات قسم تقنية المعلومات: - زيارة فريق ABET لتجديد الاعتماد الدولي لبرنامج البكالوريوس.
- تطوير خطة برنامج البكالوريوس وافتتاح مسارات جديدة لمواكبة رؤية المملكة 2030 ولسد احتياجات سوق العمل واعتمادها للعام الجامعي 1440/1439 هـ
- تطوير خطة برنامج الماجستير وفق تغيرات واحتياجات سوق العمل واعتمادها للعام الجامعي 1440/1439 هـ.
- تفعيل برنامج الماجستير مسار الرسالة واعتماده للعام الجامعي 1440/1439 هـ.
الاعتماد المهني والأكاديمي
حصل برنامج البكالوريوس في هندسة البرمجيات على الاعتماد الاكاديمي من هيئة اعتماد المهندسين لـ ABET |
https://www.abet.org |
حصل برنامج البكالوريوس في هندسة البرمجيات على الاعتماد المهني الوطني من هيئة تقويم التعليم و التدريب (ETEC) |
 |
حصل برنامج البكالوريوس في هندسة البرمجيات على الاعتراف المهني من قبل الهيئة السعودية للمهندسين |
 |
بسم الله الرحمن الرحيم
الحمد لله و الصلاة و السلام على اشرف الأنبياء و المرسلين نبينا محمد و على آله و أصحابه اجمعين. بصفتي وكيلة الكلية للدراسات العليا و البحث العلمي بكلية علوم الحاسب و المعلومات اردت ان اسطر هذه الكلمات للتواصل بين الوكالة و منسوبيها و كل من الأقسام و أعضاء هيئة التدريس و طلبة و طالبات الدراسات العليا في الكلية (ماجستير - دكتوراه).
في بادئ الأمر نريد ان نؤكد ان هذه الوكالة تقوم بخدمة قطاع مهم في الكلية ألا و هو كل ما يتعلق بالدراسات العليا و يشمل البرامج المختلفة و الأقسام التي تقدم هذه البرامج و الأساتذة الذين يقومون بالعملية الأكاديمية و التدريسية و الاشرافية لطلاب وطالبات الكلية. فوكالة الكلية للدراسات العليا و البحث العلمي من الممكن النظر لها بأنها هي الرابط بين الأقسام و اساتذتها و الطلبة و الطالبات من جهة و عمادة الكلية و عمادة الدراسات العليا بالجامعة من جهة أخرى. كذلك من مهام الوكالة محاولة دعم و تنظيم البحث العلمي و التنسيق بين الأقسام و الأساتذة و طلبة الدراسات العليا في الاستفادة مما توفره الجامعة من دعم للبحث العلمي ممثلة في عمادة البحث العلمي و وكالة الجامعة للدراسات العليا و البحث العلمي.
إذن في حقيقة الأمر، هذه الوكالة و الأقسام من مهامهم تطبيق و تنظيم و تطوير و تفهم أنظمة و لوائح الجامعة و الكلية فيما يخص و ينفع و يرفع في الجودة العلمية والاكاديمية لكلاً من برامج الدراسات العليا و البحث العلمي في تحقيق ما تنشده الكلية بشكل عام و ما تنشده الأقسام من اعتمادات أكاديمية و مؤسسية في تحسين المخرجات العلمية والتعليمة . ومن المهام ايضا السعي لتطوير برامج الدراسات العليا و فتح برامج جديدة بما يواكب التطورات الراهنة خصوصا في المجال التقني والتي تعتبر كلية علوم الحاسب بشتى اقسامها هي العصب الاساسي في تطور هذه التقنية ، وفتح تخصصات مطلوبة مواكبة لسوق العمل والاستفادة من كوادر الكلية الاكاديمية والكفاءات التي تزخر بها كليتنا الموقرة .
فقد رأينا أن تكون هذه الصفحة الخاصة بالوكالة التابعة لموقع الكلية مضمن بها كامل اللوائح و النماذج و التنويهات الخاصة بالطلبة و الأقسام و عمادة الدراسات العليا لكل ما له صلة بالمقررات و الرسائل و البرامج و ما تحتاج من عمليات في تسهيل سير العملية التعليمية ، مثل تسجيل المواد وغيرها. وكذلك تحتوي على لوائح ونماذج لطلبة و طالبات الدراسات العليا و إعلاانات يتم تحديثها و إدارتها بحيث تكون في متناول الجميع سواء كانت اقسام أو أساتذة أو طلبة و طالبات. إضافة الى ارقام هواتف الكلية و الوكالة، والبريد الخاص بالوكالة لاستقبال استفسارات و اقتراحات طلبة و طالبات الدراسات العليا بالكلية و سيتم الرد بواسطة البريد الإلكتروني نفسه.
لن اغفل او اتغافل عن شكر كل من سعادة عميد الكلية و سعادة عميد الدراسات العليا على دعمهم الغير محدود للرقي بمستوى الدراسات العليا في الكلية إلى الدرجة المتميزة التي تطمح لها الجامعة وبما تحقق الجودة التعليمية المنشودة. كذلك اود ان اشكر سعادة الزميلات و الزملاء ووكلاء الكلية و رؤساء الأقسام في دعمهم و في مشاركتهم جهودنا المتواضعة للقيام بالمهمة المطلوبة من قبل وكالة الكلية للدراسات العليا و البحث العلمي حسب لوائح و أنظمة الجامعة. لن نتردد ابدا بفتح صدورنا و تقبل أي اقتراحات او نقد او تنبيه يصل الوكالة سواء من عمادة الكلية او عمادة الدراسات العليا او الأقسام او الأساتذة او طلبة و طالبات الدراسات العليا في الكلية. ختاما أود ان اشكر كل من يعمل في الوكالة سواء كانوا أعضاء في لجانها او موظفين او فنيين و طلبة دراسات عليا مساعدين. نتمنى للجميع العلم النافع و التوفيق و الله هو الهادي لسواء السبيل.
د. منى صالح الرزقان
وكيلة الكلية للدراسات العليا و البحث العلمي
كلمة الوكيل
بسم الله الرحمن الرحيم
تتطلع كلية علوم الحاسب والمعلومات إلى تحقيق الريادة والتميز في مجال الدراسات العليا والبحث العلمي، مما يجعلها تتبنى أفضل الممارسات العالمية في التعليم والبحث والابتكار. وتُعنى وكالة الكلية للدراسات العليا والبحث العلمي بالإشراف على سير العملية التعليمية والأكاديمية والبحثية لطلاب الدراسات العليا، والتنسيق مع عمادة الدراسات العليا في المواضيع ذات الصلة. كما تشرف الوكالة على تطوير قدرات الكلية في مجال البحث العلمي، سعيًا لأن تكون الكلية منبرًا علميًا مرموقًا يقدم المعرفة والابتكار بمستوى عالٍ من الجودة والإتقان. بالإضافة إلى ذلك، تعمل الوكالة على تطوير برامج الدراسات العليا في الكلية وفقًا للمعايير المحلية والعالمية، وتقديم الدعم للأقسام الأكاديمية لتطوير برامجها البحثية. و تحرص الوكالة على توفير بيئة تعليمية وبحثية متكاملة تتيح للطلاب والباحثين تحقيق إمكانياتهم الكاملة والإسهام في إثراء المعرفة العلمية، مما يعزز دور الجامعة في تقديم حلول مبتكرة ومؤثرة تسهم في تطوير المجتمع .
د. اسراء بنت محمد الطريقي
وكيلة الكلية للدراسات العليا و البحث العلمي
Subscribe to
|