Computer Science

The mission of the Computer Science program is to provide students with excellent up-to-date knowledge in the fields related to computer science and information technology. This is achieved through comprehensive and continuously reviewed educational programs, research projects, and new tracks to fulfill the growing needs of certain and new skills in the field of computing.

  • Equip students with state-of-the-art theoretical and practical background across the computer science and information technology disciplines. 
  • Provide students with solid algorithmic foundations as well the required knowledge in the design and development of computer systems.
  • Provide students with the essential research skills necessary for students to continue their education after graduation.
  • Enrich students with professional skills and confidence required for hiring students in both the local and global communities.

Upon successful completion of the program, students will be able to:

  • Understand the quintessential topics in Computer Science including Programming Languages and Translators, Data structures and Algorithms, Database systems, Software Engineering principles and methodologies, Operating systems, and system/software tools.
  • Define essential theories, concepts, and principles related to information technology and computer applications as appropriate to the program of study.
  • Provide computer science solutions to information technology problems.
  • Analyze problems related to computing and provide solutions related to the design/construction of computing systems.
  • Develop ideas and proposals using rational and reasoned arguments for presenting computer systems and to be able to reflect the ideas into functional computer software.
  • Deploy related theories, practices, and tools including mathematical principles and notation, engineering principles, and computing principles for the analysis, specification, design, implementation, and evaluation of computer-based systems.
  • Apply appropriate processes and methodologies to specify, design, implement, verify, and maintain computer-based systems.
  • Operate computing equipment and being able to recognize its logical and physical properties, capabilities, and limitations.
  • Develop fundamental research skills using online resources, technical repositories, and library-based material.
  • Demonstrate skills related to work in groups, organizational skills, and team and time management.
  • Effective information retrieval skills including using browsers, search engines, and various catalogues.
  • Use appropriate tools that aid in the preparation of reports and presentations for a wide range of audiences including academics and non-academics.
  • Understand professional and ethical responsibility related to the fields of Computer Science and Information Technology.
  • Software Engineers and Developers.
  • System and Business Analysis.
  • Software Architects.
  • Web and Mobile Application Designers and Developers.
  • Database Administrators.

Bachelor degree in computer science 

  • Program plan is composed of 128 credit hours distributed as follows:

Type

Credit Hours

University Requirements

21

Faculty Requirements

32

Program Requirements

69

Free Electives

6

Total

128

  • Faculty Requirements: 32 Credit Hours

Course ID

Pre-requisite

MATH1411 | CALCULUS 1

 

MATH1321 | CALCULUS 2

MATH1411

 

PHYS111 | GENERAL PHYSICS LAB 1

 

PHYS112 | GENERAL PHYSICS LAB 2

PHYS111,

PHYS132 or concurrent

PHYS141 | GENERAL PHYSICS 1

MATH1411 or concurrent

PHYS132 | GENERAL PHYSICS 2

PHYS141 ,MATH1321 or concurrent

BIOL111 | GENERAL BIOLOGY LAB

BIOL131 or concurrent

BIOL131 | GENERAL BIOLOGY

 

COMP131 | INTRODUCTION TO COMPUTERS AND COMPUTING ETHICS

 

COMP133 | COMPUTER AND PROGRAMMING

COMP131

COMP233 | DISCRETE MATHEMATICS

MATH1411

STAT2311 | STATISTICS 1

 

  • Program Requirements: Total 69 Credit Hours
    • Core Courses: 54 Credit Hours

Prerequisite

Course Number

COMP133 or COMP132 or COMP142 or COMP230

COMP231 | ADVANCED PROGRAMMING

COMP231

COMP242 | DATA STRUCTURES

Consent of the department  + Completing a minimum of 80 credit hours

COMP301 | PRACTICAL TRAINING

COMP132 or COMP133 or COMP142 or COMP230

COMP311 | LINUX OPERATING SYSTEMS LAB

COMP242 or COMP2321

COMP333 | DATABASE SYSTEMS

COMP333

COMP334 | WEB APPLICATION AND TECHNOLOGY

COMP242 or COMP2321

COMP336 | ANALYSIS OF ALGORITHMS

Comp233 and (Comp242 or Comp2321)

COMP338 | ARTIFICIAL INTELLIGENCE

Comp336+Comp433 + Consent of the department

COMP4200 | INTRODUCTION TO GRADUATION PROJECT

COMP4200 + COMP301

COMP4300 | GRADUATION PROJECT

Comp311 and (Comp242 or Comp2321)

COMP431 | OPERATING SYSTEMS

COMP311 and (COMP242 or COMP2321)

COMP432 | COMPUTER SECURITY

COMP333

COMP433 | SOFTWARE ENGINEERING

Comp233 and (Comp242 or Comp2321)

COMP439 | TRANSLATORS AND PROGRAMMING LANGUAGES

ENCS336 or  ENCS238

ENCS211 | DIGITAL ELECTRONICS AND COMPUTER ORGANIZATION LAB

COMP133  or COMP132 or  COMP142 or  COMP230

ENCS234 | DIGITAL SYSTEMS

ENCS433 or ENCS436

ENCS413 | COMPUTER NETWORKS LABORATORY

ENCS336

ENCS433 | COMMUNICATION AND COMPUTER NETWORKS

ENCS234

ENCS336 | COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE

MATH1321

MATH234 | INTRODUCTION TO LINEAR ALGEBRA

MATH234 and (MATH310 or COMP142 or COMP133 or COMP132 or COMP230)

MATH330 | NUMERICAL METHODS

  • Elective Courses: 15 Credit Hours

Prerequisite

Course Number

COMP231

COMP332 | HUMAN COMPUTER INTERACTION

MATH234 and (COMP242 or COMP2321)

COMP337 | OPERATIONS RESEARCH

COMP242 or COMP2321

COMP339 | IMAGE PROCESSING AND PATTERN RECOGNITION

COMP233 and COMP333

COMP430 | INTRODUCTION TO KNOWLEDGE DISCOVERY AND DATA MINING

COMP433

COMP4331 | ADVANCED SOFTWARE ENGINEERING

COMP333

COMP434 | MANAGEMENT INFORMATION SYSTEMS

COMP242 or COMP2321

COMP435 | COMPUTER GRAPHICS AND USER INTERFACE

Department consent

COMP437 | INDEPENDENT STUDY IN COMPUTER SCIENCE

Department consent

COMP438 | Special Topic