Program Requirements 

CS0-0110 Calculus 1 
This course aims to build a strong foundation in calculus principles and their practical applications. Students will be introduced to limits, continuity, derivatives of different functions, as well as parametric, implicit and partial differentiation. The course also covers real-world applications, including curve sketching. Through interactive lectures and discussion, students will apply the tools of calculus to a variety of problem situations. The hands-on experience gained in this course will develop and strengthen the students’ problem-solving skills and to teach them to read, write, speak, and think in the language of mathematics . Prerequisite(s): None

CS0-0111 Physics
This course aims to introduce students to the principles of electricity, magnetism and light. Students will be introduced to electricity laws such as Coulomb, Gauss, Ohm and Kirchoff laws. The course also covers magnetism laws such as Faraday, Biot- Savart and Amper laws as well as the wase optics. Through interactive lectures, discussion and practical, students will apply the tools of physics to a variety of problem situations. The hands-on experience gained in this course will develop and strengthen the students’ solid foundation in the principles of physics, along with the ability to analyze and solve basic physics problems. Prerequisite(s): None

CS0-0130 Algorithms and Problem Solving
This course aims to provide a solid foundation in problem-solving techniques and an understanding of algorithmic thinking. This introductory course focuses on the fundamental skills of designing and developing algorithms, emphasizing their role in solving computational problems, basics of Python programming, and how to approach and break down problems logically. Through practical exercises and conceptual discussions, students will experience how algorithms are used in various contexts, preparing them to apply these skills in computing and beyond. Prerequisite(s): None

CS0-0210 Introduction to Programming
This course introduces students to essential programming skills and algorithmic thinking, preparing them for further study in computer science. It includes data types, expressions, control structures, methods, functions, arrays, and class design. Students will participate in hands-on coding exercises, algorithm modeling, and programming projects. They will gain practical experience in computer programming, developing their problem-solving abilities and technical skills . Prerequisite (s): CS0-0130-Algorithm and Problem Solving

CS0-0220 Logic Design
This course introduces the basic concepts and theories of Logic Design. Students will start with the fundamentals of Boolean Algebra, including its definitions, theorems, and properties. They'll learn about Boolean functions, standard forms, and how to use digital logic gates. Students will engage in activities such as simplifying combinational logic, exploring numbering systems, and practicing gate-level minimization using Karnaugh Maps. They'll also work hands-on with key digital components like adders, subtractors, decoders, encoders, multiplexers, and more. The course will cover sequential logic, focusing on flip-flops, registers, counters, and the serial adder. By the end, students will have the skills to analyse and design basic digital circuits. Prerequisite(s): None

CS0-0230 Web Technologies 1
This course introduces students to foundational web technologies, equipping them with the skills needed to create, design, and enhance web pages. By integrating theory with hands-on practice, the course prepares students for roles in web development and design. The course content covers the essentials of HTML for structuring web content, CSS for styling and layout, and JavaScript for adding interactivity and dynamic elements to web pages. It also explores the integration of these technologies in building modern, responsive web applications. Students will participate in hands-on labs, and coding assignments that challenge them to design and develop web pages from scratch and will be used to demonstrate real-world applications and best practices in web development. Through an interactive and practical approach, students will gain the experience necessary to understand the synergy between HTML, CSS, and JavaScript, enabling them to build functional and aesthetically pleasing web applications. Prerequisite (s): CS0-0210 - Introduction to Programming

CS0-0240 Data Structures
This course provides an in-depth overview of abstract data types (ADT), the design and implementation of data structures and algorithms, and their practical applications in computer science. The course will cover fundamental data structures such as stacks, queues, linked lists, trees, graphs, and explore advanced concepts like recursion and the visualization of data structures. Students will engage in learning activities that include collaborative problem-solving, algorithm analysis, and discussions on efficiency and trade-offs in data structure selection. Hands-on learning is emphasized through programming assignments and case studies where students will design, implement, and optimize data structures to solve real-world problems. By the end of the course, students will have a strong foundation in understanding and applying data structures to develop efficient, scalable software solutions. Prerequisite (s):  CS0-0210 Introduction to Programming

CS0-0250 Discrete Mathematics
This course aims to introduce students to ideas and techniques from discrete mathematics that are widely used in computer science and engineering. Students will be introduced to logic, sets, functions, algorithms, number theory and counting. The course also covers induction, recursion, discrete probability, graphs as well as Boolean algebra. Through interactive lectures and discussion, students will apply the tools of discrete mathematics to complex problems in computer science. The hands-on experience gained in this course will develop the students’ mathematical concepts and technique which should serve as a preparation for more advanced quantitative courses. Prerequisite (s): CS0-0110 Calculus 1

CS0-0260 Introduction to Statistics
This course aims at developing students’ formative knowledge and skills in statistics and probability. It covers topics such as fundamentals of statistics, descriptive statistics, probability methods, conditional probability, probability models, random variables, mean, variance, point estimation, and confidence interval. Prerequisite (s): CS0-0110 Calculus 1

CS0-0270 Linear Algebra
This course discusses the basic concepts of linear algebra, spanning, linear independence, and linear transformations. It addresses how to perform algebraic operations with matrices and provides different tools for handling the various applications of linear algebra. This course introduces the determinant, the vector spaces and the concepts of eigenvectors and eigenvalues to support engineering design. It shows the principles of distance and orthogonality in a vector space and examines various least-squares problems of applications. The course also discusses the symmetric matrices and quadratic forms. Prerequisite(s): CS0-0110 Calculus 1

CS0-0280 Introduction to Software Engineering & System Analysis
This course introduces students to the core concepts and theories of Information Technology, preparing them for diverse IT roles by integrating theoretical concepts with practical skills. The content of this course covers computer systems, networking, database management with Microsoft Access and Excel, basic programming in Python, web design with HTML5, an introduction to Artificial Intelligence and Machine Learning, ethical and social implications of technology. Students will engage in hands-on labs, assignments, group projects, and case studies to apply their learning and develop problem-solving skills. This interactive approach ensures students gain practical experience and equipping them with the expertise needed for various IT careers. Prerequisite (s): ICT-1313 Introduction to Information Technology

CS0-0290 Calculus 2 
This course develops the students’ skills in the art of integration by studying different methods for solving integration problems, using these methods to deal with some application in engineering, like finding the areas, volumes, the average of a function and the length of the curve. Additionally, the course Introduces students to differential equations, which arise as a mathematical modelling in many topics of Engineering and Computer Science. Students will apply the tools of calculus to a variety of problem situations through interactive lectures and discussion. This course provides hands-on experience that will enhance and refine students' problem-solving skills. Prerequisite (s): CS0-0110 Calculus 1

CS0-0310 Computer Networks 
This course will cover the fundamental aspects of computer networks, including the application layer, transport layer, network layer, and link layer protocols. Students will analyse and evaluate network architectures, protocols, and technologies used in modern computer networks. Topics include protocols and message formats at the application layer, reliability and congestion control mechanisms at the transport layer, and routing algorithms, IP addressing, and subnetting at the network layer. Additionally, students will explore link layer protocols for media access control and error detection. Hands-on activities will include configuring network devices, setting up and troubleshooting networks, and implementing subnetting schemes. By the end of the course, students will have a solid understanding of computer networks and the ability to apply their knowledge to solve real-world networking problems, including addressing and subnetting challenges. Prerequisite (s): ICT-1313 Introduction to Information Technology

CS0-0320 Computer Organization & Architecture
This course provides a comprehensive introduction to the internal workings and architectural features of computer systems, aiming to build a foundational understanding of how computers operate at a low level. Students will explore key topics such as basic processor components, Boolean algebra, digital logic, memory structures, machine instructions, and addressing modes, with a focus on RISC architecture and the role of parallelism in computing. Through hands-on activities and practical exercises, students will gain experience in designing and analysing digital circuits, working with assembly language, and understanding the complexities of computer organization. Upon completion, students will be equipped to advance in computer architecture studies. Prerequisite (s): CS0-0220 Logic Design

CS0-0330 Object-Oriented Programming
This course aims to illustrate the principles of object-oriented programming (OOP), focusing on the development of reusable and efficient code using the Python language. Topics include the fundamentals of object-oriented programming such as classes, objects, inheritance, polymorphism, and other related concepts. Students will engage in coding exercises, practical assignments, and projects that involve creating and implementing object-oriented solutions in Python. They will gain hands-on experience in developing robust and modular code, enhancing their programming skills and understanding of object-oriented design principles. Prerequisite (s): CS0-0210 Introduction to Programming, CS0-0240 Data Structures

CS0-0340 Introduction to Artificial Intelligence
Artificial Intelligence explores the principles and mechanisms that drive thought and intelligent behaviour, with a special emphasis on their implementation in machines. This course covers core topics such as the concept of intelligent agents and their ability to perform tasks like search and problem-solving, symbolic and probabilistic knowledge representation and reasoning, planning, and machine learning. Students will engage in hands-on activities such as designing and programming intelligent agents, applying search algorithms to solve problems, implementing knowledge representation techniques, and building basic machine learning models. By the end of the course, students will be able to evaluate systems that act intelligently in complex environments. Prerequisite (s):  CS0-0360 Database Management, CS0-0330 Object-Oriented Programming

CS0-0350 Human-Computer Interaction
This course provides a comprehensive exploration of the design, evaluation, and implementation of interactive computing systems with an emphasis on usability principles governing human-computer interaction (HCI). The course aims to equip students with the foundational knowledge and practical skills needed to optimize user experience and interface usability in diverse contexts. Students will explore cognitive principles and models such as GOMS and Fitts' Law, interaction paradigms, design rules, evaluation techniques, and the socio-cultural impacts of interactive systems on workplaces and communities. Through lectures, interactive discussions, and hands-on lab activities, students will engage in usability testing, heuristic evaluations, prototyping, and real-world applications like stakeholder mapping and experience prototyping. Key topics include groupware, ubiquitous computing, and augmented reality design. Students will also develop user personas, user flows, and prototypes, conduct usability tests, apply advanced cognitive models, and collaborate in group projects to design innovative computing solutions. By the end of the course, students will critically analyze interactive systems, apply best practices in design, and contribute effectively to user-centered computing solutions Prerequisite (s): CS0-0230 Web Technologies 1

CS0-0360 Database Management
This course provides a comprehensive foundation in the principles and practices of designing, building, and managing databases within modern IT environments. Students explore key topics such as database architecture, system life cycle, and the security and administration of databases. Through hands-on exercises, they learn how to manipulate databases using Structured Query Language (SQL) and advanced query languages, as well as how to apply entity-relationship (ER) models and normalization techniques. By engaging with real-world scenarios and projects, students gain practical experience in developing secure, efficient databases while deepening their understanding of the theoretical frameworks that underpin database design Prerequisite (s): CS0-0240 Data Structures

CS0-0410 Operating System
This course aims to provide students with a comprehensive understanding of modern operating systems. It prepares students to address both fundamental and advanced aspects of operating systems, including their design and practical implementation. Core topics covered include processes, threads, synchronization, deadlocks, disk scheduling, memory management, and file management. The course includes a variety of learning activities, such as lectures and practical assignments. Through these activities, students will develop the skills needed to understand, manage, and optimize modern operating systems effectively. Prerequisite (s): CS0-0240 Data Structures

CS0-0420 Cloud Computing
This course gives students an overview of the field of Cloud Computing, its enabling technologies, main building blocks, and hands-on experience through projects utilizing public cloud infrastructures (Amazon Web Services (AWS) and Microsoft Azure). The course will introduce the topics of cloud infrastructures, virtualization, virtual machines, cloud storage, and programming models. In addition to them, students will learn about different cloud storage concepts including data distribution, durability, consistency, and redundancy.   Prerequisite (s): CS0-0410 Operating Systems, CS0-0310 Computer Networks

CS0-0430 Web Technologies 2
In this course, students’ skills are developed in designing, testing, publishing, and managing professional websites utilizing professional industry web authoring tools such as html, CSS, and Wordpress. Students will learn the use of advanced tools such as plugins, hooks and java script applets, HTTP API, multisite applications, CGI tools, querying and displaying posts, widgets, and debugging. Prerequisite (s): CS0-0230 Web Technologies 1

CS0-0440 Information Security
This course provides students with a robust understanding of information security principles and practices to prepare them for careers in cybersecurity. Students will explore various attacks, threats and Security Technologies, Designing Information security program along with learning about legal ethical and professional considerations in Information Security. Through interactive lectures, lab exercises, and simulations, they will apply security measures in real-time scenarios. The hands-on experience gained in this course will enhance their problem-solving skills and prepare them to address diverse security challenges in the technology sector. Prerequisite (s): CS0-0320 Computer Organization & Architecture

CS0-0450 Multimedia Systems
This course discusses concepts, models, techniques and functionality of multimedia systems. The course covers the principal aspects of modern multimedia systems, from multimedia data creation, storage and transmission. The   course   also   discusses   authoring tools, data compression techniques, multimedia distribution and also throws light on intellectual property rights in the context of digital multimedia. Prerequisite (s): CS0-0230 Web Technologies 1

CS0-0460 Ethics in Computer Science
This course provides an in-depth exploration of ethical issues in the field of computer science. Students will examine the moral and legal implications of technology, professional responsibilities, privacy and security concerns, intellectual property rights, social and cultural impact, and emerging ethical challenges. The course aims to develop students' ethical decision-making skills and their ability to navigate complex ethical issues in the field of computer science. Prerequisite (s): None

CS0-0470 Internship
In this course, students will have the opportunity to enhance their practical skills through 16-weeks of work experience in an IT company. Students can take this course in fall, spring, or two summer semesters. Students will apply their theoretical and practical knowledge to develop their critical thinking, communications, interpersonal skills as well as awareness of and adherence to relevant codes of ethics and ethical conduct. Prerequisite(s): Completion of 90 Credit Hours

CS0-0480 Capstone Project
This course exposes students to the challenge of designing, developing, and implementing a digital solution to a real-world problem as team effort. It is further expected that the final Capstone Project report will thoroughly document the development of the system under review along with the procedures adopted for optimizing task delegation and resource management. Students will be organized into teams to undertake the Capstone Project. The team size and composition will be determined based on the specific project requirements and the number of students enrolled in the course. However, the size of a team is from 3 to 5 students. In most cases, each team member will be expected to contribute to the project presentations. Individual contributions, such as presenting a specific aspect of the project or showcasing personal research findings, can be evaluated separately. Prerequisite(s): After completing 90 Credit hours Successfully, CS0-0280 Introduction to Software Engineering & System Analysis

Program Electives (6 CH)

CS0-1410 Computer Graphics
In this course students will learn fundamental concepts of 2D and 3D computer graphics, graphic design and implementation techniques using computer graphics hardware and software. The course will discuss modelling, implementing graphics applying color and blending, lighting and shading, texture mapping, rendering, ray casting and fractal graphics. Prerequisite (s): CS0-0330 Object Oriented Programming

CS0-1420 Advanced Programming
The aim of this course is to advance students’ skills in development of enterprise software solutions using object-oriented design principles. The course will introduce students to clean code generation and platform configuration programming techniques. Students will practice functional parallel programming techniques, property testing and immutable data structures. Prerequisite (s):  CS0-0330 Object Oriented Programming

CS0-1430 IT Project Management
This course introduces the fundamental methods, theories, processes, and tools of IT Project Management, focusing on how to plan, execute, and control technology-driven initiatives effectively. Its primary purpose is to equip students with a solid understanding of project management frameworks so they can deliver projects on time, within scope, and under budget. By examining core topics such as project scope, quality, resource allocation, communications, risk assessment, procurement, and overall planning and control, students will learn how these elements interact across a project’s life cycle. Through lectures, discussions, practical exercises, and problem-based learning scenarios, students gain hands-on experience with project management software and real-world case studies, applying key concepts—such as developing project charters, schedules, resource management plans, and risk registering in a simulated environment. By the end of the course, students will have first-hand experience in collaborative project planning, effective stakeholder communication, and systematic project evaluation, preparing them for practical challenges in professional IT project management roles. Prerequisite(s): CS0-0280 Introduction to Software Engineering & System Analysis

CS0-1440 e-Commerce Development
This course provides students with a comprehensive understanding of e-Commerce fundamentals, with a focus on business-to-consumer e-Commerce. Students will delve into online business models, electronic payment systems (EPS), and key concepts such as standards, regulations, policies, security, and social and economic issues in the business context. Hands-on activities will involve prototyping a basic e-Commerce website with integrated payment systems and engaging in in-depth analysis of case studies on successful online businesses. By the end of the course, students will be equipped to connect theoretical knowledge to real-world applications, fostering their analytical, problem-solving, and technical skills within the e-Commerce field. Prerequisite (s): CS0-0230 Web Technologies 1

CS0-1450 Management Information Systems
This course offers a comprehensive exploration of Management Information Systems (MIS), focusing on the rationale of how integrated information solutions can drive business success, enhance decision-making, and maintain competitive advantage in a rapidly evolving digital landscape. It aims to equip students with fundamental knowledge of MIS concepts—covering data management, hardware and software technologies, networking, e-commerce, information security, business intelligence, and emerging technologies—while emphasizing the ethical considerations of their deployment. Students engage in major learning activities such as lectures, class discussions, hands-on exercises, and problem-based scenarios to analyze business problems, design MIS solutions, and evaluate alternative approaches. Through these experiences, students will not only master core technical skills but also develop critical thinking and communication competencies, ultimately enabling them to recommend, implement, and manage MIS solutions that align with organizational objectives and adapt to future innovations. Prerequisite (s): ICT-1313 Introduction to Information Technology

CS1-0110 Introduction to Machine learning
This course provides an overview of basic supervised and unsupervised methods such as regression, decision trees, neural networks, deep learning, and clustering algorithms. It also presents the established tools for machine learning and relevant applications including cross validation and dimensionality reduction. Prerequisite (s): CS0-0340 Introduction to Artificial Intelligence

CS2-0110 Data Mining
This course introduces the concepts and techniques of data mining. The course covers the basic principles and methods of data mining, with an emphasis on the application of these methods to real-world problems. Topics include data pre-processing, classification, clustering, association rule mining, and visualization techniques. Throughout the course, students will use data mining software tools to work on real-world datasets. Prerequisite (s): CS0-0250 Introduction to statistics

CS3-0110 Network Security
This course is designed to prepare students for careers in Network security by providing a solid foundation in network security principles and practices. This course offers an in-depth exploration of contemporary threats to networks and endpoints and the strategies required to defend against these threats. Key topics include: Fundamentals of cybersecurity, Current network and endpoint attacks, Defensive measures and best practices. Students will engage in various learning activities, including assignments, Practical exercises, and project to develop the skills needed to protect information systems effectively. Prerequisite (s): CS0-0440 Information Security

 

Concentration : Artificial intelligence and Machine learning=21 CH

CS1-0110 Introduction to Machine learning
This course provides an overview of basic supervised and unsupervised methods such as regression, decision trees, neural networks, deep learning, and clustering algorithms. It also presents the established tools for machine learning and relevant applications including cross validation and dimensionality reduction. Prerequisite (s): CS0-0340 Introduction to Artificial Intelligence

CS1-0210 Deep Learning
The objective of this course is to present an introduction to deep learning, in the machine learning perspective with the evolution of modern neural networks. Deep learning approaches extract layered high-level representations of data in a way which enhances performance on a given task. The course presents the basics of deep learning, probability distributions, maximum likelihood-based cost, major neural network topics such as: cost functions, hypotheses and tasks, training data, cross entropy, linear, non-linear neural networks, deep learning strategies: GPU training, regularization, optimization algorithms, convolutional neural networks, generative adversarial networks, recurrent neural networks, and deep reinforcement learning.  Prerequisite (s): CS1-0110 Introduction to Machine Learning

CS1-0220 Natural Language Processing
The objective of this course is to present natural languages as computational systems, and how to utilize those representations to create programs for text and speech data. This course will include ideas related to Machine Learning and Linguistics. This course is intended as a theoretical and methodological introduction to the most widely used and effective current techniques, strategies and toolkits for natural language processing. The course presents the computational representations of words, voice, sentences, meanings, statements, and conversations. Prerequisite (s): CS1-0110 Introduction to Machine learning

CS1-0230 Computer Vision
This course overviews the basic principles of image formation, camera models, as well as image reconstruction. It introduces different types of image processing and transformation techniques. It also addresses different aspects related to image processing such as enhancement, filtering, and restoration of an image. This course discusses image features and descriptors, including the representation of image regions, shapes, and boundaries of objects. It also presents different pattern classification and object recognition techniques as well as new computer vision-based applications which uses Augmented Reality, 3D reconstruction, and object tracking. Prerequisite (s): CS1-0110 Introduction to Machine learning

CS1-0240 Intelligent Agents
This course discusses the principles of both individual agents and agent organizations. It presents the basic concept of agent communication, interaction, and argumentation. This course covers a variety of topics related to agent coordination, distributed cognition in multiagent systems, learning, planning, and decision-making, as well as constraint handling and optimization. It also covers programming, specification, and verification in the development of multi-agent systems. Prerequisite (s): CS1-0110 Introduction to Machine learning 

CS1-0250 Reinforcement Learning
This course will introduce students to the concepts of reinforcement learning (RL). It aims at equipping students with the necessary theoretical knowledge and practical skills to apply reinforcement learning techniques to a wide range of real-world problems. Throughout the course, students will gain a deep understanding of the underlying principles of RL, explore various algorithms, and develop hands-on experience through programming assignments and projects.  Prerequisite (s): CS1-0110 Introduction to Machine learning

CS1-0260 Artificial Neural Networks
This course helps to explore the historical progression of artificial intelligence that has culminated in the development of artificial neural networks (ANN). The course aims to provide students with a foundational understanding of the fundamental concepts and models of ANN, specifically focusing on their application in solving basic pattern recognition problems. The course will delve into the analysis of both feedforward and feedback neural networks, enabling students to comprehend their mechanisms and capabilities. The course will also explore real-world applications of neural networks, enabling students to understand their practical relevance and impact.  Prerequisite (s): CS0-0340 Introduction to Artificial Intelligence