Sign In

Bachelor of Science in Computer Science

 

Program Overview

The Bachelor of Science in Computer Science (BSCS) at Dar Al-Hekma University is a four-year program with 136 credit hours towards graduation. It provides students with a world-class bachelor's degree in computer science,  during the study of which they learn in-demand computing skills, develop their abilities to solve complex problems, and nurture innovation and creativity. With a hands-on project-based approach, the program helps students in developing the technical and transferable skills that they need for fulfilling careers in the field of technology.

The BSCS curriculum has been designed with an input from industry experts to meet the recent  accreditation criteria of the Accreditation Board for Engineering and Technology (ABET)and the Association for computing Machinery (ACM)and the Institute of Electrical and Electronics Engineers (IEEE) guidelines for computer science programs.  The curriculum s also has multiple industry-recognized certifications that are built into it  to boost students' résumés.


Program Tracks


   Data Analytics​
  • This track focuses on data science, data visualization, and big data analytics.
   Software Engineering​
  • ​ The software engineering track focuses on requirements in engineering, design, and construction.
   Intelligent Systems 
  • ​This track focuses on machine learning, natural language processing, and computer vision.
   Game Development 
  • ​The game development track focuses on mobile games development and serious game design.​
Also,​ Dar Al-hekma University offers unique double tracking programs such as the following:

  • Data Analytics & Intelligent Systems
  • Game development & Intelligent Systems​

Program Mission

Graduating professionals equipped with design thinking, leadership, and research skills in the fields of computer science to foster creativity and sustainability.

Why Choose this Bachelor Program at Dar Al Hekma University?

The BSCS program at Dar Al-Hekma University provides students with a world-class education in an interactive environment that allows for an unparalleled individualized learning experience

Admission requirements​


​​​​​​​​​​​
​​​​​ Programs​​
​​T​OEFL Score​​
(University Level)
Required ​Certificate Percentage​​
Tahsili​ Test Score​​​
​Other Admission Requirements
​Bachelor of Science in
 Computer Science​
​400-500
OR 900 o​​n the SAT
(500 math, 400 English)
​85%
​70%​
​Science Track in
High School


For further details about admissions, click here

​Learning Outcomes​​​​​​


Graduates of the Computer Science program will be able to:​

  • Analyze complex computing problems and apply principles of computing and other relevant disciplines to find solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as members or leaders of a team engaged in activities appropriate to the program's discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. [CS]

            Plan of Study​



            ​​​​​​Year One
            Fall Semester ​Spring Semester

            Course Code

            Course Title

            Credit Hours

            Course Code

            Course Title

            Credit Hours

            ICTC 1302
            Information & Computing 
            Technology Concepts
            3
            COMM 1302
            Communication Skills II
            3
            LOGC 1202
            Digital Logic Concepts
            2
            MATH 1305
            Calculus II
            3
            ARTS XXXX
            Arts & Design
            2
            BSCS 1330
            Discrete Structures
            3
            COMM 1301
            Communication Skills I3BSCS 1350
            Introduction to Programming
            3
            ARAB XXXX
            Arabic Studies
            3
            BSCS 1320
            Computer Architecture &
            Organization
            3
            MATH 1304
            Calculus I
            3
            BSCY 1310
            Fundamentals of 
            Cybersecurity
            3
            BSCS 1160
            Compuer Ethics & Society
            1
            Total Credit Hours 17 Total Credit Hours 18
            Year Two
            Fall Semester ​Spring Semester

            Course Code 

            Course Title

            Credit Hours 

            Course Code 

            Course Title

            Credit Hours 

            Math 1306
            Linear Algebra
            3
            ARAB XXXX
            Arabic Studies
            3
            CHEM 1301
            Chemistry
            3XXXX XXXX
            Required Gen. Ed Electives
            3
            STAT 2301
            Statistics
            3
            PHYS 1301
            Physics
            3
            BSCS 2355
            Object-Oriented
            Programming
            3
            BSCS 2375
            Networking & Data
            Communication
            3
            BSCS 2351
            Fundamental Data 
            Structures
            3BSCS 2310
            Analysis of Algorithms
            3
            BSCS 2370
            Operating Systems 3
            BSIS 2340
            IS Project Management
            3
            Total Credit Hours 18 Total Credit Hours 18
            Year Three
            Fall Semester ​Spring Semester

            Course Code 

            Course Title

            Credit Hours 

            Course Code 

            Course Title

            Credit Hours 

            EMOI 1201
            Emotional Intelligence
            2
            XXXX XXXX
            Required Gen. Ed Electives
            3
            ISLS XXXX
            Islamic  Studies
            3XXXX XXXX
            Free Elective
            3
            BSCS 3340
            Computer Graphics and Visualization
            3
            ISLS XXXX
            Islamic Studies
            3
            BSCS 3345​
            Human Computer Interaction
            3
            BSIS 3320
            Database Management
            Systems
            3
            BSCS 3380
            Artificial Intelligence
            3BSCS 3330
            Computational Science
            Principles
            3
            BSCS 3365
            Software Engineering
            3BSCS XXXX
            Program Elective
            3
            Total Credit Hours 17 Total Credit Hours 18
            Year Four
            Fall Semester ​Spring Semester

            Course Code 

            Course Title

            Credit Hours 

            Course Code 

            Course Title

            Credit Hours 

            ISLS XXXX
            Islamic Studies
            2
            BBBF 1101
            Basic Brain &
            Body Fitness
            1
            ENTR 3301
            Entrepreneurship &
            Design Thinking
            3XXXX XXXX
            Free Elective
            3
            BSCS 4390
            Advanced Applications
            Programming
            3
            BSCS 4392
            Capstone Project II
            3
            BSCS 4315
            Parallel & Distributed
            Computing
            3BSCS 4393
            Internship
            3
            BSCS 4391
            Capstone Project I
            3BSCS XXXX
            Program Elective
            3
            BSCS XXXX
            Program Elective3
            Total Credit Hours 17 Total Credit Hours 13

            Tracks Plan of Study​



            In addition to the above POS in BSCS, students will also cover the following courses based on her chosen track:

            ​​ Track 1: Data Analytics​

            Course Code Course Name Credit Hours
            BSCS 3304Introduction to Data Science3
            BSCS 4303Data Visualization3
            BSCS 4302Big Data Analytics
            3

            Track 2: Software Engineering

            Course Code Course Name Credit Hours
            BSCS 3305Software Requirements Engineering3
            BSCS 4306Software Design and Construction3
            BSCS 4307Software Verification and Validation3

            Track 3: Intelligent Systems​
            Course Code Course Name Credit Hours
            BSCS 3385Machine Learning3
            BSCS 4386Natural Language Processing3
            BSCS 4388Computer Vision3

            Track 4: Intelligent Systems​
            Course Code Course Name Credit Hours
            BSCS 3395
            Computer Games Design and Development3
            BSCS 4396Mobile and Casual Games Development3
            BSCS 4397Educational and Serious Game Design3


            Double​ Tracks Plan of Study​​


            For students who choose double tracking. The following POS will be followed in addition to the main POS: 

            ​Double Track 1: Data Analytics & Intelligent Systems ​

            Course Code Course Name Credit Hours
            BSCS 3304Introduction to Data Science3
            BSCS 4303Data Visualisation3
            BSCS 4302Big Data Analytics3
            BSCS 3385Machine Learning3
            BSCS 4386Natural Language Processing3
            BSCS 4388Computer Vision3

            ​​Double Track 2: Game development & Intelligent Systems ​ ​
            Course Code Course Name Credit Hours
            BSCS 3395Computer Games Design and Development3
            BSCS 4396Mobile and Casual Games Development3
            BSCS 4397Educational and Serious Game Design3
            BSCS 3385Machine Learning3
            BSCS 4386Natural Language Processing3
            BSCS 4388Computer Vision3

            ​​

            ​​

            ​​​Career Prospects​​​ ​​


            The program equips students with the necessary skills that qualify them for a variety of career paths/ jobs in the market including, but not limited to:

            ​​​​​​​​Course Description​​​​

            ​​

            Course Code:     CHEM 1301
            Course Name:   Chemistry
            Credit Hours: 3 (2,2)
            Prerequisites: none
            Course Description:​
            This course introduces the fundamental principles of nuclear, organic and general chemistry and their practical applications. It focuses on the structure of biochemical molecules and their physical and chemical properties. The course also includes inquiry based qualitative and quantitative laboratory experiments.



            Course Code:
            BSCS 2330
            Course Name:
            Discrete Structures
            Credit Hours: 3 (3,0)
            Prerequisites: none
            Course Description:
            This course introduces important foundational mathematical models essential for the proficiency in some of the higher-level computer science courses such as networking, operating systems, intelligent systems, compilers, software engineering, cryptography, and databases. It covers the propositional and predicate logic, and proof techniques to be used for creating and understanding formal symbolic proof or mathematically rigorous argument. The course also presents the graph, probability, and set theories as well as functions and relations, Discrete probability, Recursive Algorithms, Elementary combinatorics, and Counting methods.



            Course Code:
            MATH 1304
            Course Name:
            Calculus I
            Credit Hours: 3 (2,2)
            Prerequisites: none
            Course Description:
            This course introduces the use of calculus in computing emphasizing computational skills, ideas, and problem solving. It provides the concepts of differentiation and integration in computing applications. It also covers real numbers, functions, continuity and limits, derivatives, curve sketching, optimization areas between curves, applications of the derivative, anti-derivatives, integrals, and areas.
             


            Course Code: MATH 1305 Course Name: Calculus II
            Credit Hours: 3 (2, 2)
            Prerequisites: MATH 1304 Calculus I
            Course Description:
            This course introduces the integral and differential calculus. It covers techniques of integration, improper integrals, sequences and series of numbers, Taylor series, polar coordinates, parametric equations, and differential equations.



            Course Code:
            MATH 1306
            Course Name:
            Linear Algebra
            Credit Hours: 3 (2,2)
            Prerequisites: none
            Course Description:
            The course is an introduction to matrix theory and linear algebra. Emphasis is given to topics that will be useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, similarity, and positive definite matrices. This course also introduces the idea of abstract mathematics through vectors in 2- spaces to n-spaces, and other related topics such as eigenvalues and eigenvectors.



            Course Code:
            PHYS 1302
            Course Name:
            Physics
            Credit Hours: 3 (2,2)
            Prerequisites: none
            Course Description:
            This course introduces fundamental principles of physics and their applications in solving several problems in different contexts. It examines applications related to architecture and modern technology. Emphasis is placed on developing a conceptual understanding of techniques through laboratory exercises and multimedia simulations.



            Course Code:
            STAT 2301
            Course Name:
            Statistics
            Credit Hours: 3 (2,2)
            Prerequisites: MATH 1304
            Course Description:
            This course gives students an introduction to basic statistical terms and methods used in applications. It introduces concrete examples handling data sets and using standard techniques for displaying and summarizing results. Other topics studied include probability, discrete and continuous random variables, normal curves, statistical inference, and hypothesis testing.



            Course Code: BSCS 1360 Course Name: Computer Ethics and Society
            Credit Hours: 3 (3,0)
            Prerequisites: none
            Course Description:
            This course addresses ethical and social issues related to the development and use of computer technology. It covers the responsibilities of computer professionals for applications and consequences of their work. It also presents computing topics within the social, political, legal, and ethical contexts, including social impact of computers and the Internet, professionalism, codes of ethics, responsible conduct, copyrights, intellectual property, and software piracy. The course also highlights different scenarios focusing on challenge areas such as privacy, reliability, and risks of complex systems.



            Course Code:
            BSCS 1321
            Course Name:
            Digital Logic Concepts
            Credit Hours: 3 (2,2)
            Prerequisites: none
            Course Description:
            This course focuses on fundamental constructs and concepts underlying computer hardware, the structure of computers components, and digital logic. It presents number systems notions and operations including decimal, binary, octal, and hexadecimal systems. The course also covers binary arithmetic, codes, Boolean algebra, gates, Boolean expressions, Boolean switching function synthesis, iterative arrays, sequential machines, state minimization, flip/flops, sequential circuits, and simple processors.



            Course Code:
            BSCS 2320
            Course Name:
            Computer Architecture and Organization
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 1321 Digital Logic Concepts
            Course Description:
            This course covers the principles of computer organization and instruction set architecture. It introduces the organization and architecture of the basic building blocks of computer hardware including Arithmetic Logic Unit (ALU), registers, Central Processing Unit (CPU), and memory as well as input/output processing and management. It also provides the fundamentals of translating higher level languages into assembly language and interpreting machine languages by hardware.



            Course Code:
            BSCS 1350
            Course Name:
            Introduction to Programming
            Credit Hours: 3 (2,2)
            Prerequisites: None
            Course Description:
            This course builds the foundation for coding experience through explaining the syntax and semantics of a higher-level language. The course covers developing programs using fundamental concepts of procedural programming including primitive data types and strings, conditional and iterative control structures, methods, and parameter passing, files and I/O streams, and arrays. It also covers the mechanics of running, testing, and debugging computer programs using proper Integrated Development Environment (IDE) with a substantial utilization of lab- based exercises.



            Course Code: BSCS 2310 Course Name: Analysis of Algorithms
            Credit Hours: 3 (3,0)
            Prerequisites: BSCS 2351 Fundamental Data Structures
            Course Description:
            This course covers methods for designing efficient and reliable algorithms for sorting, searching, and selection, using several algorithm design strategies. It emphasizes the proving of algorithm correctness using worst and average case analysis and the implementing of many common algorithms using several algorithm design techniques, including divide-and-conquer, dynamic programming, Branch-and-bound, Recursive backtracking, Brute-force algorithms, and greedy algorithms. The course also covers algorithms of advanced data structures, such as binary search trees and graph algorithms: minimum-cost spanning tree, connected components, topological sort, and shortest paths.



            Course Code:
            BSCS 2351
            Course Name:
            Fundamental Data Structures
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 1350 Introduction to Programming
            Course Description:
            This course covers program design, analysis, and verification as well as the study of basic data structures including arrays, linked lists, stacks, queues, trees, hash tables, and graphs. It presents the proper use of built-in data structures, their alternative implementations, and the strategies for choosing the proper structures. The course also introduces recursion techniques and algorithms used to process and traverse presented data structures such as Heap Sort and Binary Search Tree algorithms.



            Course Code:
            BSCS 2355
            Course Name:
            Object Oriented Programming
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 1350 Introduction to Programming
            Course Description:
            This course covers the concepts of object-oriented programming. It provides a review of the object-oriented programming paradigm with an emphasis on the definition and use of classes and objects along with encapsulation and information- hiding. The course also covers fundamental concepts of object-oriented design including inheritance and polymorphism, interfaces and overloading, exception handling, generics, and collections.
             


            Course Code: BSCS 2370 Course Name: Operating Systems
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2320 Computer Architecture and Organization
            Course Description:
            This course introduces several types of operating systems (OS), including networked, client-server, distributed operating systems, and their roles, purpose, and functionalities. It also focuses on operating systems design and implementation issues: system security; synchronization and communication mechanisms; process implementation, management, scheduling, and protection; virtual machines; memory organization and management, involving virtual memory; and I/O device management, secondary storage, and file systems.



            Course Code: BSCS 2375 Course Name: Networking and Data Communication
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2320 Computer Architecture and Organization
            Course Description:
            This course focuses on fundamental concepts of data communication and networking principles. It introduces the underlying design, components, and protocols of each layer of the computer networks layered architectures: application, transport, network, datalink, and physical. It also presents techniques for transmitting information efficiently and reliably over a variety of communication media using networking protocols such as Transmission Control Protocol/Internet Protocol (TCP/IP), Ethernet, reliable transfer, flow control, and congestion control. The course covers network topologies, networks security, socket programming, networks applications, and protocols such as Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and peer-to-peer (p2p), as well as wired and wireless Local and Wide Area Networks (LAN’s/WAN’s).



            Course Code: BSCS 2340 Course Name: Computer Graphics and Visualization
            Credit Hours: 3 (2,2)
            Prerequisites: Math 1306 Linear Algebra 
            BSCS 2351 Fundamental Data Structures

            BSCS 2310 Analysis of Algorithms
            Course Description:
            This course describes the principles and basics of computer graphics generation and manipulation. It explains the fundamentals of rendering 2D shapes and 3D models using scan conversion algorithms, Application Programming Interface (API) such as Open Graphics Library (OpenGL), and graphics tools. It also introduces a mathematical camera model for light interaction with surfaces, lenses, and an imager to shade and texture realistic 3D models using color models, texture mapping, affine transformations, ray casting, ray tracing, anti-aliasing, and depth buffering techniques, and basic algorithms and applications for scalar and vector visualizations using visualization tools.
             


            Course Code: BSCS 3345 Course Name: Human Computer Interaction
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2355 Object Oriented Programming
            Course Description:
            This course focuses on designing, implementing, and evaluating user interfaces of computational systems to enhance the interactions with human activities. It covers user-centered design, rapid prototyping and experimentation, user interface standards, cognitive and social models that inform interaction design, Graphical User Interfaces (GUI) principles and visual design tools, as well as designing Human Computer Interaction (HCI) on webpages, business applications, mobile applications, games, and other computer applications.



            Course Code:
            BSCY 1310
            Course Name:
            Fundamentals of Cybersecurity
            Credit Hours: 3 (3,0)
            Prerequisites: None
            Course Description:
            This course introduces the concepts of cybersecurity and risk management. It highlights the importance of cybersecurity and the integral role of cybersecurity professionals in the planning, developing, and performing security tasks and policies with respect to hardware, software, processes, networks and communications, data and applications, policies, and procedures. The course also provides the foundational cybersecurity risk management principles, including reducing vulnerabilities and threats, applying proper safeguards/controls, security architecture, compliance and operational security, threats and vulnerabilities attacks, incidents, and cryptography.



            Course Code:
            BSIS 2340
            Course Name:
            IS Project Management
            Credit Hours: 3 (2,2)
            Prerequisites:
            Course Description:
            This course introduces a systematic approach for IS project management, based on the Project Manager Body of Knowledge (PMBOK) guide. It presents the initiating, planning, executing, controlling, and closing of the information systems projects in organizations. It also covers managing large projects in modern organizations, involving performing complex team-based activities that take advantage of several kinds of project management and group collaboration software tools.



            Course Code: BSIS 3320 Course Name: Database Management Systems
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2351 Fundamental Data Structures
            Course Description:
            This course introduces data and information management using relational database systems. The course presents practical experience in the development of database applications through the steps of determining and modeling the organizational information requirements using conceptual, logical, and physical data modeling techniques, and implementing these models into a relational database using an industrial-strength database management system. The course also covers database query languages including SQL, essential database administration tasks, and basic concepts of data quality and data security.
             


            Course Code: BSCS 3330 Course Name: Computational Science Principles
            Credit Hours: 3 (2,2)
            Prerequisites: Math 1306 Linear Algebra
            Math 1305 Calculus II
            BSCS 2310 Analysis of Algorithm
            Course Description:
            This course focuses on the concepts and practices of data modeling, simulation, and analysis of physical processes. It covers basic computational simulation and modeling tools, such as Python toolkit stack. The course also introduces common computational algorithms for performing scientific modeling, including computational integration and differentiation, random Monte Carlo methods and solutions of ordinary differential equations.



            Course Code:
            BSCS 3365
            Course Name:
            Software Engineering
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2355 Object Oriented Programming Object oriented programming
            Course Description:
            This course focuses on the fundamentals systems development using standard analysis and design techniques including waterfall, spiral, and Objet Oriented Design (OOD) methods. It covers project management techniques as well as System Development Life Cycle (SDLC) phases: problem analysis, scope definition, system requirements specification, system design and modeling, system implementation and validation, and system deployment and maintenance.



            Course Code:
            BSCS 3380
            Course Name:
            Artificial Intelligence
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2351 Fundamental Data Structures
            Course Description:
            This course introduces fundamental techniques in the field of Artificial Intelligence (AI), which studies solutions for problems that are difficult or impractical to solve with traditional methods. It covers search strategies including uninformed search, heuristics and informed search; knowledge representation and reasoning, basic machine learning methods. The course also presents current AI applications in selected areas such as game playing and natural language processing.



            Course Code: BSCS 4315 Course Name: Parallel and Distributed
            Computing
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2370 Operating System
            Course Description:
            This course introduces basic concepts in the design and implementation of parallel and distributed systems. It focuses on the fundamental architecture of parallel and distributed systems as well as the computing algorithms and programming models to build those systems. The course also covers the communications and coordination of parallel and distributed systems in addition to emerging technologies including cloud computing, grid computing, cluster computing, and supercomputing.



            Course Code:
            BSCS 3390
            Course Name:
            Advanced Applications Programming
            Credit Hours: 3 (2, 2)
            Prerequisites: BSCS 2355 Object Oriented Programming
            Course Description:
            This course introduces the theory, design, techniques, practices, and languages used to develop software systems and applications for the internet and cloud computing, with a focus on web-based client server applications and mobile applications. It covers several advanced applications development environments including web development programming using JavaScript, Hyper Text Markup Language (HTML), Cascading Style Sheets (CSS), Extensible Markup Language (XML), and web services as well as mobile application development of major mobile operating system platforms for both smartphones and tablets. It also covers server database management technology such as Active Server Page (ASP), and cross-platform development. The course emphasizes the development, design, and building of a variety of apps to reinforce learning and to develop real competency.



            Course Code:
            BSCS 3340
            Course Name:
            Networks and Connections Security
            Credit Hours: 3 (2, 2)
            Prerequisites: BSCS 2375 Networking and Data Communication
            Course Description:
            This course focuses on the security of the connections between software components including both physical and logical connections. It covers security issues, vulnerabilities, connection attacks, and Transmission attacks related to distributed systems including computer networks, World Wide Web (WWW), the Internet, High performance computing (HPC), and Cloud Services. The course also introduces current concepts in network protection including Network hardening, network traffic auditing services such as Intrusion Detection(ID) and Intrusion Prevention Services (IPS), firewalls, Virtual Private Networks (VPNs), Honeypots and honeynets, Network monitoring and traffic analysis, Network access control, Perimeter networks, Network policy and operational procedures development and enforcement as well as test the network by actually attempting to exploit vulnerabilities using session hijacking and man-in-the middle techniques.
            This course focuses on the security of the connections between software components including both physical and logical connections. It covers security issues, vulnerabilities, connection attacks, and Transmission attacks related to distributed systems including computer networks, World Wide Web (WWW), the Internet, High performance computing (HPC), and Cloud Services. The course also introduces current concepts in network protection including Network hardening, network traffic auditing services such as Intrusion Detection(ID) and Intrusion Prevention Services (IPS), firewalls, Virtual Private Networks (VPNs), Honeypots and honeynets, Network monitoring and traffic analysis, Network access control, Perimeter networks, Network policy and operational procedures development and enforcement as well as test the network by actually attempting to exploit vulnerabilities using session hijacking and man-in-the middle techniques.



            Course Code:
            BSCS 4308
            Course Name:
            Selected Topics
            Credit Hours: 3 (2,2)
            Prerequisites: none
            Course Description:
            Selected Topics course will expose students to the topics and current state-of-the-art  in   advanced area not offered by other existing courses. The course explores the current and potential future impacts of new, emerging, and rapidly evolving technologies in computer science. Students will gain insights into these technologies and how society, organizations and people are coping (or not) with the resulting disruption. Overall, the course will provide a broader and deeper perspective of the emerging areas in the fields.



            Course Code: BSCS 4391 Course Name: Capstone Project I
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3365 Software Engineering 
            (At least 90CH)
            Course Description:
            This course is part of a two-part fold capstone project, completed in Capstone Project II. The project stresses the integration of learning from across the curriculum within the Computer Science field with a strong technical focus. Teams practice gained knowledge and skills, in a realistic development setting with real clients. The course covers design thinking principles and techniques, and analysis of the client’s business processes to produce a project proposal that addresses a contemporary business issue or an opportunity. Projects are completed in Capstone Project II.



            Course Code:
            BSCS 4392
            Course Name:
            Capstone Project II
            Credit Hours: 3 (1,4)
            Prerequisites: BSCS 4391 Capstone Project I
            Course Description:
            This course is a continuation of a two-part research project, begun in Capstone Project I course. It stresses on the integration of learning from across the curriculum within the Computer Science field in an applied capstone project with a strong technical focus. This course concentrates on the further development, information system project implementation, deployment, and validation of information system projects. The course emphasizes the successful demonstration of the information system in a practical environment.



            Course Code:
            BSCS 3393
            Course Name:
            Internship
            Credit Hours: 1(1,0,6)
            Prerequisites: BSCS 3365 Software Engineering
            Course Description:
            This course offers the opportunity to undertake either an external work experience at an organization or on-site professional practicum relevant to the field of Computer Science. The Internship provides the ability to apply skills and academic knowledge acquired in a contemporary workplace situation and to receive hands- on learning, in preparation for the workforce.


            CS Program Electives 



            Course Code:
            BSCS 4301
            Course Name:
            Cloud Computing
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2370 Operating Systems
            BSCS 2375 Networking and Data Communication
            Course Description:
            This course introduces the basic knowledge and concepts of building cloud infrastructure. It covers the technologies, components, processes, and mechanisms of a cloud computing reference model that includes five fundamental layers (physical, virtual, control, orchestration, and service) and three cross-layer functions (business continuity, security, and service management). The course also provides an ‘open’ approach of technology concepts and principles that can be applied in any environment.



            Course Code:
            BSCS 4302
            Course Name:
            Big Data Analytics
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3304 Introduction to data science
            Course Description:
            The course introduces the core concepts behind big data problems, applications, and systems as well as the basic and advanced analytical methods and big data analytics technology and tools. It presents the baseline of understanding the Data Analytics Lifecycle to address business challenges that use big data. The course also covers cloud-based big data analysis and application of large-scale data analysis.



            Course Code: BSCS 3305 Course Name: Software Requirements Engineering
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3365 Software Engineering
            Course Description:
            This course focuses on the properties and engineering of software systems requirements. It covers methods, analysis and formal specifications of systems requirements elicitation. The course also presents systems requirements modeling techniques including prototyping and concepts of requirements validation and tracing.



            Course Code:
            BSCS 4306
            Course Name:
            Software Design and Construction
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3305 Software Requirements Engineering
            Course Description:
            This course focuses on the software systems design and construction as a part of the software systems development process. It covers the architecture and models for internal and external qualities in designing software components and analyzing the software design from the perspective of a significant internal and external quality attribute. The course also presents the role of object-oriented paradigm within middleware design as well as the constructing of robust software using security enhanced programming and documentation.



            Course Code:
            BSCS 4307
            Course Name:
            Software Verification and Validation
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 4306 Software Design and Construction
            Course Description:
            This course focuses on software systems verification and validation as a part of the software systems development process. It covers the creation, evaluation, and implementation of a test plan for verifying and validating software systems using static and dynamic approaches including regression testing, test-driven development, object-oriented testing as well as Fault logging and tracking. The course also presents the verification and validation of non-code artifacts including documentation, help files, and training materials.
             


            Course Code: BSCS 3385 Course Name: Machine Learning
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3380 Artificial Intelligence
            Course Description:
            This course focuses on the design, implementation, and analysis of machine learning concepts and fundamental algorithms. It covers supervised learning algorithms including decision tree learning, support vector machines, and neural networks. It also introduces unsupervised learning algorithms including k-means and expectation maximization, and optionally reinforcement learning algorithms such as Q learning and temporal difference learning. The course also presents methods for the evaluation of learning algorithms, as well as topics in computational learning theory.



            Course Code:
            BSCS 4386
            Course Name:
            Natural Language Processing
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3385 Machine Learning
            Course Description:
            This course introduces the fundamental concepts of natural language processing (NLP). It covers The study of human language from a computational approach. The course's goal is to give students a deep grasp of the paradigms that are currently being used in natural language processing as well as practical experience in creating NLP systems employing these paradigms. Students will use both statistical and symbolic methods to NLP in their projects.



            Course Code:
            BSCS 4387
            Course Name:
            Robotics
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3380 Artificial Intelligence
            BSCS 2370 Operating Systems 
            Course Description:
            This course introduces an overview of capabilities and limitations of today's state- of-the-art robot systems, including their sensors and sensor processing. It covers the integration of sensors and actuators to design and program robots to accomplish tasks using deliberative, reactive, and/or hybrid control architectures. The course presents the handling of uncertainties associated with robots sensors and actuators. It also presents the implementation of motion planning algorithms within a robot configuration space and environmental maps.



            Course Code:
            BSCS 3304
            Course Name:
            Introduction to Data Science
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3380 Artificial Intelligence
            Course Description:
            This course focuses on standards and practices for collecting, organizing, managing, exploring, and using data. It aims to provide introductory knowledge of several data science techniques that can be used for data analysis. Topics include preparation and analysis of data and creating analysis tools for larger data sets



            Course Code:
            BSCS 4388
            Course Name:
            Computer vision
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3385 Machine Learning
            Course Description:
            This course introduces computer vision, including fundamentals of image formation, camera imaging geometry, feature detection and matching, stereo, motion estimation and tracking, image classification, scene understanding, and deep learning with neural networks. In this course, basic methods for applications that include finding known models in images, depth recovery from stereo, camera calibration, image stabilization, automated alignment, tracking, boundary detection, and recognition will be developed.



            Course Code:
            BSCS 4303
            Course Name:
            Data visualization
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS      3304
            Introduction to data science
            Course Description:
            This course presents the art and science of turning data into readable graphics. It explains the design and creation of data visualizations based on data available and tasks to be achieved using data visualization tools. This process includes data modeling, data processing (such as aggregation and filtering), mapping data attributes to graphical attributes, and strategic visual encoding based on known properties of visual perception. It also covers the evaluation of the effectiveness of visualization designs, and think critically about each design decision, such as choice of color and choice of visual encoding.
             


            Course Code: BSCS 3395 Course Name: Computer Games Design and Development
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2340 Computer Graphics
            BSCS 3380 Artificial Intelligence
            Course Description:
            This course presents an overview of the history of computer games and the principles of game design and development. It covers game genres, content, patterns, playability, suspension of disbelief and immersion, storytelling, and game balance and fairness. The course focuses on the design and development of two- and three-dimensional games from concept to completion stage.



            Course Code:
            BSCS 4396
            Course Name:
            Mobile and Casual Games Development
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2355 Object Oriented Programming
            Course Description:
            This course focuses on the design and development of mobile (handheld, PDA and cell-phone) and casual gaming. It covers the mobile hardware resources such as smaller memory, limited processor capabilities, and smaller displays and their implications and limitations to the games design and playability. The course also presents patterns of casual game development and emerging markets for casual games.



            Course Code:
            BSCS 4397
            Course Name:
            Educational and Serious Game Design
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2355 Object Oriented Programming
            Course Description:
            This course presents the history, theory, current best practices and the use of serious gaming in education and training. It focuses on how to engage and entertain while presenting informative interfaces to the user. The course also covers motivation, designing engaging learning interfaces, and knowledge transfer from the game environment to the real world.
             


            Course Code: BSCS 3390 Course Name: CS Research Methods
            Credit Hours: 3 (3,0)
            Prerequisites: none
            Course Description:
            The course enhances the knowledge of research methods on both practical and theoretical level, including lectures and seminars. It explains various research methods and techniques within the area of Computer Science (CS). It also covers planning, designing, and carrying out investigations and studies using both qualitative and quantitative methods in addition to writing up and presenting the research reports and results.
            Course Code: BSCS 2325 Course Name: Computer Systems Fundamentals
            Credit Hours: 3 (3,0)
            Prerequisites: BSCS 2320 Computer Architecture and Organization
            Course Description:
            This course focuses on fundamentals and concepts of computer systems. It presents an integrative view of fundamental concepts through the use of computational paradigms, parallelism, cross-layer communications, state and state transition, and resource allocation and scheduling.



            Course Code:
            BSCS 3311
            Course Name:
            Basic Automata and Complexity
            Credit Hours: 3 (3,0)
            Prerequisites: BSCS 2310 Analysis of Algorithms
            Course Description:
            This course focuses on logical and mathematical foundations of computer science including basic automata computability and complexity. It covers the concept of finite state machines, the generation of regular expressions and context-free grammars to represent specified languages and deterministic finite state machines. The course also presents the halting problem, the classes P and NP, and NP- completeness.



            Course Code:
            BSCS 1376
            Course Name:
            IT Essential
            Credit Hours: 3 (2,2)
            Prerequisites:
            Course Description:
            This course provides a comprehensive overview of computer hardware and software with an introduction to advanced concepts. It introduces the internal components of a computer, mobile devices hardware and software, as well as operating systems, networking concepts and IT security. It explains the responsibilities of an IT professional and different system tools and diagnostic software used for troubleshooting.



            Course Code:
            BSCS 3377
            Course Name:
            Routing and Wireless Essentials
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 2375 Networking and data communication
            Course Description:
            This course focuses on switching technologies and router operations that support small-to-medium business networks and includes wireless local area networks (WLAN) and security concepts. It covers the architecture, components, and operations of routers and switches in a small network. It introduces also the concept of forwarding data between different networks in a LAN and the configuration of a router and a switch for basic functionality. This course provides the knowledge to configure and troubleshoot routers and switches and resolve common issues with virtual LANs routing in both IPv4 and IPv6 networks. This course also covers DHCP protocol, network address translation (NAT) and access control lists (ACL) used to filter network traffic.



            Course Code: BSCS 3378 Course Name: Enterprise Networking and Automation
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 3377 Routing and Wireless Essentials
            Course Description:
            This course describes the architectures and considerations related to designing, securing, operating, and troubleshooting enterprise networks. It focuses on the configuration of routers and switches for advanced functionality. It covers also wide area network (WAN) technologies and quality of service (QoS) mechanisms used for secure remote access along with the introduction of software-defined networking (SDN), virtualization, and automation concepts that support the digitalization of networks. This course also provides knowledge and skills needed to implement a WLAN in a small-to-medium network. 



            Course Code: BSCS 4323 Course Name: Industry 4.0
            Credit Hours: 3 (2,2)
            Prerequisites:
            Course Description:
            This course examines the evolution of Industry 4.0 and its applications in the business world. It provides a comprehensive coverage on the role of data, information, knowledge, as well as various Industry 4.0 technologies and applications. This course also focuses on different challenges of Industry 4.0, and how organizations and knowledge workers can prepare themselves to reap the benefits of this evolution.



            Course Code:
            BSCS 3394
            Course Name:
            Mobile Application Development
            Credit Hours: 3 (2,2)
            Prerequisites: BSCS 1350 Introduction to Programing
            Course Description:
            This course provides the skills and knowledge needed to design, develop, and deploy their own mobile applications. It is a hands-on course, that presents the fundamentals of mobile application development, covering both Android and iOS platforms. The course also covers essential aspects like mobile security, testing methodologies, and performance optimization, to create secure, reliable, and high-performance mobile solutions.​


            Ms. Abeer Kheder AlGhamdi

            Lecturer

            Hekma School of Engineering, Computing and Design

            Dr. Ghadah Abdulrahman Alghamdi

            Assistant Professor

            Hekma School of Engineering, Computing and Design

            Dr. Anas Mohammed Al Tirawi

            Director - Assistant Professor

            Hekma School of Engineering, Computing and Design

            Dr. Imed Ben Dhaou

            Associate Professor

            Hekma School of Engineering, Computing and Design

            Dr. Sahar Siraj Shabanah

            Acting Vice President - Assistant Professor

            Hekma School of Engineering, Computing and Design

            Dr. Saoucene Alh Mahfoudh

            Vice Dean of School - Assistant Professor

            Hekma School of Engineering, Computing and Design

            Dr. Turki Abdullah AlThaqafi

            Chair- Assistant Professor

            Hekma School of Engineering, Computing and Design

            Key Facts

            Program Name

            Computer Science


            Academic Degree

            Bachelor


            Credit Hours

            136


            Program Length

            4 Years


            Mode of study

            Full time

            Dr. Sahar Siraj Shabanah

            Acting Vice-President, Academic Affairs


            PhD, Computer Science, George Mason University, USA, 2010

            MSc, Computer Science, George Washington University, USA, 2001

            BSc, Computer Science, King Abdul Aziz University, Jeddah, KSA, 1990

            For an optimal experience please
            rotate your device to portrait mode