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 operators. 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.
Programming assignments to exercise the use of the various features of the object oriented programming language taught in the course. This may include the implementation 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.
Laboratory 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.
Programming 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.
Programming assignments 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.
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.
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.
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.
Implementation of user-defined utilities/commands for UNIX by writing system programs using different 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.
Students 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
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 Artificial 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 obstacles 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.
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.