Upload
vuongthu
View
238
Download
8
Embed Size (px)
Citation preview
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 1
KINGDOM OF SAUDI ARABIA MINISTRY OF HIGHER EDUCATION
JAZAN UNIVERSITY
COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS
DEPARTMENT OF COMPUTER SCIENCE
NATIONAL COMMISSION FOR ACADEMIC
ACCREDITATION & ASSESSMENT
(NCAAA)
B.Sc. (COMPUTER SCIENCE) PROGRAM
COURSE SYLLABI IN NCAAA FORMAT
EDITION - 2
ACADEMIC YEAR 2008 - 2009
(FIRST SEMESTER ONWARDS)
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 2
TABLE OF CONTENTS # LEVEL COURSE CODE AND COURSE NAME PAGE NO.
1 1 101CSC-3 - Introduction to Computer 3
2 2 011COMP-3 - Programming 1 4
3 3 112COMP-3 - Programming 2 5
4 4
114COMP-3 - Programming of Statistics and Probabilities 6
5 151COMP-3 - Computational Geometry 7
6
5
213COMP-3 - Object Oriented Programming 8
7 221COMP-3 - Algorithms & Data Structures 1 9
8 252COMP-3 - Data Modeling and Simulation 10
9
6
222COMP-3 - Algorithms & Data Structures 2 11
10 231COMP-3 - Operating System 12
11 241COMP-3 - Artificial Intelligence 13
12
7
323COMP-3 - Analysis & Design of Algorithms 14
13 COMP 324 - Computer Data Security and Privacy 15
14 3COMP-3** - Elective 1 22-28
15
8
332COMP-3 - Advanced Operating Systems 16
16 336COMP-3 - Computer Graphics 17
17 390COMP-3 - Summer Training 18
18 9 4COMP-3** - Elective - 2 29-34
19
10
433COMP-3 - Theory of Compilers 19
20 442COMP-3 - Artificial Neural Network 20
21 495COMP-3 - Final Project 21
ELECTIVE - 1
1
7
3COMP-3** - Visual Programming 22
2 3COMP-3** - Unix and Shell Programming 23
3 3COMP-3** - Cryptographic Techniques 24
4 3COMP-3** - Operating System Pragmatics 25
5 3COMP-3** - Fuzzy logic 26
6 3COMP-3** - Graph Theory and Application 27
7 3COMP-3** - Java Programming 28
ELECTIVE - 2
1
9
4COMP-3** - Game Programming 29
2 4COMP-3** - Web Technology 30
3 4COMP-3** - Advance Algorithm Design and Analysis 31
4 4COMP-3** - Real Time System 32
5 4COMP-3** - Genetic Algorithm 33
6 4COMP-3** - Computer Vision 34
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 3
Course Name Introduction to Computer Course Code 101COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 1 Prerequisites None
Course Description:
This course is the fundamental course and introduces the fundamental features of computer. It includes the
basics of computer’s hardware, software, types of computer, peripherals, input output devices, computer
network, computer users/client, a simple computer architecture, storage devices, internet, operating system
and data representation.
Course Objectives:
On completion of the course, students will:
(a) Identify the basics of computing
(b) Apply the data types and data representation
(c) Describe the simple Computer Architecture
(d) Critically analyze the different types and features of computers
(e) Explain the concept of the Computer Networks
Grading Exam1 – 10% Exam2 – 10% Quizzes - Assignment 20%
Final 40% Lab 20% Mini Project -
Text Book:
Understanding Computers today and tomorrow, Deborah Morley, Charles S. Parker, Course Technology,
Cengage Learning, 15th
Edition, 2015, ISBN: 9781285767277
Reference Books:
(i) Foundations of Computer from Data Manipulation to Theory of Computation, Behrouz A. Forouzan,
Thomson Learning, 2nd Edition, 2016, ISBN: 9781844807000.
(ii) Algorithmics: The Spirit of Computing, David Hael and Yishai Feldman, Addison-Wesley, 3rd Edition,
2004, ISBN: 978-0321117847.
(iii) An Introduction to Computer Studies, Noel Kalicharan, Cambridge University Press, 1st Edition, 2001,
ISBN 0521586852.
(iv) Introduction to Computing for Engineers, Raymond P. Canale, McGraw-Hill, 3rd Edition, 2000, ISBN:
0079116094
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 4
Course Name Programming 1 Course Code 011COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 2 Prerequisites None
Course Description:
This knowledge area consists of skills and concepts that are essential to programming practice, independent
of the underlying paradigm and programming language for the beginners. Specific topics covered include: An
Overview of Computers and Programming Languages, Basic Elements of C++, Input / Output Statement,
C++ Program, Data Types, Variables, Arithmetic Operators, Control Structures I, II & III, Arrays and
definition of Strings & Functions.
Course Objectives:
On completion of the course, students will:
(a) Understand the basic concepts of computer programming.
(b) Explain different methods of programming approaches.
(c) Implement various techniques and their algorithms.
(d) Know the strengths and importance of programming in computer profession.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 10%
Final 40% Lab 20% Mini Project 20%
Text Book:
Programming with C++, John R. Hubbard, Schaum’s Outlines, 2nd Edition, 2002, ISBN-063-9785316732
Reference Book:
C++ How to program, Paul Deital & Harley Deital, Prentice Hall, 9th Edition, 2014, ISBN-0133378713
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 5
Course Name Programming 2 Course Code 112COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 3 Prerequisites 011COMP-3 – Programming 1
Course Description:
This course is in continuation of the Programming Language-1 course using the C++ language. This course is
intended to empower students with the skills of problem solving in the context of programming. It is very
easy to learn and wears well as one's experience with it grows. Topics include the basic concepts of
functions, recursion, single and multidimensional arrays, pointers and file processing.
Course Objectives:
On completion of the course, students will:
(a) Explain the issues involved in the programming language design and implementation;
(b) Illustrate various parameter passing in functions also design and implement programs for functions
with different parameters.
(c) Design and implement simple programs using single dimensional and multi-dimensional arrays
(d) Explain the basics of pointers also implement programs for file creation, reading and updating
data by using sequential file.
(e) Describe the concept of file processing also design programs for file creation, reading and
updating data by using sequential file.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Laboratory 20% Mini Project 20%
Text Book:
C++: How to Program, H.M. Deitel and P.J. Deitel, Prentice Hall, 5th
edition, 2005, ISBN: 0131857576
Reference Books:
(i) Programming with C++, John R. Hubbard, Schaum’s Outlines Series, 2nd edition, 2000, ISBN:
100071353461
(ii) Problem solving with C++: The object of programming / C++ (Computer program language) Walter
Savitch, Addison-Wesley, Boston: 5th
Edition, 2000, ISBN: 10: 0321268652
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 6
Course Name Computational Geometry Course Code 151COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 4 Prerequisites None
Course Description:
This is an introductory course to computational geometry and its applications. We will discuss techniques
needed in designing and analyzing efficient algorithms for problems in geometry, including convex hulls,
geometric intersections, Voronoi diagrams, Delaunay triangulations, geometric data structures, and motion
planning.
Course Objectives:
On completion of the course, students will:
(a) Explain the basic algorithm design techniques in computational geometry.
(b) Design and Implement the basic algorithmic techniques in computational geometry.
(c) Distinguish and analyze efficient algorithms techniques for solving geometric problems
(d) Analyze efficient algorithmic techniques for solving geometric problems.
(e) Describe the basic knowledge of geometric intersections and Voronoi diagrams.
(f) Explain the Delaunay triangulations and motion planning
Grading Exam1- 10% Exam2 - 10% Quizzes 20% Assignment 20%
Final 40% Laboratory - Mini Project -
Text Book:
Computational Geometry: Algorithms and Applications, M. de Berg, O. Cheong, M. Van Kreveld and M.
Overmars, 3rd Edition, Springer-Verlag, 2008, ISBN: 978-3-540-77973-5
Reference Books:
(i) Computational Geometry in C, J. O'Rourke, 2nd Edition, Cambridge University press, 1998, ISBN:
978-0521649766.
(ii) Discrete and Computational Geometry, S. L. Devadoss and J. O'Rourke, Princeton University Press,
2011, ISBN: 9780691145532.
(iii) Computational Geometry and Computer Graphics in C++, M. J. Laszlo, Pearson Education, 1995,
ISBN 0132908425.
(iv) Computational Geometry: An Introduction, F. P. Preparata & M. Shamos, Springer-Verlag, 1993,
ISBN 978-1-4612-1098-6.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 7
Course Name Programming of Statistics & Probabilities Course Code 114COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 4 Prerequisites None
Course Description:
This course provides an elementary introduction concepts and methods of statistics, including variability,
randomness, and probability with applications. Topics include: different types of counting techniques, basics
of set theory, random variables, probability distributions, conditional probability and independence, Bayesian
inference, hypothesis testing, confidence intervals, and linear regression.
Course Objectives:
On completion of the course, students will:
(a) Use statistical methodology and tools in problem-solving process.
(b) Compute and interpret descriptive statistics using numerical and graphical techniques.
(c) Know the basic concepts of probability, random variables, probability distribution, and joint
probability distribution.
(d) Compute point estimation of parameter, explain sampling distributions and explain the central limit
theorem.
(e) Construct confidence intervals on parameters for a single sample.
(f) Calculate probabilities and derive the marginal and conditional distributions of bivariate random
variables.
Grading Exam1-10% Exam2-10% Quizzes 20% Assignment 20%
Final 40% Laboratory - Mini Project -
Text Book:
Introduction to Probability and Statistics, William Mendenhall, Robert J. Beaver and Barbara M. Beaver,
14th Edition, MIT Press, ISBN: 9781133103752
Reference Books:
(i) Probability, Markov Chains, Queues, and Simulation: The Mathematical Basis of Performance
Modeling, William J. Stewart, 1st Edition, Princeton University Press, 2009, ISBN: 9780691140629.
(ii) A First Course in Probability, Sheldon Ross, 8th Edition, Pearson Prentice Hall Publication, 2008,
ISBN: 9780136033134.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 8
Course Name Object Oriented Programming Course Code 213COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 5 Prerequisites 112COMP-3 - Programming 2
Course Description:
Specific topics covered include: Fundamental concepts of object oriented (Classes, Methods, Instantiation,
Communication by message, Encapsulation, Inheritance, Method Overriding, Dynamic dispatch,
Polymorphism), Advanced techniques of OOP (Packages, Exception Handling, Multithreaded Programming).
Course Objectives:
On completion of the course, students will:
(a) Identify the class, objects and instances of the class.
(b) Explain the principles of the object oriented programming paradigm specifically including
abstraction, encapsulation, inheritance and polymorphism.
(c) Know an object oriented programming language to develop object oriented programs.
(d) Design, develop, test, and debug programs using object oriented principles.
(e) Apply OOP techniques of: information hiding and encapsulation, inheritance, interfaces and
polymorphism.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Laboratory 20% Mini Project 30%
Text Book:
JAVA: The complete reference, Herbert Schildt, McGraw-Hill, 8th Edition, 2011, ISBN: 978-0-07-163177-8
Reference Book:
Java: How to Program, Paul Deitel and Harvey Deitel, 9th
Edition, Prentice Hall, 2012, ISBN: 0132575663
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 9
Course Name Data Modeling & Simulation Course Code 252COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 5 Prerequisites 114COMP-3 -Programming of Statistics & Probability
Course Description:
This course provides an overview of models and simulations and of modeling and simulation techniques.
Techniques include time-driven, event-driven dynamic models/simulations and Monte Carlo Simulation.
Classification of models: discrete or continuous, stochastic or deterministic, static or dynamic. The course
also provide thorough understanding of random number generation, Queuing models, Simulation of queuing
systems, inventory systems input modelling and verification & validation of simulation models.
Course Objectives:
On completion of the course, students will:
(a) Demonstrate knowledge and understanding of the core ideas of discrete event modeling and
simulation.
(b) Design and implement a simulation model of queuing system.
(c) Analyze the performance of queuing and inventory system through manual and computer
simulation.
(d) Develop models to collect and analyze input data.
(e) Apply techniques of random number generation and randomness testing.
(f) Use Simulation software/packages to solve real time problem
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Discrete-Event System Simulation, Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol, 4th
Edition, Pearson Education, 2009, ISBN-13: 978-0136062127
Reference Book:
Simulation modeling Handbook: A practical approach, Chris chung and Christopher A. chung, 2nd Edition,
CRC Press, 2003, ISBN: 0849312418.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 10
Course Name Algorithms & Data Structures 1 Course Code 221COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 5 Prerequisites 112COMP-3 - Programming 2
Course Description:
This course mainly deals with the theoretical as well as practical implementation of abstract data types (linear
data structures like Arrays, Stack, Queues and Linked Lists.). It also covers algorithm design architecture and
asymptotic complexity (Iterative & Recursive) to problem areas such as searching and sorting.
Course Objectives:
On completion of the course, students will:
(a) Knowledge of various data structures.
(b) List Strengths and weaknesses of different data structures based on design.
(c) Development of linear data structures using C++.
(d) Apply appropriate data structures for given problems.
(e) Calculate the efficiency of algorithms.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
ADTs Data Structures and Problem Solving with C++, Larry Nyhoff, 2012, Prentice Hall, Second Edition,
97888131764701
Reference Book:
Data Structures with Java, William H. Ford and William R. Topp, 2005, Prentice-Hall, 1st Edition,
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 11
Course Name Operating System Course Code 231COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 6 Prerequisites 214CNET-3 – Computer Organization and Architecture
Course Description:
This course includes a detailed description about operating system objectives, functions, use and place in
modern society. The other topics include operating systems principles, file management systems, memory
management, processes and threads, scheduling algorithms and deadlocks.
Course Objectives:
On completion of the course, students will:
(a) Explain the objective, functions of operating systems, and different computer architectures leading to
the development of modern operating systems.
(b) Compare and contrast different approaches to file organization and storage management, recognizing
the strengths and weaknesses of each.
(c) Explain the differences between process and thread, user mode and kernel mode, and analyze
interrupt processing, dispatching and context-switch.
(d) Evaluate the performance of various scheduling algorithms with suitable applications.
(e) Demonstrate the potential run-time problems arising from the concurrent operation of many separate
tasks.
(f) Analyze the different ways of allocating memory to tasks, compare and contrast paging and
segmentation techniques and page replacement algorithms.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Operating Systems: Internals and Design Principles, William Stallings, Pearson, 8th Edition, 2014, ISBN-13:
9780133805918.
Reference Book:
Operating System Concepts, Abraham Silberschatz et. al., Wiley, 9th Edition, 2012, ISBN: 9781118-06333-
0.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 12
Course Name Algorithms & Data Structures 2 Course Code 222COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 6 Prerequisites 221COMP-3 - Algorithms & Data Structures 1
Course Description:
The course teaches basic techniques for data abstractions, access algorithms, and manipulation of the abstract
structure, as well as an introduction to complexity analysis of space and time allocation in implementing the
algorithms. The topics covered are: Abstract Data Type Concept, Linear Data Model: arrays and dynamic
lists, hierarchical Data model, Binary tree, Heap, Binary Search Tree, AVL-Tree, Graph Model, Hashing,
Searching and Tracing Algorithm, Garbage Collection and Memory Management.
Course Objectives:
On completion of the course, students will:
(a) Give examples of fundamental data structures and some reasonable applications.
(b) Know the mechanics and apply fundamental computing algorithms related to the data structures.
(c) Analyze problems and design different solutions for particular problems and explain the use of data
structures with verity of techniques.
(d) Experimentally and analytically determine the time complexity of various algorithms.
(e) Discuss the concepts of garbage collection and memory management.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Laboratory 20% Mini Project 20%
Text book:
Data Structures and Algorithms in C++, Adam Drozdek, 3rd Edition, Course Technology, 2005, ISBN:
0534491820
Reference book:
Data Structures and Algorithms in C++, Michael Goodrich, Roberto Tamassia, 2nd Edition, John Wiley,
2004, ISBN: 0471202088
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 13
Course Name Artificial Intelligence Course Code 241COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 6 Prerequisites None
Course Description:
This course offers basic concepts of the Intelligence, Innovative, achievements and advance development
areas of AI. It covers modern techniques for computers to represent task-relevant information and intelligent
decisions system, solving problems by searching towards the achievement of goals. It covers some advanced
topics namely Machine Learning, Planning, Neural networks and Multi-Agent Systems basics.
Course Objectives:
On completion of the course, students will:
(a) Explain basic concepts of the Intelligence, Artificial Intelligence and innovative achievements in the
development of AI advancement.
(b) Identify, formulate and solving AI problem.
(c) Apply DFS, BFS, Heuristic function, bidirectional search greedy search and A* search.
(d) Design and implement the concepts of game playing.
(e) Identify the techniques in machine learning, such as decision tree induction and artificial neural
networks.
(f) Know and integrate various artificial intelligence techniques in intelligent system development and
maintaining intelligent systems.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig, 2nd Edition, Prentice Hall,
2003, ISBN: 0-13-103805
Reference Books:
(i) Artificial Intelligence Illuminated, Coppin B, 1st Edition, Jones and Bartlett Publishers, 2004,
ISBN: 978-0763732301
(ii) Fundamentals of the New Artificial Intelligence. Neural, Evolutionary, Fuzzy and More, Toshinori
Munakata, 2nd Edition, Springer, 2008, ISBN: 978-1846288398
(iii) Artificial Intelligence A Systems Approach, 1st Edition, Tim Jones, Infinity Science Press LLC, 2008,
ISBN: 978-0763773373
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 14
Course Name Analysis & Design of Algorithms Course Code 323COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites 221COMP-3 – Algorithms & Data Structures 1
Course Description:
This course includes both algorithms and complexity, the main purpose is to provide students with techniques
for designing and analyzing algorithms. The topics include algorithm design paradigms like Brute-force;
greedy; divide-and-conquer; backtracking; branch-and-bound; heuristics; pattern matching and string/text
algorithms; numerical approximation; depth first and breadth first traversals; shortest-path algorithms;
transitive closure; minimum spanning tree; topological sort; P and NP classes, NP-completeness, reduction
techniques; randomized algorithm, dynamic programming and combinatorial optimization.
Course Objectives:
On completion of the course, students will:
(a) Describe the notion of algorithms, fundamental of algorithm solving and data structures.
(b) Design and analyze different design strategies of algorithms like divide-and-conquer, Decrease
and Conquer, transform-and-conquer and compare performance of various Algorithms.
(c) Implement shortest path algorithms, minimum spanning tree algorithm and transitive closure using
Warshall’s algorithm and their performance.
(d) Effectively apply computer programming languages, programming paradigms and Design
patterns.
(e) Discover the limitation of algorithm power as P, NP and NP-complete problem.
(f) Know the advanced and modern topics and mathematical and scientific principles Relevant to
computer science.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Laboratory 20% Mini Project 20%
Text Book:
Introduction to the Design and Analysis of Algorithm, Anany Levitin, 2011, 3rd Edition, Pearson/Addison-
Wesley, ISBN-10: 0132316811
Reference Books:
(i) Introduction to Algorithms, Thomas H. Cormen, Charles E Leiserson, and Ronald Rivest, 2nd Edition,
MIT Press, 2009, ISBN: 978-0262033848
(ii) The Design and Analysis of Computer Algorithms, by Aho, Hopcroft & Ullman, 2nd Edition, Pearson
Education, 2003, ISBN: 9780201000290
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 15
Course Name Computer Data Security and Privacy Course Code 324COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites 331CNET-3 - Computer Networks
Course Description:
This course provides an integrated, comprehensive and up-to-date coverage of topics in Computer Security.
The list of topics covers the basics of Computer Security, Cryptographic Tools, User Authentication, Access
Control, Database Security, Malicious Software, Denial-of-Service Attacks, Intrusion Detection, Firewalls
and Intrusion Prevention Systems, Buffer Overflow, Software Security and Operating System Security.
Course Objectives:
On completion of the course, students will:
(a) Define the basic concepts and goals of Information Security and explain their relevance in various
contexts.
(b) Compare a range of access control and authentication mechanisms for several application scenarios.
(c) Analyze and implement cryptographic mechanisms and protocols.
(d) Assess the literature in the field of Information Security and apply the outcomes to plan, evaluate and
develop individual as well as small group reports.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Computer Security Principles and Practice, William Stallings and Larry Brown, 2nd Edition, Prentice Hall,
2012, ISBN: 978-0-13-277506-9.
Reference Books:
(i) Security in Computing, Charles P. Pfleeger & Shari Lawrence Pfleeger, 4th
Edition, Prentice Hall, 2006,
ISBN: 0132390779.
(ii) Elementary Information Security, Richard E. Smith, 2nd
Edition, Jones & Bartlet Learning, 2015, ISBN:
1284055930.
(iii) Computer Security: Art and Science, Matt Bishop, 1st Edition, Addison-Wesley, 2002, ISBN:
9780201440997.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 16
Course Name Computer Graphics Course Code 336COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 8 Prerequisites 221COMP-3 - Algorithms & Data Structures 1
Course Description:
An introduction to Computer Graphics theory and applications will be covered. Topics may include
Fundamentals of computer graphics programming, Graphics hardware and software standards, 2D geometric
primitives and raster images, 3D object representations. Data structures, algorithms, graphics pipeline and
Graphical user interfaces. Underlying concepts in computer graphics systems including games, animation,
modeling, rendering, and paint systems.
Course Objectives:
On completion of the course, students will:
(a) Explain the difference between vector graphics and raster graphics.
(b) Describe mapping of two-dimensional objects from the window to viewport.
(c) Analyze and demonstrate two-dimensional transformations such as translation, scaling and rotation.
(d) Discuss with mathematical equations how three dimensional objects in the world coordinate system
are mapped to a two dimensional viewport.
(e) Analyze and implement transformations such as translation, rotation and scaling for three
dimensional objects with homogeneous coordinate system.
(f) Identify the concept of viewing pyramid and projection methods such as perspective projection and
parallel projection and create a program using OpenGL graphics.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Lab 20% Mini Project 20%
Text Book:
Computer Graphics with OpenGL, Donald Hearn, M. Pauline Baker, 3rd Edition, Pearson Education Inc.,
2009, ISBN: 978-81-317-2738-6.
Reference Book:
Fundamentals of Computer Graphics, Peter Shirley, 3rd Edition, A K Peters/CRC Press, 2011, ISBN:
9781568814698
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 17
Course Name Advanced Operating Systems Course Code 332COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 8 Prerequisites 231COMP-3 - Operating Systems
Course Description:
This course introduces the detailed description about distributed system principles and applications, uses and
place in modern society. The other topic includes distributed systems, synchronization, concurrency,
distributed scheduling algorithms, case studies and distributed file systems.
Course Objectives:
On completion of the course, students will:
(a) Identify, formulate, and solve distributed systems problems, recent methodologies and techniques
used in the related field and their trade-offs.
(b) Identify, formulate, and solve real time applications in distributed systems.
(c) Implement various techniques, skills for how to maximize the utilization and increasing the
performance of a computer.
(d) Recognize the need of distributed systems.
(e) Describe Real time applications of distributed systems.
(f) Write the functional differences between Windows and Linux operating systems.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Laboratory 20% Mini Project 20%
Text Book:
Distributed Systems Principles and Paradigms, Andrew Tanenbaum et. al., 2nd Edition, Pearson, 2007,
ISBN: 978-0132392273
Reference Book(s):
(i) Operating Systems: Internals and Design Principles, William Stallings, 2014, Pearson, 8th edition,
ISBN-13: 9780133805918.
(ii) Modern Operating Systems, Andrew S. Tanenbaum, 2014, Pearson, 4th
edition, ISBN:
9780133591620
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 18
Course Name Summer Training Course Code 371COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 8 Prerequisites None
Course Description:
Students’ education must be appropriate to their strengths, interests, and needs, and must prepare them for the
future. Summer Training course help students to acquire knowledge and skills and to apply this learning in
practical situations. This course takes the expectations of the related course and expands and extends them
through the workplace setting. It will help the students to see the relationship between the curriculum and the
world beyond the institution. This practical experience will assist them in making successful transitions to
apprenticeship programs, graduation project design and implementation or directly to the workplace.
Course Objectives:
On completion of the course, students will:
(a) Recognize and apply appropriate security and safety measures to create a safe work environment.
(b) Demonstrate and recognize the basic key concepts in computer operations and service facilities.
(c) Determine leadership and employability skills through effective written and oral communication;
commitment to quality; interpersonal skills; work habits and attitudes; attendance and punctuality,
professionalism and business ethics.
(d) Conduct a job search through career research creating a resume and cover letter, completing a job
application and participating in mock interviews.
(e) Recognize and act appropriately in response to different personality styles, body language,
generational and cultural differences.
(f) Establish competency in the installation of software, the configuration in Computer laboratory and
develop success tools in IT departments.
Grading Exam - Quizzes - Assignment -
Final Presentation 100% Laboratory - Mini Project -
Text Book:
Summer Training Handbook, Faculty of Computer Science and Information Systems, Jazan University,
Kingdom of Saudi Arabia, 2015.
Reference Book:
Policy and Procedures for Summer Training, Quality Assurance Unit, Faculty of Computer Science and
Information Systems, Jazan University, Kingdom of Saudi Arabia, 2015.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 19
Course Name Theory of Compilers Course Code COMP 433
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 10 Prerequisites None
Course Description:
This course presents an introduction to compilers phases –analysis, synthesis, lexical analysis (lexical
tokens, regular expressions, finite automata -DFA and NFA, lexical analyzer generator), parsing (context-free
grammar, top-down parsing -recursive descent and LL(K), bottom-up parsing –operator precedence, SLR,
LALR-, syntax analyzer generator -YACC/Bison), semantic analysis (semantic actions, symbol table, type
checking), intermediate code generator (IC language, run-time environment -storage organization), code
generation (target machine language), code optimization.
Course Objectives:
On completion of the course, students will:
(a) Define the phases of a typical compiler, including the front and back-end.
(b) Identify tokens of a typical high-level programming language; define regular expressions for
tokens; implement a lexical analyzer using a typical scanner generator.
(c) Explain the role of a parser in a compiler and relate the yield of a parse tree to a grammar
derivation; design and implement a parser using a typical parser generator.
(d) Apply an algorithm for a top-down or a bottom-up parser construction; construct parser for a small
context-free grammar.
(e) Describe the purpose of translating to intermediate code based on given code patterns with possible
code optimization techniques.
(f) Design and implement a code generator based on the given optimized codes.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Compilers: Principles, Techniques and Tools, Alfred V. Aho. Jeffrey D. Ullman, Ravi Sethi and Monica S.
Lam, 2nd edition, Pearson Education, 2007, ISBN: 0321486811.
Reference Books:
(i) Compiler Design in C, Allen I. Holub, 3nd Edition, Prentice Hall of India, 2006, ISBN:
9788120307780
(ii) Engineering a Compiler, Keith Cooper, Linda Torczon, 2nd edition, ISBN-978-120884780, 2011,
ISBN: 012088478X.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 20
Course Name Artificial Neural Network Course Code 442COMP-3
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 10 Prerequisites 241COMP-3 - Artificial Intelligence
Course Description:
This course provides an introduction to artificial neural networks. It reviews biological neural networks, and
presents a general framework to construct their mathematical models with a view to study their applications.
It gives a historical view to the McCulloch-Pitts model, application of Rosenblatt’s Perceptron learning
model in both linear and non-linear classification problems, and the Widrow-Hoff’s ADALINE model. It
discusses important issues in the design, training, trouble shooting, and testing of neural network
applications.
Course Objectives:
(a) Identify the main concepts and application developments of Artificial Neural Network.
(b) Evaluate different algorithms of ANN.
(c) Design and implement the real model of ANN.
(d) Implement various techniques, and apply in implementing simple applications in frequent patterns
and classification approaches of ANN.
(e) Know the strengths and weaknesses and apply in implementing simple applications in cluster
analysis.
(f) Discover the knowledge of research literature on neural networks and analyze the new work into the
model.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Neural Networks: A Comprehensive Foundation, Simon Haykin, 3rd Edition, 2007, Prentice Hall, ISBN:
0131471392
Reference Books:
(i) Fundamentals of Artificial Neural Networks, Mohamad H. Hassoun, 2nd Edition, MIT Press,
2003, ISBN: 9780262514675.
(ii) Artificial Neural Networks, Yegnanarayana, Prentice-Hall, 2nd Edition, 2004, ISBN: ISBN-
13: 978-8120312531.
(iii) Neural Networks and Learning Machines: A Comprehensive Foundation, Simon Haykin, 3rd
Edition, Prentice Hall, 2008, ISBN: 978-0131471399.
(iv) Computational Intelligence: Principles, Techniques and Applications, Amit Konar, 2nd Edition,
Springer-Verlag Berlin Heidelberg, 2005, ISBN: 9783540273356.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 21
Course Name Final Project Course Code COMP 495
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 10 Prerequisites COMP 381 - Software Engineering
Course Description:
This is a capstone course emphasizes team collaboration and application of modern software engineering
approaches to software construction. The development by each team of an original, industry strength
software product is the main objective of the course. The instructors will present lectures on the Unified
Modeling Language (UML) and its application to object-oriented analysis and design and the teams will
report on their project’s progress by giving presentations and submitting deliverables related to the project.
The teams will deliver and present project parts at the following stages: topic proposal (concept), software
specification (requirements), design (model), and implemented software (final product). At the beginning of
the semester the teams will set up web sites for their projects, web sites that will be then updated regularly to
reflect the projects’ progress. At the end of the semester there will be a public Senior Projects Workshop with
project presentations, demos & posters.
Course Objectives:
On completion of the course, students will:
(a) Collaborate on a team project to deliver an industry-strength application and will extend their
knowledge of requirements elicitation and specification, software design, implementation, and
integration. Also, they will increase their ability to work towards accomplishing project goals as team
members.
(b) Enhance the skills of communicating project requirements and designs with software engineers and
other project stakeholders in a standardized manner, using the UML (Unified Modeling Language) for
software development.
(c) Know how to communicate project specifications, designs, and implementations in both writing and
speaking.
(d) Present the completed project work to an audience of varied technological background.
Grading Exam1 20% Pre-presentation 40% Assignment -
Final 40% Laboratory - Mini Project -
Text Book:
UML and the Unified Process: Practical Object-Oriented Analysis and Design, Jim Arlow's and Ila
Neustadt's, 2nd Edition, Addison Wesley, 2002, ISBN: 0201770601.
Reference Book:
The Design of Everyday Things, Donald A. Norman and Peter Berkrot, 2nd Edition, Tantor Publishers, 2002,
ISBN: 0465067107
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 22
ELECTIVE - 1 Course Name Visual Programming Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites 213COMP-3 – Object Oriented Programming
Course Description:
This course introduces the .Net framework and Visual C# language basic concepts (Statements, Exceptions,
Methods, Arrays, Class, Objects, Interface, and Namespaces) to develop windows applications. This course
also covers C#’s event driven programming concepts, windows forms, controls, multithreading, data
handling. Also introduces the Web Application development with ASP.NET.
Course Objectives:
On completion of the course, students will:
(a) Define the .NET Framework and its components.
(b) Identify the difference between procedural language and even-driven language.
(c) Analyze syntactically correct statements using Visual C# programming language.
(d) Design and validate Graphical User Interface.
(e) Apply the principles of event-driven programming.
(f) Integrate the Window Forms, controls with data source using ADO.NET and develop window based
project using C#.
Grading Exam1-10% Exam1-10% Quizzes - Assignment -
Final 40% Lab 20% Mini Project 20%
Text Book:
Visual C# 2012 How to Program, International Edition, Harvey Deitel and Paul Deitel , Pearson, 5th Edition ,
2013, ISBN: 9780273793304
Reference Books:
(i) C# 3.0: The Complete Reference, Herbert Schildt, 3rd Edition, McGraw Hill, 2009, ISBN:
9780071598422.
(ii) ADO.NET 4 database programming with C#, Ged Mead & Anne Boehm, 4th Edition, Murarch
Publication, 2011, ISBN: 9781890774639.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 23
Course Name Unix and Shell Programming Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites COMP 331 - Computer Networks
Course Description:
The course begins by introducing Unix System kernel and utilities, File & Directories, Simple & Compound
statements, Command libraries. Unix System Administration is also covered which includes File system
mounting, System booting and shutting down, handling user account, terminals, printers and modems. The
course also introduces different tools and debugger which include system Development Tool, Lex and M4,
text formatting, tools troff, Debugger, Dbx, Adb and Ctrace. The course then covers Unix Shell
Programming, which includes Bourne shell, Korn shell and C shell, Shell meta characteristics, Shell variable
and scripts, integer and strings.
Course Objectives:
On completion of the course, students will:
(a) Apply effectively computer programming languages, programming paradigms and design patterns,
operating systems and computer organization concepts to the design, implementation, analysis, and
evaluation of computer-based systems
(b) Install of the Linux operating system
(c) Solve shell scripting problems by successfully designing, coding and executing shell scripts which
utilize the advanced scripting methods introduced in this class.
(d) Perform basic UNIX OS administration tasks.
(e) Read-understand-write short scripts in a UNIX shell
(f) Use UNIX programming tools: compilers, make utility, debugger, profiler, version control.
Grading Exam1-10% Exam2-10% Quizzes - Assignment -
Final 40% Lab 20% Mini Project 20%
Text Book:
Unix Shell Programming, Kochen and Wood, 3rd Edition, SAMS Publications, 2003, ISBN: 978-
0672324901
Reference Books:
(i) Unix System Administration, Fileder and Hunter, 2nd Edition, Prentice Hall, 2002, ISBN: 0130308978
(ii) UNIX: Concepts and Applications, Sumitabha Das, 4th Edition, McGraw Hill, 2006, ISBN:
9780070635463
(iii) UNIX and Shell Programming, Behrouz A. Forouzan and Richard F. Gilberg, 2nd Eiditon, Thomson,
2005, ISBN: 9780534951597
(iv) Unix & Shell Programming, M.G. Venkateshmurthy, 1st Edition, Pearson Education, 2005, ISBN:
9788177587456
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 24
Course Name Cryptographic Techniques Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites 206MATH-3 - Discrete Mathematics
Course Description:
This course is an introductory course to modern cryptography and information security. It focuses on how
cryptographic algorithms and protocols work and how to use them. The course covers the following topics:
Principles of cryptography, classical ciphers and general cryptanalysis, Symmetric primitives: Modern
encryption methods and secure hashing, Public key cryptography: Key exchange, asymmetric encryption and
digital signatures, Advanced applications: protocols, key management and special cryptographic services,
Throughout the course we will develop a good understanding of all commonly used encryption schemes and
other services that can be provided by modern cryptography.
Course Objectives:
On completion of the course, students will:
(a) Explain the concepts and technical terms related to cryptography and data security.
(b) Adopt and make use of the concepts of message authentication and hash functions in cryptographic
applications such as digital signature.
(c) Explain and differentiate between the various cryptographic schemes such as symmetric encryption,
asymmetric encryption, authentication, key distribution and key management.
(d) Analyze the security of some simple cryptographic schemes.
(e) Implement simple cryptographic schemes.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Lab 20% Mini Project -
Text Book:
Cryptography: An Introduction, Nigel Smart, 3rd Edition, McGraw Hill, 2004, ISBN: 9780077099879
Reference Books:
(i) Understanding Cryptography, Paar, Christof, Pelzl, Jan, 2nd Edition, Springer, 2010, ISBN:
3642041000.
(ii) Introduction to Modern Cryptography: Principles and Protocols, Katz, Lindell, 1st Edition,
Chapman & Hall/CRC, 2007, ISBN: 1584885513.
(iii) Handbook of Applied Cryptography: Menezes, van Oorschot and Vanstone, 5th Edition, CRC
Press, 2001, ISBN: 978-8189836122.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 25
Course Name Operating System Pragmatics Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites 231COMP-3 - Operating System
Course Description:
The application of operating system principles is to the design and implementation of a multitasking
operating system. The students will write an operating system for a computer platform. Topics include:
scheduling of processes, control and allocation of computer resources, and user interfacing.
Course Objectives:
On completion of the course, students will:
(a) Develop solid and thorough understanding of the design and implementation of contemporary
operating systems.
(b) Provide students with practical experience of coding a working OS kernel and other OS
components.
(c) Present software development techniques: source code control, team work, effective use of
development tools.
(d) Effectively relates security and vulnerability issues into designs and implements solutions.
(e) Know the tools for embedded system development.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Lab 20% Mini Project -
Text Book:
Building your first Operating System, Brian Witt and John Clevenger, CSUS Foundation, 2010.
Reference Book(s):
(i) SPEDE Lab Manual, John Clevenger et al., CSUS Foundation, 2010.
(ii) Programming Embedded Systems in C and C++, Michel Barr, 1st Edition O’Reilly and Associates
1999, ISBN: 978-1565923546
(iii) Debugging with GDB, Stallman & Pesch, Free Software Foundation, 2002, ISBN: 9781882114887
(iv) UNIX for Programmers and Users, Graham Glass, 3rd Edition Prentice-Hall , 2007, ISBN: 978-
0130465535
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 26
Course Name Fuzzy Logic Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites None
Course Description:
Fuzzy logic is a tool that can be applied to ambiguous, complicated, complex, or nonlinear systems or
problems, which cannot easily solved by classical techniques. This course discusses the fundamental of fuzzy
set theory and fuzzy logic. In addition, this course also introduces applications of fuzzy logic in several areas
such as fuzzy control and fuzzy decision making.
Course Objectives:
On completion of the course, students will:
(a) Describe and compute vague concepts using fuzzy sets and fuzzy logic.
(b) Construct fuzzy rules and perform fuzzy reasoning on them.
(c) Design some common fuzzy systems and fuzzy controllers.
(d) Illustrate the organization, design and operation of some common fuzzy systems.
(e) Use of fuzzy inference systems in the design if intelligent or humanistic systems.
(f) Apply methods and techniques of building fuzzy control system.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Fuzzy Logic with Engineering Applications, Timothy J. Ross, 3rd Edition, John Wiley Publications, 2010,
ISBN: 978-0-470-74376-8
Reference Books:
(i) Fuzzy Logic: Intelligence, Control, and Information, John Yen and Reza Langari, 1st Edition, Prentice
Hall, 1998, ISBN: 978-0135258170
(ii) Fuzzy Sets and Fuzzy Logic: Theory and Applications, George J. Klir and Bo Yuan, 1st Edition,
Prentice Hall, 1995, ISBN-13: 978-0131011717
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 27
Course Name Graph Theory and Application Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites None
Course Description:
This course will cover the fundamental concepts of Graph Theory: simple graphs digraphs, Eulerian and
Hamiltonian graphs, trees, matchings, networks, paths and cycles, graph colorings, and planar graphs.
Famous problems in Graph Theory include: the Minimum Connector Problem (building roads at minimum
cost), the Marriage Problem (matching men and women into compatible pairs), the Assignment Problem
(filling jobs with applicants), the Network Flow Problem (maximizing flow in a network), the Committee
Scheduling Problem (using the fewest time slots), the Four Color Problem (coloring maps with four colors so
that adjacent regions have different colors), and the Traveling Salesman Problem (visiting a list of cities
minimizing the traveled distance).
Course Objectives:
On completion of the course, students will:
(a) Describe several practical applications of graph theory.
(b) Select the most appropriate type of graph to represent a particular problem.
(c) Select the most appropriate data structure to represent a particular graph
(d) Design a program implementing a polynomial-time algorithm manipulating a tree
(e) Design a program implementing a polynomial-time algorithm manipulating a weighted graph
(f) Design a program that employs a graph to find an approximate solution to an NP-hard
optimization problem in polynomial
Grading Exam1-10% Exam2-10% Quizzes 20% Assignment 20%
Final 40% Laboratory - Mini Project -
Text Book:
Introduction to Graph Theory, D. West, 2nd Edition, Prentice Hall, 2011, ISBN: 0130144002
Reference Books:
(i) Modern Graph Theory, Bela Bollobas, Springer-Verlag, ISBN: 0387984887
(ii) Introduction to Graph Theory, Gary Chartrand and Ping Zhang, TMH
(iii) Introduction to Graph Theory, Robin J. Wilson, Pearson Education
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 28
Course Name Java Programming Course Code 3COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 7 Prerequisites 213COMP-3 - Object Oriented Programming
Course Description:
Object-oriented programming; event handling; abstract windowing toolkit applets, applications, Java
database connectivity; applications programming interface and javadoc. This is not an introductory
programming course. It is really a course in Java as a second language, an introduction to Java in particular
for those already familiar with object-oriented programming using C++. Some of the Java-centric topics to be
covered include layout managers, graphical components, the Java event CS model, threads, exception
handling, IO streams, and of course a useful subset of Java classes. Swing will be used to build Java
applications and applets, although some aspects of the AWT (abstract windowing toolkit) will also be
covered.
Course Objectives:
On completion of the course, students will:
(a) Learn and understand the use of the Java language for developing applications.
(b) Design, implement, test, debug, and document GUI, event-driven programs.
(c) Implement object-oriented designs using Java.
(d) Know how to design object-oriented applications.
Grading Exam1-10% Exam2 -10% Quizzes - Assignment -
Final 40% Laboratory 20% Mini Project 20%
Text Book:
Java How to Program, Paul Dietel & Harvey Dietel , Prentice Hall, 10th edition, ISBN: 0133807800
Reference Books:
(i) Core Java, Volume I-Fundamentals, 9th Edition, Cay Horstmann, Gary Cornell, Pearson Education,
2011, ISBN: 978013708189-9
(ii) Objects First With Java, A Practical Introduction Using BlueJ, 3rd Edition, Pearson Prentice-Hall, 2006,
ISBN: 013197629
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 29
ELECTIVE - 2
Course Name Game Programming Course Code 4COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 9 Prerequisites 3COMP-3** - Visual Programming
Course Description:
This course introduces basic techniques used to design and implement computer games and/or simulation
environments. Topics include a historic overview of computer games and simulators, game documents,
description and use of a game engine, practical modeling of objects and terrain, and use of audio. Physics and
artificial intelligence in games are covered briefly. Programming is based on the python/C/C# scripting
language. The course topics will be assimilated through the design of a 3D game designed and implemented
in a team environment.
Course Objectives:
On completion of the course, students will:
(a) Explain and discuss the concepts of Game programming
(b) Identify and use mechanics for game development
(c) Explain the core architectures of Game Programming
(d) Know game programming platforms, frame works and engines
(e) Acquire 3D modeling and animation, Game engines programming, Game client Programming, and
Game Server Programming
(f) Design and implement game programs
Grading Exam1 - 10% Exam2 - 10% Quizzes - Assignment -
Final 40% Lab 20% Mini Project 20%
Text Book:
Ernest Adams: Fundamentals of Game Design, 3rd Edition, Prentice Hall New Riders, 2014, ISBN-
13: 9780321929679
Reference Books:
(i) 3D Game Engine Design-A Practical Approach to Real-Time Computer Graphics: David H.
Eberly,2nd Edition, Morgan Kaufmann Publishers, Inc. San Francisco, California,2006, ISBN: 978-
0122290633
(ii) Game Engine Architecture, Jason Gregory, 2nd Edition, 2009, CRC Press, ISBN: 978-1466560017
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 30
Course Name Web Technology Course Code 4COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 9 Prerequisites None
Course Description:
This course covers the history, theory, and practice of markup languages and their associated scripting
languages. This course includes client-side web technology, such as JavaScript and server-side web
technology, such as Servlet, Java Server Pages, markup languages, such as XML, and common databases
used with web technology.
Course Objectives:
On completion of the course, students will:
(a) Design and implement web pages that comply with current HTML standards
(b) Evaluate the impact and application of ongoing HTML and accessibility standards
(c) Design and develop styled web pages for Cascading Style Sheets (CSS)
(d) Evaluate and apply modern website design factors in the area of Web technology, Internet
marketing, usability and accessibility
(e) Evaluate client-side and server-side web development technology
(f) Develop server-side scripts for three-tier web applications, analyze business logic and database
operations
Grading Exam1 - 10% Exam2 - 10% Quizzes - Assignment -
Final 40% Lab 20% Mini Project 20%
Text Book:
Web Technologies: A Computer Science Perspective, Jeffrey C. Jackson, 1st edition, Pearson Education,
2011, ISBN: 9780131856035
Reference Books:
Web Programming: Building Internet Applications, Chris Bates, 3rd Edition, John Wiley, 2006, ISBN:
9780470017753.
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 31
Course Name Advanced Algorithm Design & Analysis Course Code 4COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 9 Prerequisites 323COMP-3 - Analysis & Design of Algorithms
Course Description:
In this course general and advanced techniques for the design and analysis of algorithms are discussed.
Topics included: Algorithm design using dynamic programming, randomization and greedy methods;
Analysis using recurrence relations and amortization; String and network algorithms; NP-completeness,
reductions and approximation algorithms; Review of divide-and-conquer design and asymptotic notation.
Course Objectives:
On completion of the course, students will:
(a) Explain the process of proving algorithm correctness and provide proofs for classical Algorithms
studied in the course and similar ones.
(b) Elaborate the importance of a data structure in providing efficient algorithms to solve a particular
problem.
(c) Use mathematical language and do elementary proofs.
(d) Establish comparisons among different solutions and deciding circumstances when one may be
better.
(e) Design algorithms to solve problems.
(f) Describe the basic concepts of computational complexity and the use in categorizing problems
based on computational requirements and know about different techniques to cope with hard
problems.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 10%
Final 40% Laboratory 20% Mini Project 10%
Text Book:
Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest and Clifford Stein, 3rd
Edition MIT Press, Cambridge, 2009,ISBN 13: 978-0262033848
Reference Book:
Introduction to the Design and Analysis of Algorithm by Anany Levitin, 3rd Edition Pearson/Addison-
Wesley, 2011, ISBN:
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 32
Course Name Real Time System Course Code 4COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 9 Prerequisites 231COMP-3 – Operating System
Course Description:
Real-time systems may vary from small embedded systems to very large distributed systems. Real-Time
systems need strict time adherence that necessitates pre-run time analysis of system schedules. This module
examines fundamentals of the design and programming, hardware & software requirements, scheduling
algorithms and issues related with reliability of real-time systems. Further this course examines different
Real-time system case studies.
Course Objectives:
On completion of the course, students will:
(a) Discuss various real-time system classifications.
(b) Identify computer hardware requirements used for real-time applications.
(c) Evaluate different types of real-time systems and task scheduling.
(d) Explain the software engineering issues in real-time systems.
(e) Analyze reliability and safety issues related with real-time systems.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX, Alan
Burns and Andy Wellings, 4th Edition, Addison-Wesley, 2009, ISBN: 9780321417459
Reference Books:
(i) Real-Time Systems Design and Analysis: An Engineer's Handbook, Laplante, P.A., 2nd Edition, John
Wiley & Sons, INC., Publication, 1997, ISBN: 0780334000
(ii) Real Time System and their Programming languages, Burns. A, 1st Edition, Pearson Education, 2001,
ISBN: 0201729881
(iii) Real-Time Systems: Theory and Practice, Rajib Mall, 1st Edition, Pearson Education, 2007, ISBN:
9788131700693
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 33
Course Name Genetic Algorithms Course Code 4COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 9 Prerequisites 241COMP-3 – Artificial Intelligence
Course Description:
Genetic Algorithms are evolutionary algorithms that are based on the principles of natural selection and
natural genetics. Genetic algorithms are robust search, optimization, and machine learning methods. Topics
include representation and schemata, selection, reproduction, and recombination. The schema theorem,
classifier systems, Bucket Brigade Algorithm, Apportionment of Credit Algorithm, Classifier Discovery
Mechanism, Genetic-based machine learning applications, Genetic Programming, Arithmetic , Logical
formulas, Tree Based Representation, Genetic Programming Flowchart and Classifier Discovery Mechanism.
Course Objectives:
On completion of the course, students will:
(a) Explain the concepts and principles of genetic algorithms.
(b) Describe and apply the schema theorem.
(c) Know and apply the different genetic operators.
(d) Describe and apply the apportionment of credit in classifier systems.
(e) Design and implement the evolutionary technique on a real world problem.
(f) Describe how genetic programming automatically generates computer programs.
Grading Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40% Laboratory 20% Mini Project -
Text Book:
David Goldberg: Genetic Algorithms in search, optimization, and machine learning, Prentice
Education,2006, ISBN-13: 9780201157673
Reference Book:
Genetic Programming: An Introduction On the Automatic Evolution of Computer Programs and Its
Applications, Wolfgang Banzhaf, Peter Nordin, Robert E. Keller and Frank D. Francone, 1st Edition, Morgan
Kaufmann Publishers, Inc. San Francisco, California, 1998, ISBN: 9781558605107
DEPARTMENT OF COMPUTER SCIENCE, COLLEGE OF COMPUTER SCIENCE & INFORMATION SYSTEMS, JAZAN UNIVERSITY
B.Sc. COMPUTER SCIENCE PROGRAM :: COURSE DESCRIPTIONS Page No.: 34
Course Name Computer Vision Course Code 4COMP-3**
Credit Hour 3 Contact Hours Lecture Laboratory Total
2 2 4
Offered as University Requirement College Requirement Program Requirement Core Elective
CS IS CNET
Level 9 Prerequisites None
Course Description:
This course provides an introduction to the concepts and applications in computer vision. This course covers
basic principles of visual perception including image formation, image processing, image segmentation and
pattern recognition as well as object detection and recognition from images and/or streaming video.
Course Objectives:
On completion of the course, students will:
(a) Explain the various image formation and image processing methods.
(b) Identify the importance of image and object recognition and explain several significant
applications of this technology.
(c) Evaluate the performance of feature detection and extraction techniques and algorithms.
(d) Describe the various segmentation techniques and compare these techniques.
(e) Analyze the stereo and image matching approaches and advantages.
Grading
Exam1-10% Exam2-10% Quizzes - Assignment 20%
Final 40%
Laboratory 20%
Mini
Project -
Text Book:
Computer Vision: Algorithms and Applications, Richard Szeliski, 1st Edition, Springer-Verlag, 2011, ISBN:
978-1848829343
Reference Book:
Computer Vision: A Modern Approach, D.A. Forsyth and J. Ponce, 2nd Edition, Prentice Hall, 2011, ISBN:
978-0136085928