This course is designed to provide students with an understanding of the essential components of Information Technology (IT) covering hardware, software, networking and databases. The course also provides an introduction to cloud computing, security and future developments in IT. Students will also be given hands on training using MS office suite.
Pre-requisite: None
This course helps students to have a good understanding of English reading and writing skills. It hones their reading and writing skills and communicate their thoughts in an articulated manner to the readers. It also facilitates the students to prepare documents presentations and deliver effectively
Pre-requisite: None
The course offers a basic understanding of, and practical engagement with, some of the typical models used in different types of written and oral communication. Outcomes for the course include developed skills pertaining to: proper business attitudes reflected in writing; creative thinking; cross-cultural communication; document-design and formatting; oral presentation; verbal and non-verbal concepts. The course also develops students’ visualization towards creating and formatting videos and images advertisements for the purpose of promoting for products, taking into consideration cultural and habitual conceptions of societies. Emphasis will also be placed on the self-editing of writing and language usage. The course lays the foundations for successful and skillful business communication.
Pre-requisite: ENG1001
The course provides an understanding of UAE Society in terms of its geography, culture and history as well as social, economic, and environmental development. The course focuses on introducing students to the main social features of Emirati community, its core values and heritage. It also elaborates the importance of future plans of the country.
Pre-requisite: None
The course offers an introduction to understanding of and practical engagement of written and oral Arabic communication for non-native speakers. The contents of the course cover alphabets, basic reading, writing and speaking skills related to daily life. By the end of the course students should be able to hold simple conversation in Arabic and read and write basic sentences.
Pre-requisite: None
The course is designed to teach detailed topics in Arabic Language for Arabic speakers and improve student’s Arabic language skills in reading, writing and grammar. Reading texts, understanding context and idea of text in detail and answering related questions, learning new vocabulary of the reading text, practicing writing short paragraphs about general topics following grammar rules are the highlights of the course.
Pre-requisite: None
Islam is a code of behavior and a way of life. This course introduces the history of Islamic culture. Students will be able to get an insight into issues of gender, marriage, law, economics, business, art and architecture. The course explains the relationship between the Islamic concepts with society, business and issues of globalization.
Pre-requisite: None
This course on Innovation, Entrepreneurship and Sustainability provides a contemporary view of the growing importance of innovation, entrepreneurial and sustainable businesses to improve, venture and understand sustainable development. Students will be enable to analyze, how sustainable businesses provide competitive advantage and practices that firms adopt to grow revenues, cut costs, improve market share, enhance brands, and redesign products and processes.
Pre-requisite: None
Topics include concepts, techniques, and applications of limits, continuity, derivatives, and integrals of algebraic, exponential, logarithmic, trigonometric, and inverse trigonometric functions. Appropriate technology is used to discover relationships and to work problems not usually possible to work by hand.
Pre-requisite: None
This course provides you with mathematical material in Linear Algebra foundational for mathematics, engineering and the sciences. It focuses on linear equations, matrix methods, analytical geometry and linear transformations.
Pre-requisite: MAT1006 - Calculus
An introductory course in probability and statistics, including statistical terminology, descriptive data, linear regression, probabilities, probability distributions, discrete and random variables, sampling distributions, point, and interval estimation, and hypothesis testing.
Pre-requisite: MAT1006 - Calculus
This course aims at developing an understanding of the basic concepts in physics which has its application in the field of engineering. The course includes fundamental concepts of measurement, precision, accuracy, and vectors, along with concepts from mechanics which include motion in one and two dimensions, Newton's laws of motion and their applications, work and energy, rotational dynamics, rolling motion, conservation of angular momentum with special emphasis on engineering applications.
Pre-requisite: None
This is the second part of a two-semester Physics course. Topics cover electrostatics, electricity, magnetism, and optics giving special emphasis on engineering applications. Laboratory experiments emphasize theoretical concepts and utilize advanced computerized technology.
Pre-requisite: PHY1001 – Physics I
Students will be introduced to the concepts of number representation and Boolean algebra to design and test logic circuits. The students will gain skills in Logic Circuit Design concepts, Logic Gates and Networks Synthesis Using AND, OR, and NOT Gates, Design Examples, (introduction to VHDL), Number representation and arithmetic circuits, Combinational-Circuit Building Blocks, Sequential circuits and Karnaugh Maps, Flip-Flops, Registers, Counters, and a Simple Processor. Students will gain skills in testing logic circuits. Students will be introduced to future trends in Digital Logic. The course involves a project that allows to apply of the concepts learned throughout the digital logic course. Each phase builds on the previous one, providing a comprehensive understanding of digital hardware design and implementation. Students will be guided to complete the Coursera certification that reflects their skills developed during the course.
The course covers Data Types in Python and control Structures, including the if statement, the if-else statement, the for-loop Statement, and the while loop. Students will also learn how to use functions, pass arguments to functions, and differentiate between local and global variables. Students will learn how to use exception handling to create more reliable, user-friendly programs by effectively managing errors. Other topics covered in the course include Lists, Tuples, Strings, Dictionaries, Sets, Files, and File Handling statements, including Create, read, Append, and write. A 2-hour/week laboratory is included in the delivery course in addition to a multi-phase project with version control tools.
This course provides a comprehensive introduction to database management systems (DBMS) and their applications in modern organizations. It covers core topics such as database concepts and architecture, conceptual and logical data modeling, and database design using the Entity–Relationship (ER) model. Students will explore the relational data model, relational database constraints, and Structured Query Language (SQL) for data definition, manipulation, and retrieval. In addition, students will learn about database security principles, including security threats, control mechanisms, and data protection strategies. The course concludes with an overview of emerging trends and technologies in database systems. Practical experience is reinforced through lab sessions and a comprehensive database project that integrates the concepts learned throughout the course. Hands-on lab exercises focus on SQL programming, including data definition, data types, constraint specification, and query development. The course further examines relational algebra and calculus, object-oriented database concepts, normalization theory, query processing and optimization, and file structures, hashing, and contemporary storage architectures. A 2-hour/week laboratory is included in the course delivery.
This course provides a comprehensive introduction to the core concepts of object-oriented programming (OOP), including classes, objects, data abstraction, encapsulation, inheritance, and polymorphism. Students will explore advanced programming topics, including importing libraries, multithreading, exception handling, and string operations. The course also emphasizes best practices in code organization and introduces essential design patterns for creating robust and maintainable software. Additionally, students will gain hands-on experience by developing an application with a Graphical User Interface (GUI), applying debugging techniques, and testing programs using OOP principles. A 2-hour/week laboratory is included in the course delivery.
This course covers the fundamentals of computer architecture, including the architecture of the Von Neumann and Turing Machines, arithmetic & logical operations, integer and floating-point number representations, and the analysis of memory systems. The course enables students to get an understanding of the Functions of the processor, Simulation -Pipelining Fetch, decode, execute, and store operations, Design of computer systems, Multiprocessor and multicore, cache optimization techniques and superscalar techniques, Parallelism and Superscalar techniques, I /I/O system, Pipelined Architecture, and Future trends in computer organization and Architecture. The course also introduces students to Assembly Language Programming, the MIPS processor instruction set. This course will be conducted in the Lab with hands-on practical exercises. Coursera certification is included to improve skills in computer organization and architecture.
This course helps students to design and create web pages and websites using Hyper Text Markup Language (HTML5), Cascading Style Sheets (CSS3), and JavaScript. Students will learn the concept of HTML files, create the general structure of a web page using HTML tags. CSS3 will be utilized to improve web pages' overall presentation in terms of its layout, fonts, and themes. Further, students will apply JavaScript to create interactive web forms to enhance their websites. A 2-hour/week laboratory is included in the course delivery; in addition, the course includes a project with five phases.
This course covers the fundamental concepts of data communication and computer networks. Students will gain an understanding of network hardware and software that enables network communication, network models and protocols that control network communication, and various modern network technologies and applications. The course also introduces the student to advanced networking concepts such as congestion control, quality of services, network security, and wireless and mobile networks. Further, this course helps students plan, design, and analyze computer networks in small- to medium-sized enterprises. Students will gain practical knowledge of computer networks by using tools such as Cisco Packet Tracer and Wireshark.
This course begins with an overview of computer systems and an introduction to operating systems. Key topics include Process Description and Control, Threads, Concurrency (including Mutual Exclusion, Synchronization, and Deadlock and Starvation), Memory Management, Virtual Memory, Uniprocessor Scheduling, Multiprocessor, Multicore, and Real-Time Scheduling, I/O Management and Disk Scheduling, and File Management. The course also covers advanced topics and current trends, including Embedded Systems, Modular OS Design, Virtualization, Distributed and Cloud-Native Operating Systems, Real-Time Operating Systems, Operating System Security, Zero Trust Architecture, and Fault Tolerance.
The course equips students with fundamental concepts of mobile application development for the Android Operating System (OS). The course provides students with the skills to develop Android applications using Kotlin. The course provides an overview of using control flow statements, Functions, & Object-Oriented Programming (OOP). Students will learn the Android Framework, Creating User Interfaces, Android Layouts, Styles, Themes, and Menus, Snackbar, Activities, Android Intent, Alert Dialogs, Android Notifications, Android Widgets, Android Navigation Components, Firebase Authentication and Database, and Location-Aware Apps: Using GPS and Google Maps. The student will be able to run, test, and implement the developed application in a real-time environment.
This course identifies and explains the ever-changing vulnerabilities, threats, and attacks that expose computer security to cyberspace. It provides a critical analysis and a thorough, step-by-step evaluation to assess the strength of the network infrastructure and prevent sophisticated, unpredictable cybercriminals from exploiting these vulnerabilities to steal wealth, information, and secrets. Topics covered include Infrastructure Security, Understanding Access-Control and Monitoring Systems, Understanding Intrusion-Detection and Reporting Systems, Protecting the Inner Perimeter, Protecting Remote Access, Anomaly-Detection Systems and Configuring, Defending Against Malicious Software, Local Network Security, Securing the Perimeter, Understanding the Environment, Understanding Private Networks, Internet Security, Identifying and Defending Against Vulnerabilities, and Future Trends in Cybersecurity. This course will be conducted in the Lab with hands-on practical exercises and demonstrations, including a research project.
In this course, the students will understand the interaction between computer systems and a wide range of users, stressing Accessibility, Usability, and User Experience. Topics covered include: Guidelines, Principles, and Theories of HCI; Cultural and International Diversity; Users with Disabilities; User Interface development; Discovering Requirements; Natural language; Fluid Navigation; HCI prototype; User Interface evaluation; and Usability testing. Students are introduced to several practical assignments, such as applying usability testing and a group project to perform a full interactive design evaluation.
Big data analytics is the process of analyzing massive amounts of data to uncover hidden patterns and useful insights. The course introduces the world of big data and helps learners to analyze, apply and evaluate various aspects of big data analytics that includes topics on Big Data Storage Concepts, NoSQL Database, Big Data Processing and Management Concepts, Managing and Processing Big Data in Cloud Computing, Driving Big Data with Hadoop Tools and Technologies, Big Data Analytics, Big Data Analytics with Machine Learning, Cluster Analysis, and Big Data Visualization. Various Big Data Application Areas and Big Data analytics trends are discussed to update the learners about the latest advancements in big data implementation. Lab sessions are included to provide better perspectives on acquiring skills in big data analytics using the latest tools, technologies, and programming languages. A 2-hour/week laboratory is included in the course delivery.
This course provides the framework for identifying and analyzing ethical issues in computer science and information technology. This course covers topics such as: Introduction to Ethics in Computing and IT, Professional Ethics and Code of Conduct, Professional Ethics in the Computing and IT Fields, Privacy and Anonymity, Intellectual Property, Ethical Issues in Globalization, Cybersecurity Ethics, Computer and Information Crimes, Computer Viruses and Malware, Ethical Hacking and Vulnerabilities, Spyware and Ethical Issues, Network Security Risks and Ethics, Emerging Ethical Issues in IT. Students are expected to work on a research project that includes a presentation on an emerging topic in ethics and computing, as well as a group project on ethical hacking.
This course enables students to understand the various phases of the software development life cycle (SDLC) and software process models. The students learn to perform system analysis and design, enabling them to prepare a detailed scope-of-work document that specifies user and system requirements. Additionally, this course helps students design the architecture of an information system and its implementation, testing, and verification. Software quality attributes are also introduced and evaluated, including project management skills and quality management approaches.
This course introduces the essential concepts and techniques of AI, along with their applications. It provides students with the basic concepts, knowledge, and skills required to apply artificial intelligence techniques to evaluate and solve problems under various conditions and constraints. Major topics included in this course are Knowledge Representation, Intelligent Agents, Problem Solving and Search Algorithms, Uninformed and Heuristic Search, First-order Logic, Constraint Satisfaction, Automated Reasoning and Planning, Reasoning under Uncertainty, and Decision Making, covering both simple and complex decision-making, Machine Learning, including learning from examples, neural networks and deep learning, a brief introduction of different AI applications with latest advancements and future directions. Students are required to work on a few programming assignments to implement key AI concepts.
Discrete Structures forms the foundational basis for several core areas within Computer Science, including programming, algorithms, software development, data structures, and automated theorem proving. This course introduces students to essential mathematical concepts such as set theory, combinatorics, propositional and predicate logic, matrix algebra, relations and functions, recursion and recurrence relations, graphs and trees, algebraic structures, and Boolean algebra. Emphasis is placed on developing analytical thinking and problem-solving skills necessary for advanced computing courses and practical applications in computer science.
This course introduces students to basic concepts of data structure. Data structures concepts such as Arrays, Stacks, queues and Linked lists, Priority Queues, Sorting Algorithms, Trees and Graphs, Heap Data Structure, Recursion & Recursive functions, Search algorithms, Search Trees, and Hash Tables and Functions. Students will learn how to create and perform different operations on data structures. The students will attend scheduled lab sessions to solve problems, practice the learned data structure, and analyze the various data structure techniques. A 2-hour/week laboratory is included in the course delivery.
This course provides an overview of and practical experience in utilizing algorithms for solving numerical problems arising in applied sciences. The course includes topics such as solution of linear and nonlinear equations, interpolation, curve fitting, eigen values and eigen vectors, numerical differentiation and integration, solution of differential equations and partial differential equations, and solution of system of linear algebraic equations.
This course provides a foundational introduction to the principles of designing and analyzing algorithms. Students will explore core algorithmic paradigms and develop skills to evaluate algorithm efficiency in terms of time and space complexity. Key topics include an overview of algorithms, fundamentals of algorithm analysis, brute-force and exhaustive search methods, decrease-and-conquer and divide-and-conquer strategies, transform-and-conquer techniques, space–time trade-offs, dynamic programming, and greedy algorithms. Emphasis is placed on developing a deep understanding of algorithmic thinking and applying appropriate techniques to solve computational problems effectively.
This course introduces the theory of computation through a set of abstract machines that serve as models for computation - finite automata, pushdown automata, and Turing machines – and examines the relationship between these automata and formal languages. This course also includes additional topics of deterministic and nondeterministic machines, regular expressions, context free grammar, Context-sensitive Grammar (CSG) and Language (CSL), undecidability, and the time complexity covering P and NP class problems, the P versus NP question and NP-completeness.
This course covers the design and implementation of parallel and distributed computing systems, including parallel architecture, classification schemes, performance metrics, Serial and parallel algorithms, techniques for parallelism, and pipelining. The course includes distributed systems, programming frameworks, resource management, synchronization, replication, consistency and distributed file system. The course will also cover current trends such as CUDA, OpenMP, POSIX Threads, and Apache Hadoop. By the end of the course, students will have a solid understanding of the principles and techniques used in the design and implementation of parallel and distributed systems, as well as the ability to analyze and evaluate the performance of these systems.
This course introduces graphics systems & models, and graphic programming. It covers computer graphics fundamentals, interaction & animation and geometric objects & transformations. The course also provides application of important topics such as viewing, lighting and shading, texture mapping, and working with framebuffers. Students will also learn about modeling and hierarchy, procedural methods, curves and surfaces, and representation and visualization methods including Scientific Visualization. A 2-hour/week laboratory is included in the course delivery.
The internship program provides students with the opportunity to work, learn, and gain hands-on experience within an organization. It helps students to develop a professional understanding of an industry in their major area of study. Students can apply classroom knowledge in a work setting, thereby enriching their learning experience.
Students will be organized into teams and will be given an integrated approach to develop a computing project. Students will, as a group project, design and test software solutions to address organizational or societal requirements. The course will enable students to critically evaluate and justify proposed design solutions. The project contains various phases starting from preparing the proposal, analysis of the requirement specification, designing the prototype, building and deploying the prototype. Students are required to submit full system documentation and present their project to a panel of judges.
The Information Technology (IT) Project Management course emphasizes managing IT projects within the specified scope, time, cost, and quality constraints. The different phases of the IT projects should reflect the software development process. This course begins with an introduction to project management, considering the IT perspective, and the Project management process groups. Topics covered include Project scope management, time management, Schedule Management, cost management, and quality management. Project integration management, tools and techniques for Quality Control, Modern Quality Management, Project Human Resource management, communication management, risk management, procurement management. The course concludes with Current Trends in Project Management.
The course introduces several software development methodologies. It presents the software development life cycle by discussing the concepts of V-Model, Waterfall model, and Agile/Scrum Software Development model, and the application of some methodologies such as: DevOps, Disciplined Agile Development (DAD), Rapid Application Development (RAD), Feature-Driven Development (FDD), CASE Software Development, Dynamic Systems Development Method (DSDM), Hybrid Agile/Waterfall Software Development, Model-Based Development, Object-Oriented Methods, Open-Source Software Development, Rational Unified Process (RUP), Extreme Programming (XP), Reverse Engineering, and Structured Development.
This course covers the concepts and applications of the methodologies and tools of Requirements Engineering. It includes knowledge and skills needed to elicit and analyze requirements using various Trawling Techniques and their relative usefulness to various types of Projects, Requirement Risks and their impact on System Development Lifecycle. The course also covers the Requirements Management Practices involving the process of documenting, analyzing, tracing, prioritizing and agreeing to requirements and controlling change requests, and the management of risks and uncertainties using System Modelling Language based approach and Value Based Requirements Risk Management Process. This course will be conducted in the Lab with hands-on practical exercises and demonstration.
The course provides an understanding of the fundamental principles and processes of software testing. It also covers approaches to learning software application testing. Students will learn formulation of software test cases, software testing techniques and crucial strategies, principles, and practices that can be followed in real life scenarios. Students will learn how to use different types of software testing techniques such as equivalence partitioning, boundary value partitioning, combinatorial, decision table, structural, case design, regression, unit, integration, and performance testing. This course will be conducted in the Lab with hands on practical exercises and demonstration.
This course introduces the concepts of Quality Assurance and Process Improvement in Software Engineering. The course covers topics including strategic role of systems and software quality, basic elements of Quality and Continuous Process Improvement, Software Quality and Continuous Process Improvement Models including Capability Maturity Model Integration (CMMI), People CMM, Personal and Team Software Process (TSP), Quality Standards including e-Services Capability Model (eSCM), Information Technology Infrastructure Library (ITIL) Standards, and ISO Standards. This course also includes System and Software Measurement Programs, System and Software Development Process Improvement, System and Software Testing Strategies, System and Software Beta and Usability Programs, Data Reporting and Analysis, Systems Development Management, and Dashboards and Decision Making.


