Skip to main content

Why Computer Science?

Computer Science is one of the most sought-after 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 tech-centric world. Students learn to address computer systems and devices, at both hardware and software levels. Their well-rounded skills cover testing, development, optimization, implementation, maintenance, analysis and design.

Who Should Apply?

This four-year 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 self-evaluate 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 real-world 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 final-year element of this course is the internship, which allows students to apply their learning in a real-world scenario, at one of our partner  organizations.

 

*Degree programs are planned to be offered in the fall 2020 semester, subject to HEC approval.

Course Information

English Requirements (9 credits)

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.

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)

Lecture:
3
Laboratory:
0
Total:
3

This course introduces the general principles of Arab Heritage and Language.

Mathematics Requirements (10 credits)

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.

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.

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)

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

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

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 calculus-based physics.

Prerequisites: High school physics and MATH 151

Social Science Requirements (9 credits)

Lecture:
3
Laboratory:
0
Total:
3

This course introduces the general principles of Global Human Rights.

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)

Lecture:
3
Laboratory:
0
Total:
3

This introductory course serves as a guide to new students in finding their way through the multi-facet 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.

Pre-requisites: None

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

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

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

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

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

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, input-output programming, multimodule and mixed-language programming, and assembler and C language. Prerequisites: CMPE 160 and CMPE 270

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 two-dimensional 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

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 event-driven programming, processes, event message processing, timers, on-idle processing, multithreaded programming and C++ Windows-class libraries, such as integrated development environments, application framework and document view architecture. Prerequisites: CMPE 160 and CMPE 271

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.

Pre-requisite: COSC 125

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 NP-completeness.

Prerequisite: MATH 203

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 decision-making. The module covers topics which include: linear programming, Transportation, Assignment and CPM/ MSPT techniques.

Prerequisites: MATH 151, MATH 152

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

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 two-and three-dimensional direct imaging. Students will have the opportunity to learn about the algorithms currently used to design graphics and real-time photorealistic graphics as well as about the related hardware.

Prerequisite: MATH 254

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

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

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; Object-Oriented Analysis and Design using UML and other.

Prerequisite: CMPE361

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 real-time programming, program development and debugging tools and C language and assembler. Prerequisites: CMPE 271

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

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

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.

Lecture:
3
Laboratory:
1
Total:
4

This course puts emphasis on object-oriented software development, classes, inheritance, design by abstraction, design patterns, object-oriented application framework and introduction to concurrent and distributed computing. Prerequisites: CMPE 160 and CMPE 361

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 rule-based systems. Advanced topic areas such as probabilistic reasoning and Bayesian networks are also introduced.

Prerequisite: COSC 125

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)

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 real-time ray tracing.

Prerequisite: COSC 348

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

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

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 secret-key and public-key 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