Why Computer Science?
Computer Science is one of the most soughtafter skill sets, opening doors to dynamic and entrepreneurial career possibilities and opportunities with tech giants and SME’s. This program develops students’ ability to program, design, test, develop and innovate which can be applied throughout today’s techcentric world. Students learn to address computer systems and devices, at both hardware and software levels. Their wellrounded skills cover testing, development, optimization, implementation, maintenance, analysis and design.
Who Should Apply?
This fouryear undergraduate program will have a foundation in mathematics, sciences, electronics and computing basics. Applicants to this degree program should have strong analytical skills and the ability to selfevaluate throughout their studies.
Program Content
This program focuses on detailed hardware and software systems along with multiple levels of testing, development, optimization, implementation, maintenance, analysis and design. The curriculum will cover cover scientific modules in programming, networking and security, algebra, mathematics and analysis, which are then applied to innovative realworld uses such as artificial intelligence, machine learning and network management.
To nurture individual interests, elective modules are offered in cryptography, graphics and data mining techniques. A key finalyear element of this course is the internship, which allows students to apply their learning in a realworld scenario, at one of our partner organizations.
Course Information
English Requirements (9 credits)
ENGL 101  Composition I
Lecture:
3

Laboratory:
0

Total:
3

This course is an overview of expository writing, including the development and revision of paragraphs and essays using various rhetorical strategies, as well as reading and discussion of selected essays, short stories and poems. In addition, the course introduces writing about literature, incorporation and documentation of material from primary sources.
ENGL 102  Composition II
Lecture:
3

Laboratory:
0

Total:
3

This course emphasizes documented critical writing based on an introduction to fiction, drama, and poetry.
Prerequisite: ENGL 101
Arab Heritage Requirements (6 credits)
ARHG 101  Arab Heritage I  Language
Lecture:
3

Laboratory:
0

Total:
3

This course introduces the general principles of Arab Heritage and Language.
Mathematics Requirements (10 credits)
MATH 151  Calculus I
Lecture:
3

Laboratory:
0

Total:
3

This course introduces functions limits and continuity, derivatives of functions of one variable, application of the derivative, related rates, maximum and minimum values, the mean value theorem, the integral and indefinite integrals and integration rules, inverse functions, exponential and logarithmic functions, inverse trigonometric functions, hyperbolic functions, and L’Hospital’s rule.
MATH 152  Calculus II
Lecture:
3

Laboratory:
0

Total:
3

This course involves the applications and techniques of integration, including integration by substitution, integration by parts and integration by partial fractions, application of integration and parametric equations and polar coordinates.
MATH 252  Calculus III
Lecture:
4

Laboratory:
0

Total:
4

This course emphasizes on vector functions (continuity, derivatives, and integrals), parametric curves and surfaces, polar coordinates, as well as functions of several variables (including continuity and partial derivatives, gradient, directional derivatives). Topics also include the chain rule, double and triple integrals, iterated integrals, integration using polar, cylindrical, and spherical coordinates, change of variables, line and surface integrals (including surface area), curl and divergence, and the integral theorems of Green, Stokes, and Gauss. Prerequisites: MATH 151 and MATH 152
Science Requirements (8 credits)
CHEM 201  General Chemistry 1
Lecture:
3

Laboratory:
1

Total:
4

This course introduces the general principles of chemistry with emphasis on inorganic materials.
Prerequisites: High school chemistry and 2 years of high school algebra
CHEM 201L  General Chemistry I Laboratory
Lecture:
1

Laboratory:
1

Total:
2

This course introduces students to laboratory and measurement techniques commonly used in chemistry laboratories. Techniques include mass and volume measurements, qualitative and quantitative analysis, volumetric analysis, thermochemistry, inorganic synthesis and spectrophotometric analysis.
Prerequisites: High school chemistry and 2 years of high school algebra
PHYS 101  Principles of Physics
Lecture:
3

Laboratory:
0

Total:
3

This course provides an overview of the fundamental principles of physics in areas of mechanics and oscillatory motion. Topics include standards and units, vectors and coordinate systems, kinematics, dynamics of work energy and power, conservation of energy, dynamics of system of particles, collisions, rotational kinematics and dynamics, equilibrium of rigid bodies, and oscillations. The course is designed for students requiring calculusbased physics.
Prerequisites: High school physics and MATH 151
Social Science Requirements (9 credits)
ARHG 103  Global Human Rights
Lecture:
3

Laboratory:
0

Total:
3

This course introduces the general principles of Global Human Rights.
PSYC 100  Introduction to Psychology
Lecture:
3

Laboratory:
0

Total:
3

The course is a survey of topics such as research methodology, biological bases of behavior, perception, motivation and emotion, learning and memory, development, intelligence, personality, mental disturbance, and social influence.
Major Requirements (79 credits)
COSC 100  Introduction to Computer Science and Networks
Lecture:
3

Laboratory:
0

Total:
3

This introductory course serves as a guide to new students in finding their way through the multifacet and vast area of Computer Science and Networks. Its main objectives include teaching students about the function of the basic components and peripherals of a computer, its uses in the real world, data conversion techniques and the importance of binary coding, as well as the basic components of computer networks and their uses in the modern world.
Prerequisites: None
CMPE 160  Introduction to Computer Programming and Applications
Lecture:
3

Laboratory:
0

Total:
3

This course introduces students to the fundamentals of computer organization and operation. Topics include binary representation of information, fundamentals of computer programming using a C family language, data types, selection and iteration structures, functions, arrays, pointers, scope and duration of variables, as well as the systematic design and development of computer programs.
Prerequisite: MATH 151
COSC 210  Management Information Systems
Lecture:
3

Laboratory:
0

Total:
3

The main objective of this course is the investigation of the role and impact of information systems in business functions, through the examination of major models of strategy and management information systems used in today's business environment. Additionally, it uses a conceptual approach through case studies of a series of information systems applied in the "extended" or "digital enterprise", such as Enterprise Resource Planning Systems (ERP), Customer Relationship Management Systems (CRM), Supply Chain Management Systems (SCM) and Decision Support Systems.
Prerequisites: None
MATH 203  Discrete Mathematics
Lecture:
3

Laboratory:
0

Total:
3

This course focuses on logic, methods of proof, set theory, number theory, equivalence and order relations, counting (combinations and permutations), and solving recurrence relations. Prerequisite: MATH 151
COSC 125  Data Structure and Programming Techniques
Lecture:
3

Laboratory:
0

Total:
3

This course allows students to learn how to use Abstract Data Types (ADT) with references from our daily lives e.g. in a bank queue management or list of contacts on our mobile phone. The course has four main objectives. Firstly, it aims to consolidate and advance knowledge in C programming in general. Secondly, it investigates the use and development of ADT and thirdly, the course teaches students programming techniques. Finally, students are encouraged to identify the connection of the course material with real world applications.
Prerequisite: CMPE 160
CMPE 270  Digital Systems
Lecture:
3

Laboratory:
1

Total:
4

This course focuses on modeling, analysis, and design of digital systems, primarily at the logic design level. Topics also include combinational and sequential networks. Prerequisite: MATH 152
CMPE 271  Computer Organization
Lecture:
3

Laboratory:
0

Total:
3

This course provides an overview of the organization and operation of computer hardware and software. Topics also include operating system shell and services, program design and development, inputoutput programming, multimodule and mixedlanguage programming, and assembler and C language. Prerequisites: CMPE 160 and CMPE 270
MATH 260  Probability and Statistics
Lecture:
4

Laboratory:
0

Total:
4

This course is an introduction to probability, operations on sets, counting problems, definition of probability, conditional probability, Bayes' theorem, one and twodimensional random variables, mathematical expectation and variance, basic discrete and continuous probability distributions, moment generating functions, law of large numbers, and limit theorem. Prerequisite: MATH 151
CMPE 361  Windows Programming
Lecture:
3

Laboratory:
0

Total:
3

This course focuses on graphical user interface programming, including dialog boxes, menus, toolbars, status bars, fonts, icons and bitmaps. Content also involves eventdriven programming, processes, event message processing, timers, onidle processing, multithreaded programming and C++ Windowsclass libraries, such as integrated development environments, application framework and document view architecture. Prerequisites: CMPE 160 and CMPE 271
COSC 215  Communication Networks
Lecture:
3

Laboratory:
0

Total:
3

The aim of the course is to understand the principles of operation and design choices of communication networks, as well as to learn the basic characteristics of the prevailing network technologies. The focus of the course is the Internet, covering issues related to the planning, implementation and operation of communication networks with emphasis on fundamental concepts and principles.
Prerequisite: COSC 125
COSC 248  Algorithms and Complexity
Lecture:
3

Laboratory:
0

Total:
3

The course covers topics on technical analysis and runtime algorithms, asymptotic notation O, Z and I, some data structures (e.g. heaps and priority queues), sorting and searching algorithms and algorithm design techniques. Students will also learn about basic graph algorithms (search by width and depth, applications, coating trees, shortest paths, matching) and NPcompleteness.
Prerequisite: MATH 203
COSC 262  Operations Research
Lecture:
3

Laboratory:
0

Total:
3

This module aims to introduce students to the use of quantitative methods and techniques for effective decision–making; model formulation and applications that are used in solving business decision problems. Operations research helps in solving problems in different environments which require decisionmaking. The module covers topics which include: linear programming, Transportation, Assignment and CPM/ MSPT techniques.
Prerequisites: MATH 151, MATH 152
COSC 312  Design and Usage of Database
Lecture:
3

Laboratory:
0

Total:
3

The course will teach students about data modeling techniques, relational database design, use of normalization to design normalized relational databases, Structured Query Language’s (SQL), data definition (DDL), data manipulation (DML) and data control (DCL) components.
Prerequisite: CMPE 271
COSC 348  Graphics I
Lecture:
3

Laboratory:
0

Total:
3

This entry level course in Computer Graphics is focused on understanding the geometry of two and three dimensions as well as basic algorithms for coloring and lighting design for twoand threedimensional direct imaging. Students will have the opportunity to learn about the algorithms currently used to design graphics and realtime photorealistic graphics as well as about the related hardware.
Prerequisite: MATH 254
COSC 372  Operating Systems
Lecture:
3

Laboratory:
0

Total:
3

This course teaches the basic operating system abstractions, mechanisms and their implementations. The core of the course contains concurrent programming (threads and synchronization), inter process communication and an introduction to distributed operating systems.
Prerequisite: CMPE271
COSC 379  Numerical Analysis
Lecture:
3

Laboratory:
0

Total:
3

The course belongs to the area of Scientific Computing which has applications in various disciplines. The numerical simulation is an important tool for the study of scientific problems arising from several disciplines such as Physics, Chemistry, Geology, Biology and Economics. Most of these problems result in solving a mathematical problem, for example, in solving a large system of linear algebraic equations, which can only be solved by numerical methods. The aim is to equip students with the knowledge to develop software for the numerical solution of basic mathematical problems.
Prerequisite: MATH 152
COSC 386  Analysis and Design of Information Systems
Lecture:
3

Laboratory:
0

Total:
3

This course addresses the basic notions on IS, namely, basic development life cycle; analysis and design techniques; information systems planning and project identification and selection, requirements collection and structuring. Process modeling, conceptual and logical data modeling and database implementation are also covered. The course also examines several development methodologies, which may be used to manage the software development process. Such methodologies include among others, Structured Systems Analysis and Design Methodology (SSADM) and the Systems Development Life Cycle (SDLC); agile and iterative methodologies including Prototyping, Rapid Application Development and other agile software development approaches; ObjectOriented Analysis and Design using UML and other.
Prerequisite: CMPE361
CMPE 375  Embedded Systems Programming
Lecture:
3

Laboratory:
0

Total:
3

This course focuses on embedded system architecture. Topics include IO programming using parallel ports, serial ports, timers, and D/A and A/D converters, as well as interrupts and realtime programming, program development and debugging tools and C language and assembler. Prerequisites: CMPE 271
COSC 412  Implementation of Database Systems
Lecture:
3

Laboratory:
0

Total:
3

The course covers some key issues related to the organization and storage of data to external storage. The specific topics discussed include the concept of file storage peripherals and physical characteristics, layout and sort files located on disks, primary file organization, secondary file organization, static and dynamic data structures, Indexed Sequential Access Method (ISAM), static and dynamic fragmentation, B+ trees and multidimensional data structures.
Prerequisite: COSC 312
COSC 413  Protection and Security of Information Systems
Lecture:
3

Laboratory:
0

Total:
3

The course aims to provide students with deep knowledge on various concepts of classical computer and network security paradigms and also enable them to evaluate contemporary security policies and security mechanisms within organizations and assess the balance of the managerial and technical aspects of network security.
Prerequisite: COSC 372
CMPE 390  Introduction to Machine Learning and Data Analytics
Lecture:
3

Laboratory:
0

Total:
3

This data science course is an introduction to machine learning and algorithms. You will develop a basic understanding of the principles of machine learning and derive practical solutions using predictive analytics. We will also examine why algorithms play an essential role in Big Data analysis.
CMPE 460  Software Design and Engineering
Lecture:
3

Laboratory:
1

Total:
4

This course puts emphasis on objectoriented software development, classes, inheritance, design by abstraction, design patterns, objectoriented application framework and introduction to concurrent and distributed computing. Prerequisites: CMPE 160 and CMPE 361
COSC 442  Artificial Intelligence
Lecture:
3

Laboratory:
0

Total:
3

The main objective of this course is to introduce the theory and practice of Artificial Intelligence (AI). This course is designed to develop an understanding of the fundamental issues associated with the field such as problems and search, knowledge representation and reasoning, game playing and rulebased systems. Advanced topic areas such as probabilistic reasoning and Bayesian networks are also introduced.
Prerequisite: COSC 125
COSC 467  Network Management
Lecture:
3

Laboratory:
0

Total:
3

The main objective of this course is to provide students with the necessary skills and tools to allow them to undertake most network operation roles within an organization. Topics range from technical to soft skills and include best practices and the key theories behind them.
Prerequisite: COSC 215
Major Electives (6 credits)
COSC 448  Graphics II
Lecture:
3

Laboratory:
0

Total:
3

The course is a continuation of Graphics I and covers main topics and new developments in computer graphics such 3D printing, game engine programming (Unity3D), Virtual Reality and realtime ray tracing.
Prerequisite: COSC 348
COSC 371  Computer Organization II
Lecture:
3

Laboratory:
0

Total:
3

This course consists of lectures as well as laboratory exercises. Starting from the basic background of the organization and architecture of computers that students have learned during the Computer Architecture I course, this course aims to build on that knowledge to provide students with tools and skills regarding basic techniques that enhance computer performance. More specifically, the parallelism level command, the caches and the system input and output.
Prerequisite: CMPE 271
COSC 463  Data Mining Techniques
Lecture:
3

Laboratory:
0

Total:
3

Our ability to generate and collect data over the years has been increasing rapidly. The widespread use of information technology in our lives has flooded us with a tremendous amount of data. This explosive growth of stored and transient data has generated an urgent need for new techniques and automated tools that can assist us in transforming this data into useful information and knowledge. Data Mining has emerged as a multidisciplinary field that addresses this issue.
Prerequisite: COSC 412
COSC 472  Cryptography
Lecture:
3

Laboratory:
0

Total:
3

In this course students are taught about network security and access security models in relation to security attacks, mechanisms and services. An overview of secretkey and publickey cryptography is covered. The course includes authentication protocols and key management, network security practice, email security, IP security and web security, intrusion detection and prevention systems, firewalls and virtual private networks as well as wireless network security.
Prerequisite: COSC 248