Degree Plan (Ed. 5)

​​​​​​​​​​​​​
Bachelor of Science in Computer Science (CS)​


​Program Educational Objec​tives​​

The Computer Science program at Jubail University College prepares graduates to:

  1. be successful in working in a computing–related profession;
  2. be successful in working as individuals, team members and leaders;
  3. follow appropriate practices within a professional, legal, and ethical framework; and
  4. engage in life-long learning, advanced degree programs, or professional development.

 

Program Outcomes (Student Outcomes)

On successful completion of the program graduates should be able to:

  1. Outline knowledge of computing and mathematics appropriate to the discipline, 
  2. Analyze a problem, and identify and define the computing requirements appropriate to its solution, 
  3. Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs, 
  4. Function effectively on teams to accomplish a common goal, 
  5. Show professional, ethical, legal, security and social responsibilities, 
  6. Demonstrate effective communication skills with a range of audiences, 
  7. Recognize the local and global impact of computing on individuals, organizations, and society, 
  8. Demonstrate the need for, and an ability to engage in continuing professional development, 
  9. Utilize current techniques, skills, and tools necess​ary for computing practice. 
  10. Apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices, and
  11. Apply design and development principles in the constr​uction of software systems of varying complexity.​​​​​

 

​CS Program Degree Plan (starting 2017/18 onward)

 

First Year, 1st Semes​ter (Level 1) (Freshman) ​ ​ ​ ​ ​​
Course ​CodeCourse TitleLe​cLab CreditPre-req
MATH 111Calculus I404-
ENGL 117English Compositio​n I303-
GS 16​1Arabic Practical Grammar
202
SCI 152General Physics I334Co-Req: MATH 111
CS 110Computer Programming233-
​​ TOTAL 14616


​First Year, 2nd Semester (Level 2) (Freshman) ​ ​ ​ ​ ​
Course ​CodeCourse TitleLecLab CreditPre-req
​MATH 112Calculus II404MATH 11​1
ENGL 118English Composition II303ENGL 117
GS 171Belief and its Consequences202-
SCI 153General Physics II334SCI 152
CS 120Programming I2​33-
​​​​ TO​TAL 14616
​​
Second Year, 1st Semester (Level 3) (Sophomore)​​
Course ​Co​de
Course Title
Lec
Lab 
Credit
Pre​-req

MATH 211

Calculus III

3

0

3

MATH 112

GS 262

Arabic Professional Writing

2

0

2

GS 161

CS 230

Digital Logic Design

3

3

4

SCI 153

CS 231

Programming II

3

​3

4

CS 120

CS 232

Discrete Structures I

3

0

3

MATH 111

TOTAL: ​​

14

6

16



Second Year, 2nd Semester (Level 4) (Sophomore)​ ​ ​ ​ ​
Course codeCourse titleLec.Lab.CreditPre-req.
MATH 216Linear Algebra & Differential Equations303MATH 112
GS 272Professional Ethics202GS 171
CS 240Discrete Structures II303CS 232
CS 241Data Structures334CS 231
CS 242Computer Architecture and Organization334CS 230
 ​ TOTAL: 14616 ​


Third Year, 1st Semester (Level 5) (Junior) ​ ​
Course codeCourse titleLec.Lab.CreditPre-req.
MATH 312Probability & Statistics233MATH 112
BUS 261Business Communication303ENGL 118
CS 350Database Systems334CS 241
CS 351Design and Analysis of Algorithms303CS240, CS 241
CS 352Computer Network Systems334CS 242
  TOTAL: 14917 


 
Third Year, 2nd Semester (Level 6) (Junior) ​​
Course codeCourse titleLec.Lab.CreditPre-req.
GS 363Arabic Com​munication Skills202GS 262​
CS 360Operating Systems334CS 241, CS 242
CS 361Computer and Network Security313CS 352
CS 362Web Engineering and Development2​33CS 231
CS 363Software Engineering313CS 241
CS XXXElective I303CS XXX
  TOTAL: 16818

 

 
Fourth Year, 1st Semester (Level 7) (Senior) ​ ​
Course codeCourse titleLec.Lab.CreditPre-req.
GS 373Human Rights in Islam202GS 272
CS 470Introduction to Artificial Intelligence303CS 351
CS 471Social and Ethical Issues of Computing303CS 363
CS 472Programming Languages303CS 241
CS 473Graduation Project163CS 350, CS 363
CS XXXElective II303CS XXX
  TOTAL: 15617 
 

 

Fourth Year, 2nd Semester​ (Lev​el 8) (Senior)​ ​ ​ ​ ​
​Course codeCourse titleLec.Lab.CreditPre-req.

CS 491†

CS 495‡

Field Training

Senior Project​

0406Senior Standing
  TOTAL:0406 

Field Training should be the first destination of students

Students who encounter obstacles to be placed in a workplace are directed to do a senior project instead


 

​Elective Courses​ ​ ​ ​ ​
 Course codeCourse titleLecLabCreditPre-req
CS 464Human Computer Interaction313CS 231
CS 465Cloud Computing313CS 352
CS 466Data Warehousing and Data Mining313​CS 350
CS 467Special Topics303​CS 350, CS 352
CS 474Mobile Application Development233CS 360
CS 475Systems and Network Administration233CS 352, CS 360
CS 476Advanced Network Security​313CS 361


 Total credit hours required in the Degree Program: 122​

 

Course Descriptions


College​ Requirements Courses

ENGL 117 English Composition I (3-0-3) Prerequisite: None

This course will help students to write essays in different styles which will allow them to understand how texts are constructed. Furthermore, students will learn how to organize structure their work starting/from sentence level to paragraph level, and to the essay level. It will further introduce students to summarizing, paraphrasing and quoting.

ENGL 118 English Composition II (3-0-3) Prerequisite: ENGL 117

This course complements English Composition I by introducing freshmen students to concepts and techniques necessary for writing a research paper. These include collection and evaluation of sources, note taking, and interpretation of data, synthesis, and documentation.​​

​​GS 161 Arabic Practical Grammar (2-0-2) Prerequisite: None

Studying chosen parts of Arabic grammar, verbs, the five verbs, nouns that are subject to desinential infliction with letters, derivatives, abrogatives, indeclinable, numbers, hamzah, in a practical way with numerous applications.

GS 171 Belief and its Consequences (2-0-2) Prerequisite: None

The roots of the right faith, special characteristics of the Islamic faith, Islamic description of the universe, human beings and life, reasons for increasing the faith.

GS 262 Arabic Professional Writing (2-0-2) Prerequisite: GS 161
This course focuses on sources  and forms of objective writing, objective essays, reporting, resume, administrate messages, summary and minutes of the meeting.

​GS 363 Arabic Communication Skills (2-0-2) Prerequisite: GS 262
This course aims to develop the student's skills of effective language, oral communication through conversational techniques, persuasion, influence, debating, and interviews

GS 171 Belief and its Consequences (2-0-2) Prerequisite: None
This course introduces the students to the roots of the right faith, special characteristics of Islamic faith, Islamic description of the universe, human beings and life, reasons for increasing the faith.
 
​GS 272 Professional Ethics (2-0-2) Prerequisite: GS 171
This course focuses on the importance of ethics in Islam, the integration of worship and aspects of professional life, suitability criteria for employment in Islam, standards for professional behavior, Employees' interaction with others, Application of Islam to professional violations, Saudi Laws and professional behavior.

GS 373 Human Rights in Islam (2-0-2) Prerequisite: GS 272
The course discusses the dignity of mankind and basic human rights. It also elaborates on the  Islamic viewpoint of human rights. Its distinguishing characteristics, and debates related to this issue.

BUS 261 Business Communication (3-0-3) Prerequisite: ENGL 118
Principles, techniques, and skills needed to conduct scientific, technical, or business writing. Forms and styles of communication in and among business organizations, business letters, and library research projects and use of business periodicals. Preparation and presentation of oral reports will be covered. Instruction in the writing of reports, letters, and other exercises applicable to a wide range of disciplines and careers. Emphasis on clarity, conciseness, and accuracy of expression. Research techniques, information design, effective use of graphics. Eventually students will produce a properly formatted report, complete with outline and supporting graphic aids.

Mathematics and Sciences Courses


MATH 111 Calculus I (4-0-4) Prerequisite: None

This is a basic differential calculus course designed to fulfill the needs of engineering and science students. Topics include: Review of functions, limits, continuity, derivatives of algebraic and transcendental functions of single variable, applications of derivatives, related rates, linearization, rectilinear motion, curve sketching and optimization, as well as Rolle's and Mean value theorems.

MATH 112 Calculus II (4-0-4) Prerequisite: MATH 111

This is a basic integral calculus course designed to fulfill the needs of engineering and science students. Topics include: Definite and indefinite integrals of functions of a single variable, fundamental theorem of Calculus, techniques of integration, hyperbolic functions, applications of the definite integral, area between curves, volume by slicing method, arc length of plane curve and area of surface of revolution, improper integrals, sequences and series, convergence tests, alternating series, absolute and conditional convergence, power series, Taylor and Maclaurin series. ​​

MATH 211 Calculus III (3-0-3) Prerequisite: MATH 112
This course is the third and final part of our standard three-semester calculus sequence. The distinct feature of this part of the course is that its focus is on multi-dimensional analysis. Topics include: Polar coordinates, polar curves, area in polar coordinates, vectors, lines, planes and surfaces, cylindrical and spherical coordinates, functions of two and three variables, limits and continuity, partial derivatives, directional derivatives, extreme values of functions of two variables. double integrals, double integrals in polar coordinates, triple integrals, triple integrals in cylindrical and spherical coordinates.
 
​MATH 216 Linear Algebra and Differential Equations (3-0-3) Prerequisite: MATH 112
The Linear Algebra and Differential Equations course begins with fundamental definitions and terminology. Topics include: Solution of first and higher-order differential equations and their applications, linear systems and matrices, vector space, bases, dimensions and rank of matrices, Eigen-values and Eigen-vectors, solution of system of differential equations by elimination, substitution and Eigen-value methods.

MATH 312 Probability & Statistics (2-3-3) Prerequisite: MATH 112
This course provides an elementary introduction to probability and statistics with applications. Topics include: Presentation and interpretation of data, elementary probability concepts, random variables, discrete and continuous probability distributions, Binomial, Poisson, exponential, Gamma and normal distributions. It also introduces estimation, tests of hypothesis for one and two sample problems, correlation, simple and multiple linear regression, and application to scientific and engineering problems. The lab session will be utilized to solve the problems related to the above topics using statistics software.
 
SCI 152 General Physics I (3-3-4) CoReq: MATH 111
This is a calculus-based course to introduce the fundamental concepts that describe the physical world from a strong mathematical perspective. It is a lecture-lab course. Topics include: Linear kinematics and dynamics, conservation of energy and linear momentum, rotational kinematics, rigid body dynamics, conservation of angular momentum, simple harmonics motion, the statics and dynamics of fluids.
 
SCI 153 General Physics II (3-3-4) Prerequisite: SCI 152
This course is a continuation of General Physics I course. It is a lecture-lab course. Topics include: wave motion and sound, temperature, heat, the first and second laws of thermodynamics, entropy, kinetic theory of gases, Coulomb’s law, the electric fields, Gauss’ law, electric potential, capacitors and dielectrics, D.C. circuits, magnetic fields, Ampere’s law, solenoids, faraday’s and Lenz’s laws of induction.


Computer Science Courses


​CS 110 Computer Programming (2-3-3) Prerequisite: None

Introduction to engineering problem solving techniques using C++ programming language; employs a problem solving methodology to consider a diverse range of an engineering challenging issues. The emphasis on engineering and scientific problem solving remains as an essential constituent of the course. It covers software engineering models, focusing on the design and implementation of user-friendly and reusable computer solutions and structured programming.

​​CS 120​ Introduction to Computing (2-3-3) Prerequisite: None

Overview of computers and computing. Introduction to a typical programming language, such as Java. Basic data types and o​perators. Basic object-oriented concepts. Wrapper classes. Console input/output. Logical expressions and control structures. Memory models and methods. Arrays and strings. More object-oriented concepts.

  • ​​Lab work (Closed Lab)

Pr​o​gramming assignments to exer​cise the use of the various features of the object oriented programming language taught in the course. This may include the implement​ation of basic applets, numerical algorithms such as finding the average, standard deviation etc., as well as non-numerical algorithms such as basic recursive methods used in sorting and searching techniques.

CS 230 Digital Logic Design (3-3-4) Prerequisite: SCI 153
Introduction to Computer Engineering.  Binary number system.  Digital circuits.  Boolean algebra and switching theory.  Manipulation and minimization of Boolean functions.  Combinational circuit analysis and design, multiplexers, decoders, adders.  Sequential circuit analysis and design, basic flip-flops, clocking, and edge-triggering, registers, counters, timing sequences, state assignment and reduction techniques.  
  • Lab work (Closed Lab)
Laborat​ory experiments aim to provide the students with hands-on experience in digital logic. Use of simulators and digital trainer boards for the design, simulation, and implementation of digital logic, combinational and sequential digital systems.
 
CS 231 Programming II (3-3-4) Prerequisite: CS 120
Advanced programming concepts. Simple graphical user interfaces. Basic data structures. File I/O. Searching and sorting techniques. Survey of computer science areas. Case studies and practice in developing small scale programs.
  • Lab work (Closed Lab)
Progra​mming assignments to practice different problem solving strategies, with emphasis on sound object-oriented basis. File I/O Operations. Solving basic problems using static and dynamic data structures. Solving various searching and sorting algorithms using iterative approach.
 
CS 232 Discrete Structures I (3-0-3) Prerequisite: MATH 111
This course covers Foundation of Propositional Logic and Proofs, Basic discrete structures (such as Sets, Functions, Sequences and Summation), Number theory, Induction and Recursion and Counting techniques.
 
CS 240 Discrete Structures II (3-0-3) Prerequisite: CS 232
This course covers advanced counting techniques, relations, graphs, trees and modeling computation (Automata theory).
 
CS 241 Data Structures (3-3-4) Prerequisite: CS 231
Analysis of basic data structures. Specification and design of advanced abstract data types (ADTs) and garbage collection. Secondary storage structures and file processing. Introduction to design patterns. Case studies and practice in developing medium scale programs. Software development using inheritance, frameworks and component architectures. 
  • Lab work (Closed Lab)
Programming as​signments and projects for software applications that make use of the data structures introduced in class. Emphasis on design and implementation of object-oriented abstract data types. Stress on software development of medium scale applications using the developed ADTs.
 
CS 242 Computer Architecture and Organization (3-3-4) Prerequisite: CS 230
Introduction to computer architecture and Organization. Computer History and Evolution.  Computer Performance. Assembly language, CISC and RISC instructions sets, internal data representation, computer arithmetic, processor data path and control, memory hierarchy, I/O devices and interconnects, and an introduction to parallel processing. 
  • Lab work (Closed Lab)
Low-level ​programming assignments using x86 and/or MIPS assembly.
 
CS 350 Database Systems (3-3-4) Prerequisite: CS 241
Basic database concepts. Conceptual modeling. Relational data model. Relational theory and languages. Database Design. Database security and integrity. Introduction to query processing and optimization. Introduction to concurrency and recovery. 
  • Lab work (Closed Lab)
Programming assignments to learn database design using CASE tools. Introduction to back-end/Server-​based Relational Database Management System (RDBMS). Learning Standard SQL (interactive/embedded). Introduction and programming assignments on Front-End tools. Programming team projects to design and develop real life database systems using the learned tools.
 
CS 351 Design and Analysis of Algorithms (3-0-3) Prerequisite: CS 240, CS 241
Introduction to algorithms and review of data structure; Time and space analysis; Algorithm design techniques: divide-and-conquer, greedy algorithms, dynamic programming, search techniques; NP-complete problems and approximation algorithms. 
 
CS 352 Computer Network Systems (3-3-4) Prerequisite: CS 242
Introduction to computer networks, Application layer protocols, Transport layer protocols,  and congestion control mechanisms.  An in-depth analysis of Network layer design issues, and internetworking. Data link layer design issues and protocols. Wireless LANs.
  • Lab Work (Closed Lab)
Use ​of network traffic analysis tools and network simulator
 
CS 360 Operating Systems (3-3-4) Prerequisite: CS 242, CS 241
History and evolution of operating systems. Types of operating systems. Case histories of significant operating systems. Processes, inter-process communication, process coordination and synchronization. Process scheduling. Memory management. File systems. Security and protection. Case operating systems.
  • Lab work (Closed Lab)
Implementation of user-defined utilities/commands for UNIX by writing system programs using differen​t types of system calls including those for file/directory management, process management, signal management, and client-server management. Also involve practice on various aspects of shell environment and shell programming.
 
CS 361 Computer and Network Security (3-1-3) Prerequisite: CS 352
This course introduces students to computer and network security. Topics include Security management practices; Computer security, Network security; Security services: confidentiality, integrity, availability; Hacker techniques and motivation; Cryptography tools: Public and private key encryption; authentication, digital signatures; User identification and access control; Computer viruses, Trojans and worms; Risk management and analysis; Security policy and recovery. Internet security protocols; Security technologies and systems: Firewalls, VPN, IPS and IDS. The course includes theoretical as well as hands-on components.
  • Lab work (Closed Lab)
Stud​ents will use various security tools, encryption, auditing, and network vulnerability scanning to gain hands-on experience on computer and network security topics taught in the course.
 
CS 362 Web Engineering and Development (2-3-3) Prerequisite: CS 231
Examining a systematic, disciplined and quantifiable approaches to developing high-quality, reliable and usable web applications; introduces the methodologies, techniques and tools that support their design, development, evolution, and evaluation. Topics covered include requirements engineering for Web applications, design methods and technologies, interface design, usability of web applications, accessibility, testing, metrics, operation and maintenance of Web applications. Specific technologies covered in this course include client-side (HTML5, JavaScript, and CSS) and server-side applications (Perl or PHP).
  • Lab Work (Closed Lab)
Programming a​ssignments to practice different problem solving of usability, maintainability, quality and reliability; many resources and tools that will be utilized such Perl Reference Guide, a full language and function reference for the PHP server-side scripting language, A well-written and easy-to-follow tutorial on the basic aspects of using a UNIX-based system., Core JavaScript 1.5 Reference, JavaScript Tutorial and Examples, the W3C’s accessibility guidelines.  Introduction to UML 2 Class Diagrams, and the Expressive Power of UML-Based Web Engineering.
 
CS 363 Software Engineering (3-1-3) Prerequisite: CS 241
The software development process; Software requirements and specification; Software design; Software verification and validation; Software management; Software tools.
 
CS 470 Introduction to A​rtificial Intelligence (3-0-3) Prerequisite: CS 351
Introduction to the types of problems and techniques in Artificial Intelligence. Problem- Solving methods. Major structures used in Artificial Intelligence programs. Study of knowledge representation techniques such as predicate logic, non-monotonic logic, and probabilistic reasoning. Examples of expert systems. Introduction to natural language understanding and various syntactic and semantic structures. Expert systems, Introduction to computer image recognition.
 
CS 471 Social and Ethical Issues of Computing (3-0-3) Prerequisite: CS 363
Ethical problems that faces computer scientists. The codes of ethics of computing professional societies. The social implications of computers, computing, and other digital technologies.
 
CS 472 Programming Languages (3-0-3) Prerequisite: CS 241
Programming languages: Syntax and semantics. Data types. Control structures. Sub-Programs. Exception handling. Run-time Storage Management. Programming Paradigms: Imperative, functional, logic, object-oriented, and concurrent.
 
CS 473 Graduation Project (1-6-3) Prerequisite: CS 363, CS 350
Project-oriented course in which students work in teams or as individuals on a real-world problem of their interest, go through its software development lifecycle in order to develop a software solution for the problem at hand. The graduation project offers the opportunity to integrate the knowledge acquired in preceding courses, as well as promote and instill communication skills, and lifelong self-learning.
 
CS 491 Field Training (0-40-6) Prerequisite: Senior Standing
A continuous period of full semester is spent in a selected work place relating to the field of study. This field internship is intended to provide students with an opportunity to use the knowledge and skills learned in college in an actual work setting. It is intended to be both practical and theoretical. A final report that summarizes all work performed and results obtained is required at the end of internship.
 
CS 495 Senior Project (0-40-6) Prerequisite: Senior Standing
Students who encounter ob​stacles to be placed in a workplace are directed to do a senior project instead. Each student develops and carries out a project relevant to professional goals. The project generally involves background study or research, planning, implementation, evaluation, and preparation for a written report. A departmental Senior Project Committee must approve all project proposals, and this same committee will receive regular oral and written progress reports. Final results are presented as a paper in a style suitable for publication in a professional journal along with an oral report in a public symposium To foster the principle of teamwork, students may be allowed to form small groups to execute the projects jointly. Students meet weekly to discuss their projects and the research experience.  The project should be viewed as the culmination of the student's degree program.

​​

Elective Science Courses


CS 464 Human Computer Interaction (3-1-3) Prerequisite: CS 231
Fundamentals and principles of human computer interaction. Implementing a usable interface design.  Measure usability, analyze and evaluate human computer interaction systems.
 
CS 465 Cloud Computing (3-1-3) Prerequisite: CS 352
Introduction to cloud computing, cloud concepts and technologies, cloud services and platforms, virtualization, cloud application design, cloud security, and applications of cloud computing. This course provides a hands-on comprehensive study of cloud concepts and capabilities across the various cloud service models including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
 
CS 466 Data Warehousing and Data Mining (3-1-3) Prerequisite: CS 350
Data Model for Data Warehouses. Implementing Data Warehouses: data extraction, cleansing, transformation and loading, data cube computation, materialized view selection, OLAP query processing. Data Mining Fundamentals. Data mining process and system architecture, relationship with data warehouse and OLAP systems, data pre-processing. Mining Techniques and Application: association rules, mining multimedia databases, web mining and text mining.
 
CS 467 Special Topics (3-0-3) Prerequisite: CS 350, CS 352
Selected topics about the latest advancements in the field of Computer Science, which are not already covered in any other Computer Science courses in the curriculum.  Such topics must be approved following the normal approval process prior to pre-registration period for the semester the course is to be delivered.
 
CS 474 Mobile Application Development (2-3-3) Prerequisite: CS 360
The course covers Android application architecture, Building user interfaces, Intents and intent filters, Activities and fragments, Services, Data storage and Application publishing.  
 
CS 475 Systems and Network Administration (2-3-3) Prerequisite: CS 352, CS 360
This course provides students with an overview of the principles and practices of systems and network administration. Topics covered include: Installing and upgrading Linux\Unix operating system, managing file systems and user account, configuring printing services, upgrading and installing software packages, backing up data, remote administration and management, configuring and managing various network services, security issues and the role and responsibilities of Systems Administrators.
 
CS 476 Advanced Network Security (3-1-3) Prerequisite: CS 361
Strategies for designing network security. Actual design scenarios are used in developing strategies for designing and implementing security systems. Focus is on methods of defense, distributed systems security, policy, and security administration.
  • Lab work 
Students will use various security tools for encryption, auditing, and network vulnerability scanning to gain hands-on experience on computer and network security topics taught in the course.