BSCS Artificial Intelligence Course Descriptions
General Education
The course is designed to provide students with an understanding of Data, Information Technology and their applications in transforming and securing businesses of 21st century. This is a basic course that provides the foundation and background needed in the field of information Technology, Computer Networks and Machine Learning. The course also gives students the right balance of technical information and real-world applications in the field of Information Technology by providing a functional understanding of the creation, operation, and maintenance of networks, and cybersecurity concepts.
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; and job hunting and interviews. 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
Core Courses
Students will be introduced to the concepts of number representation and arithmetic circuits and digital logic concepts. The students will gain skills of analyzing Boolean Algebra, Logic Expressions and Minimization Karnaughs maps to minimize functions and be able to build and design logic gates applications. The students will also study the Combinational-circuit building blocks of logic design such as Flip-Flops, registers, counters, Synchronous sequential circuits, Asynchronous sequential circuits and a simple processor and also testing of logic circuits. This course will be conducted in the Lab with hands on practical exercises and demonstration.
Pre-requisite: None
In this course students are introduced to Python programming language. The course covers object oriented programming and introduce the object oriented programming concepts including classes and objects, inheritance, modules, imports, multithreading, exception handling and String. This course also includes development of a project making use of graphical user interface provided by kivy, a python library.
Pre-requisite: CIS1001This course introduces the basic concepts of database management systems, conceptual data modeling techniques, architecture and schema. Entity Relationship (ER) is precisely illustrated with various categories of relations. Relational algebra and Relational database concepts are explained for query processing. Various data normalization techniques are used to get structured databases from complex databases. Concepts of storage architecture and database security are discussed, followed by a description of the latest trends in database management. Hands on lab exercises are included using structured query language (SQL) to practice on various application areas. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: SIT1102 Introduction to Programming
The course covers the core concepts of object-oriented programming such as classes, objects, data abstraction, encapsulation, inheritance, and polymorphism. Students will learn about concepts of importing libraries, multithreading, exception handling, string operations, code organization and design patterns. This course also includes development of an application by making use of the Graphical User Interface (GUI), debugging and testing of programs using object-oriented features. A 2-hour/week laboratory is included in the course delivery. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: SIT1102 Introduction to Programming
This course covers the fundamentals of computer architecture, arithmetic & logical operations, integer, floating-point number representation and design of computer systems, including the architectures of Von Neuman and Turing Machines. The course enables students to get an understanding of computer organization, functions of a processor, multiprocessor architectures, memory systems including virtual memory and Input/output (I/O) subsystems. The course also introduces students to parallel and pipelined architecture, cache optimization techniques, superscalar techniques and covers the basics of assembly language programming. This course will be conducted in the Lab with hands on practical exercises and demonstration.
Pre-requisite: SIT1001 – Digital Logic
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 add interactivity in their websites. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: SIT1102- Introduction To Programming
This course covers the fundamental concepts of computer networks. Particularly, students will gain an understanding of the network hardware and software, which enable network communication, network models and protocols that control the network communication, as well as various modern network technologies and applications. The course also introduces the student to advanced networking concepts such as wireless networking, network security, congestion control, quality of services. Further, this course helps students to plan, design and analyze computer networks in small-to-medium enterprises. Students will gain practical knowledge about computer networks by using different networking software such as Cisco Packet Tracer and Wireshark.
Pre-requisite: CIS1003 – Intro to IT
The course covers operating systems concepts such as, Process control, Threads, concurrency, synchronization, deadlock, starvation, memory management, process scheduling, input/output management, disk scheduling, file Management and security features of operating systems. The course also covers advanced concepts such as Embedded Operating Systems, Virtual Machines and the usage of Operating Systems in Cloud Environment. The lab sessions are planned to make students skilled in operating system programming. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: SIT2105 – Computer Organization and Architecture
The course equips students with fundamental concepts of mobile application development for Android Operating System (OS). Students will learn about Android activity life cycle along with User Interface (UI) objects for application development. The course provides students with the skills to develop Android based applications. It includes: setting up environment for development, creating first application, understanding application components, defining the manifest, managing application resources, exploring building blocks, positioning with layouts, partitioning with fragments, appealing with style, designing compatible applications Using Android preferences, accessing files and directories, saving with SQLite, leveraging content providers, and testing applications. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: SIT2107 – Web Design and Development
This course identifies and explains the ever-changing vulnerabilities, threats, and attacks that expose computer security to cyberspace. It provides a critical analysis and thorough step-by-step evaluation to assess the strength of the network infrastructure to prevent the unpredictable and sophisticated cyber criminals exploit these vulnerabilities to steal wealth, information, and secrets. Topics covered include: Access control and monitoring, intrusion detection, infrastructure security, local security, confidentiality and protecting secrets, integrity and protecting information, and availability and the five nines concept. This course will be conducted in the Lab with hands on practical exercises and demonstration.
Pre-requisite: SIT2108 – Computer Networks
In this course, students will understand the interaction between computer systems and a wide range of users. Essential Human Computer Interaction (HCI) topics are covered in this course including: Accessibility, Usability, and User Experience, Theories of HCI, Cultural and International Diversity, Users with Disabilities, User HCI prototype, User Interface evaluation and Usability testing, interface development, Discovering Requirements, Natural language, and Fluid Navigation.
Pre-requisite: SIT3110 - MOBILE APPLICATION DEVELOPMENT
Big data analytics is the process of examining massive amounts of ever-growing data to discover hidden patterns and useful insights. Students will learn about the creation of structured, unstructured, and semi-structured data, Big Data Storage Concepts, NoSQL Database, Processing, Management Concepts, and Cloud Computing, Driving Big Data with Hadoop Tools and Technologies, Big Data Analytics, Big Data Analytics with Machine Learning, Cluster Analysis, Big Data Visualization and they will learn how to create scatter plots, histograms, bar, line, and pie charts with that software. Accessibly organized, Big Data includes illuminating case studies throughout the material, showing you how the included concepts have been applied in real-world settings. In addition, for better understanding and representing data, data visualization tools such as Tableau and Apache Hadoop are included in this course. Lab sessions are included to have better perspectives of acquiring skills of big data analytics techniques using latest tools and technologies. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: AIT3101-Artificial Intelligence
This course provides the framework to identify and analyze various ethical issues related to fields of computer science and information technology. This course covers topics such as: Professional ethics, Legal and ethical responsibility, Code of ethics, Privacy and anonymity, intellectual property, ethical issues related to Globalization, computer and information crimes, Computer viruses, Hackers, Spyware, and Network security risks. Students will be able to evaluate ethical decisions in areas related to computing and IT practices, and integrate ethical practices in strategic decisions.
Pre-requisite: SIT3112 - CYBERSECURITY ESSENTIALS
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 that enables them to prepare a detailed scope of work document where user and system requirements are specified. Additionally, this course helps students in designing the architecture of an information system, its implementation, testing, and verification. Software quality attributes are also introduced and evaluated, including project management skills and quality management approaches.
Pre-requisite: SIT2104 – Advance Programming
This course presents an introduction to the essential concepts and techniques of (AI) and its applications’ areas. It provides students with the basic concepts, knowledge and skills required in utilizing Artificial Intelligence techniques in evaluating and solving problems under various conditions and constraints.
Major topics included in this course include: Knowledge Representation, Intelligent Agents, Problem Solving and Search Algorithms, Uninformed & Heuristic Search, First- order Logic, Constraints Satisfaction, Automated Reasoning & Planning, reasoning Under Uncertainty, and Decision Making.
Pre-requisite: BCS2202 Data Structures
Discrete Structures is essential to many Computer Science courses including programming, Algorithms, Software Development, and Automated Theorem Proving. This course covers topics that include Set Theory, Combinatorics, Fundamentals of logic, Matrix Algebra, Relations, Functions, Recursion and Recurrence Relations, Graphs, Trees, Algebraic Structures, and Boolean Algebra.
Pre-requisite: SIT1102 Introduction to Programming
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.
Pre-requisite: SIT2104 Advanced Programming, BCS2101 Discrete Structures
This course provides an overview of and practical experience in utilizing algorithms for solving numerical problems arising in applied sciences. Topics covered will include 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. A computer will be utilized in solving problem assignments.
Pre-requisite: MAT1107 Linear Algebra SIT2104 Advanced Programming
This course introduces the concepts of designing and analyzing algorithms. Topics include: Introduction to Algorithms, Fundamentals of the Analysis of Algorithm Efficiency, Brute Force and Exhaustive Search, Decrease-and-Conquer, Divide-and-Conquer, Transform-and-Conquer, Space and Time Trade-Offs, Dynamic Programming, and Greedy Techniques.
Pre-requisite: BCS2202 Data Structures
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 grammars, 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.
Pre-requisite: BCS2202 Data Structures
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 will also cover 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.
Pre-requisite: SIT3109-Operating 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.
Pre-requisite: SIT2104Advanced Programming & MAT1107 Linear Algebra
The internship program provides an opportunity for students to work, learn, and gain hands-on experience in an organization. It helps students to develop a professional understanding of an industry in their major area of study. Students are able to apply the knowledge gained in classrooms in a work setting, thus enriching their learning experience.
Pre-requisite: SWE3101 Software Engineering + Completion of 90 Credits
Students will be given an integrated approach to develop a computing project. Students will design and test software solutions to address the organizational or societal requirements as a group project. 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, design the prototype. Students will showcase software development with acquired skills in programming and testing the system.
Pre-requisite: SWE3101 Software Engineering + Completion of 90 Credits
Artificial Intelligence Concentration Courses
The course enables students to understand machine-learning concepts using Python. The course covers topics including single and multi-varied Regression models, and their applications in solving business problems. In addition, the course will cover the application of Binary classification models, Logistic Regression, k-NN, SVM, Naïve Bayes, Decision Tree Classification and Random Forest Classification for business intelligence. Other algorithms covered include k-Means Clustering, Hierarchical Clustering ML Association Models using Apriority Model. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: AIT3101 – Artificial Intelligence
This course covers concepts of different kinds of data and related statistical inference. The data pre-processing stages and data visualization are explained. The various data warehouse models are explained along with OLAP operations and data cube technology. Data mining techniques such as associations, correlations, data classification, data clustering, and outlier detection are explained in view of many datasets in practice. The trends, applications, and research frontiers in data are discussed to give an idea about current happenings in the subject area. The lab sessions are included to have a better perspective of acquiring skills of data warehouse and data mining practices using the latest tools and technologies. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: AIT3101 Artificial Intelligence + AIT2103 Database Management Systems.
Deep Learning is a subfield of machine learning, deals with the algorithms which are inspired by the biological neurons called Artificial Neural Networks. These algorithms are hugely involved in large scale problems whose magnitude of features are huge. The topics included in the course are Introduction to Convolutional Neural Networks, Hyper-parameter Optimization for tuning of models, applying deconvolutions to visualize the layers of ConvNet, pre-trained Models, applying ConvNet methods on Text and Sequence data, One-hot encodings, Word Embedding, 1D-Convolutions, 1D-Pooling, Generative Adversarial Networks, Recurrent Neural Networks, Long Short-Term Memory. Gated Recurrent Unit, Advanced Recurrent Neural Networks, Neural Style Transfer, Content Loss, and Style Loss. This course is accompanied by practical sessions which help the students for adequate learning. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: AIT3102 – Machine Learning
Natural Language Processing (NLP) is a subfield of Artificial Intelligence, where this course synthesizes concepts blended from linguistics and computer science to model how people share information. The course covers the concepts, stages, and applications of NLP. It covers text Pre –processing and Morphology, Language Modeling using n-gram model, Word sense disambiguation, Parts Of Speech (POS) Tagging using Hidden Markov Model (HMM), Brill Tagger, Long Short-Term Memory and Recurrent Neural Networks models. The course includes Statistical Parsing using Inside-Outside algorithm and Dependency based models, Syntax and Semantics of the text using Shallow Parsing and Chunking, Conditional Random Field (CRF), Lexical Semantics, Machine Translation, Text mining, Sentiment Analysis. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: AIT3101 – AI
This course presents an introduction to virtual and augmented reality technologies, with emphasis on designing and developing interactive virtual and augmented reality experiences. The course covers the state of the art in augmented reality (AR) and virtual reality (VR) technologies and their applications in various industries. The course explains techniques of VR/AR such as locomotion, tracking, rendering and interactions. Students enhances their application skills using visual and aural immersion, Virtual Reality Toolkit, XR Interaction Toolkit, Game Engine and 3D Modeling. They also revise the usage of Business Canvas model. A 2-hour/week laboratory is included in the course delivery.
Pre-requisite: AIT3101 – Artificial Intelligence