Undergraduate Catalog

Bachelor of Science in Computer Science Requirements

The BSc in Computer Science program is concerned with the theoretical foundations of information and computation. Computation is defined as any type of calculation or use of computing technology that follows well-defined models (such as algorithms and protocols) in the practice of information processing. The study of computer science involves systematically studying, building, and testing methodical processes (such as algorithms) in order to aid the acquisition, representation, processing, storage, and communication of information. The program provides a strong understanding of the relationship between computer hardware and software and all related issues. It is key to many career opportunities in high-tech manufacturing, in software development, and in mobile and digital security. Students are offered opportunities to customize their education by selecting from a wide pool of technical elective courses.

Program Educational Objectives

The program’s graduates are expected to be able to:

  • Develop in their chosen profession and/or progress toward an advanced degree
  • Gain the trust and respect of others as effective and ethical team members
  • Achieve a reputation as a source of innovative solutions to complex problems in computer science and related areas; and
  • Reach positions of leadership in an organization and/or on teams.

Student Learning Outcomes

Upon successful completion of the BSc in CS program, the graduates of the B.Sc. in Computer Science program will be able, without guidance, to:

(1) Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
(2) Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of computer science.
(3) Communicate effectively in a variety of professional contexts.
(4) Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
(5) Function effectively as a member or leader of a team engaged in activities appropriate to computer science.
(6) Apply computer science theory and software development fundamentals to produce computing-based solutions.

Career Opportunities

Computer Scientists usually work in research laboratories that design, build and test various types of computer software models. Most work in high-tech manufacturing firms in the software development, mobile and digital security industries. There are also computer systems opportunities in design firms, research and development firms, or in governmental bodies such as defense, armed forces, police, health care and information technology (IT).

Career Specialization

Some indicative career specializations include:

  • Artificial Intelligence
  • Cloud Computing
  • Data Mining and Business Intelligence
  • Game Development
  • Digital Security/Cryptography
  • Mobile Applications Development
  • Robotics
  • Software development & Testing
  • Virtualization
  • Web and Multimedia Design

Degree Requirements

To be recommended for graduation with a BSc in Computer Science degree, students must successfully complete the courses in the specified categories as set out below. The categories cover the University General Education Requirements (GER, 45 credits), the College of Engineering Requirements (CER, 20 credits), as well as Computer Science Core (47 credits), and Technical Electives requirements (18 credits). The normal length of the program is 130 credits. Students may also opt for a concentration in Artificial Intelligence or Cybersecurity.

Additional Math/Sciences Requirements (15 credits)

To satisfy the College of Engineering Requirements, the BSc in Computer Science requires the following courses in addition to the Math/Sciences required in GERs: CHEM 115, PHYS 121, MATH 111, and MATH 112.

MATH 204Linear Algebra

3

MATH 214Mathematical and Statistical Software

3

MATH 232Engineering Mathematics

3

MATH 234Discrete Mathematics

3

MATH 242Introduction to Probability and Statistics

3

Computer Science Core Requirements (47 credits)

COSC 101Foundations of Computer Science

3

COSC 201Computer Systems Organization

3

ECCE 230Object-Oriented Programming

4

ECCE 336Introduction to Software Engineering

3

COSC 301Automata, Computability, and Complexity

3

COSC 310Data Structures

3

COSC 312Design and Analysis of Algorithms

3

COSC 320Principles of Programming Languages

3

COSC 330Introduction to Artificial Intelligence

3

COSC 340Introduction to Computer Security

3

ECCE 354Operating Systems

3

ECCE 356Computer Networks

4

ECCE 434Database Systems

3

COSC 497Senior Design Project I

3

COSC 498Senior Design Project II

3

Computer Science Technical Electives (18 credits)

Students are required to take a total of 18 credits from the following approved technical electives list. Technical electives must be at 300-level or 400-level and at most three credits may be Undergraduate Research. Additional courses may be approved by the department as technical electives.

COSC 401Computational Social Science

3

COSC 410Parallel and Distributed Computing

3

COSC 412Numerical Computing

3

COSC 430Data Analytics

3

COSC 432Algorithmic Robotics

3

COSC 434Introduction to Machine Learning

3

COSC 435Introduction to AI/ML for Cybersecurity

3

COSC 440Digital Forensics

3

COSC 442Applied Cryptography

3

COSC 452Human-Computer Interaction

3

COSC 454Computer Graphics

3

COSC 460Bioinformatics and Genomic Data Science

3

COSC 462Mobile and Web Applications Development

3

COSC 464Natural Language Processing

3

COSC 496Artificial Intelligence Project

3

ECCE 341Java and Network Programming

3

ECCE 436Software Testing and Quality Assurance

3

ECCE 438Software Architecture

3

ECCE 440Distributed Systems

3

ECCE 446Network Security

3

ECCE 448Cloud Infrastructure and Services

3

ECCE 449iOS App Development

3

ECCE 456Image Processing and Analysis

3

ECCE 463Information and Coding Theory

3

ECCE 481Wireless Sensor Networks and Internet of Things

3

 

COSC 377Undergraduate Research

3

Or

COSC 477Undergraduate Research

3

Computer Science Concentrations (Optional)

Computer Science students may opt for selecting a concentration in either Artificial Intelligence or Cyber Security. Selecting a degree concentration at Khalifa University leads to a specialization which will be specified on the student’s academic record (transcript). The concentration consists of 15 credits in the specialized area.

Artificial Intelligence Concentration

COSC 330Introduction to Artificial Intelligence

3

COSC 340Introduction to Computer Security

3

COSC 430Data Analytics

3

COSC 434Introduction to Machine Learning

3

COSC 432Algorithmic Robotics

3

COSC XXX
Artificial Intelligence Elective

3

COSC XXX (Artificial Intelligence Elective): From an approved list of courses.

Cyber Security Concentration

COSC 340Introduction to Computer Security

3

COSC 435Introduction to AI/ML for Cybersecurity

3

ECCE 446Network Security

3

COSC 440Digital Forensics

3

COSC 442Applied Cryptography

3