Mathematics and Statistics Courses
DAT201 - Linear Algebra
This course will cover the following topics: Linear Equations and Vectors; Matrix and Linear Transformation; Determinants; Eigenvalues and Eigenvectors; Vector Space and subspace; Orthogonality.
DAT203 - Probability Theory and its Applications
This course introduces to Probability theory, Random variables and Random processes. It covers probability axioms, conditional probability; Bayes` theorem, discrete and continuous random variables, some common discrete probability distributions and continuous distributions It also includes bivariate distribution, independence, covariance and correlation. The course provides an introduction to random processes, the weak, the large law of numbers and the central limit theorem.
DAT305 - Statistical Modelling
This course covers topics such as estimations, hypothesis testing. Simple and multiple linear regression, parametric non-linear regression, generalized linear model, nonparametric regression, and generalized nonparametric regression.
DAT406 - Optimization Models and Algorithms
This course covers modeling techniques and algorithms to introduce optimization methods in solving data analysis problems. It includes the following topics: Linear Programming; Nonlinear Programming, Simplex Method; Revised and Dual Simplex method.
INT101 - Calculus for Information Technology
This course covers the essential mathematical topics that students specialized in information technology needs. Topics covered are plane analytic geometry; matrices and determinants; solution of a system of linear equations; real functions limits, continuity, differentiation and applications; integration; and graphs.
INT202 - Discrete Mathematics
This course introduces Discrete Mathematics techniques to Information Technology and Computer Engineering, and BSDA students. Topics covered include propositional logic, predicate logic, inference, induction & other proof techniques, counting, sets, functions, recursion, relations, graphs, and trees.
Program Core Courses & Internship
DAT100 - Introduction to Data Analytics
The class focuses on providing students with an overview of the data analytics related topics briefly. This will allow students to understand and apply the basic techniques of data analytics. Topics to be covered include data engineering, data analytics process, data visualization, decision-making process, and an introduction to the big data concepts. By the end of this course, students will be able to demonstrate fundamental knowledge about the data analytics field.
DAT206 - Data Visualization
The course aims to introduce students to data visualization techniques beyond the common visualization expressions, such as Bar chart and Line chart. The course provides an introduction of the underlying structure of large data sets using advanced visualizations: data and image models, shapes, Maps and Networks visualizations based on principles of graphic design and human cognition to choose the most effective way to display a variety of data. Students will learn explanatory data analysis methods to present information in an efficient, effective, understandable, and aesthetic manner, for the purposes of explaining ideas and analyzing data. Students will develop skills in creating and evaluating data visualizations, and how to use such visualizations to present clear evidence of results to the intended audience. This course also will provide students with hands-on experience using one of the modern visualization tools, such as Tableau and QlikView.
DAT205 - Programming for Data Analytics I
The aim of this course is to introduce students to scientific computing in Python Programming language, in order to solve a broad set of data analytics problems. Students will be able to manipulate, process, clean and crunch data in Python. The primary focus is on structured data. Topics include Multidimensional arrays (matrices), Tabular or spreadsheet-like data in which each column may be a different type (string, numeric, date, or otherwise), Multiple tables of data interrelated by key columns, evenly or unevenly spaced time series.
DAT 204 - Data Engineering
The course aims to introduce students with the concept of a modern data ecosystem. Students will learn how to perform the principle tasks involved in managing extracting, transforming and loading (ETL) data. Students will learn the different types of data modeling methods that are used for the three well know data types; namely structured, semi-structured and unstructured. This course also explains the data life cycle in a data analytics project starting from the data collection (data importing, data crawling), preprocessing (cleaning and transformation), ingestion, and warehousing. The course also covers the elementary visualization aspects needed to understand and explore the data. By the end of this course, students will be able to perform all data engineering tasks needed for any data analytics project.
DAT302 - Programming for data analytics II
This course provides students with the knowledge of how to program in R programming language and how to use R for data analysis. Topics covered in this course include basic concepts of R programming, reading data into R, writing functions using R concept, control structure, debugging, data analysis, simulation and optimization, Simple data summaries, and packages. Working examples in statistical analysis will be given.
DAT304 - Data Analytics Ethics
This course provides students with an understanding of ethical and legal frameworks to initiatives in the data profession. The course will explore social, moral and ethical ramifications of the choices made by a data analyst at the different stages of the data capturing, storage and feedback loop. Students will learn applied data methods; develop foundational abilities in applying legal and ethical frameworks and techniques for the data analytics profession. This course will expose students to a variety of real-world business case, best practices, in class discussions, and hands-on exercises.
DAT401 - Data Mining
Analytics with its three types: descriptive, predictive and prescriptive, transforms data into insight for better business decision making. This course provides students with an understanding of how predictive analytics can be used to identify patterns and to transform data into useful insights. Students will learn statistical methods to understand and quantify the accuracy of model and to solve business problems with data. The course will explore approaches to discover, prepare and analyze data, to build predictive models and to visualize data using R language.
DAT402 - Text and Web Mining
This course covers the concepts, techniques, and algorithms of text analytics and web mining. Topics include, preprocessing unstructured data; statistical text processing methods and algorithms for text classification and clustering; web structure mining; web usage mining; web spam detection; and text visualization. Students are also required to work on group or individual projects that embodies a text analytics or a web mining solution to a problem.
DAT403 - Data Analytics Capstone Project
This course aims to give students the opportunity to work in a guided but independent fashion to investigate a problem by making use of data analytics knowledge, techniques, and methodologies acquired in the previous semesters to provide a suitable solution to a data analytics problem. The course also aims to enhance teamwork and communication skills, both oral and written as well as ethical issues involved.
DAT404 - Business and Social Analytics
This course provides students with an understanding of how analytics can help improve business decision-making process. The course will explore emerging methods and applications for understanding user behavior, draw insight from data, improve ability to make predictions, and advocate future actions that help make better business decisions. Students will learn how to identify analytics problems, use data analytics tools and identify types of analysis to be performed. This course will expose students to a variety of real-world business cases, a collection of data analytics tools, best practices and hands-on exercises.
DAT405 - Machine Learning
The aim of this course is to introduce students to the methods and algorithms of machine learning and in particular deep learning models for supervised and unsupervised type learning. Topics covered are: neural networks models for classifications and clustering problems, linear and logistic regression, support vector machines (SVM), probabilistic models, dimensionality reduction techniques, reinforced learning, ensemble learning, multiclass classifications, and model selection and evaluation. Students are also required to work on an individual project that embodies a machine learning solution to a problem.
DAT407 - Data Analytics Internship
Internship familiarizes students with actual working environments. It gives students the opportunity to integrate their knowledge and skills learned by applying it to real world problems encountered in business and industry. Internship also gives the student a feeling of what is involved in working on actual data analytics problems and develop communication and teamwork skills as well as ethical issues relation to IT.
INS 402 - Business Intelligence and Data Warehousing
Today’s IT deals with a gigantic amount of information. The success of any organization greatly depends on its ability to process and understand its information and extract essential knowledge to help managers make well-informed decisions. This course teaches students the basics of data warehouse and how to deal with business intelligence – an information technology approach to data collection, data storage, and data analysis to support a wide variety of management tasks, from performance evaluation to trend spotting and policymaking. The students learn effective modeling techniques and use them to extract business intelligence and present them to users.
INT100 - Introductory Programming
This course provides knowledge and skills of problem solving and introductory programming using Java programming language. Topics cover: the problem- solving process; data types; variables, constants, scope, and memory locations; simple sequential programs; basic input/output; selection and repetition control structures; arrays and strings; and user-defined functions.
INT201 - Object Oriented Programming
The primary objective of this course is to introduce the concepts of object-oriented programming: classes, objects, methods, object interaction, encapsulation, inheritance, polymorphism, composition, recursive algorithms, and exception handling. This course is not meant as a comprehensive introduction to all of Java concepts such as applets and socket programming.
INT205 - Fundamentals of Data Communications and Networking
Introduction to computer networks and the Internet: Protocol layers and the OSI model. Physical layer: Data and Signals, Shannon Capacity, channel coding, BCH codes, source coding and compression. Data Link Layer: error detection and correction, multiple access, MAC addressing, switches, ARP, MAC Frame (IEEE 802.3 protocol), Wired LAN Ethernet t, Virtual Circuit, and WLAN (IEEE 802.11 protocol). Transport layer: UDP, TCP and congestion control. Network layer: virtual circuits, routers, IP protocols and routing algorithms. Application layer: HTTP, FTP, SMTP, POP3, DNS and peer-to-peer applications.
INT209 - Data Structures
The course covers concepts of program performance (time and space complexity); recursion; data structures: lists, stacks, queues, graphs, trees, binary search trees, priority queues, heaps, and operations on them and their applications; sorting; searching and hashing.
INT301 - Operating Systems
This course covers the principles and concepts of modern operating systems. Operating system services: processes and process management, memory management, file systems, Input/Output and device control, deadlocks, distributed systems, case studies. To introduce the learner to the principles and practice of operating systems with respect to effective and convenient management and operation of a computer system.
INT302 - Database Management Systems
This course is designed to give a theoretical and practical background in database techniques. It covers database concepts, data models, data dictionary, entity-relationship diagrams, and the relational data model, converting E-R models to the relational model, SQL language, normalization, and physical database design. Oracle software is used in the Lab.
INT305 - Fundamentals of Software Engineering
The course emphasizes object-oriented techniques and the use of UML. Topics covered in this course include: overview of the software engineering process, software process models, UML syntax and semantics, software requirement analysis using UML, software design principles and models, component-level design, and software testing. Student will work in teams on software projects.
INT323 - Big Data Technologies
This is an introduction to the technologies that are used for big data. The aim of the course is to provide students with the knowledge required to use big data technologies and learn how to store, and process big data sets. Topics covered include: Big Data and Hadoop, Hadoop Distributed File System, Map Reduce, PIG, HIVE, HBase, and search with Solr and Lucene.
INT430 - Artificial Intelligence
This course is designed to introduce the theory and techniques of AI to students. The course covers: knowledge representation schemes, classical and heuristic search techniques, inferencing, linear and integer programming, and intelligent agents. The PROLOG language is also covered to enable students to represent, manipulate, and reason with knowledge.
Program Elective Courses
DAT410 - Selected Topics in Data Analytics
This course aims to introduce students to new developments in the area of data analytics not specifically covered in the curriculum and in which a faculty member has developed interest and proficiency. The intention is to provide a rapid response to current trends and to widen student’s knowledge in various areas of data analytics. Specific content of the course will depend on the particular area taught at the time.
DAT411 - Advanced Data Analytics
This course emphasizes how to use more advance algorithms for data analytics. Students will practice advanced data analytic techniques, including ensemble classification, Support vector machine, Deep learning, Bayesian approaches, advanced clustering methods (ex. Density-based clustering methods), classification method based on association rules, and sequential and time series analysis, and anomaly detection. Although data analytics can be performed in diverse domains, we will emphasize on modern data mining and machine learning methods and their application in specific domains, such as financial application, social networks, health, and bioinformatics.
INT307 - Information Technology Project Management
This course covers: characteristics of IT Project management, initiating an IT project; project planning; defining and managing project scope, structuring a project, project schedule and budget, managing project risk, project communication, tracking, and reporting, IT project quality management, ethics and professional practices, and project implementation.
INT303 - Fundamentals of Information Security
This course aims at introducing fundamental security concepts to students. Main security threats and related countermeasures are presented. Students will learn the importance of protecting information stored on computer systems from unauthorized access e,g Intelligent Authentication using data Analytics. The students will also learn how to encrypt and decrypt information, control access to objects and recommend a secure system implementation.
INT309 - Cloud Computing
This course aims to introduce students to theory and practice of cloud computing. Topics include: parallel and distributed systems; deployment and service models; cloud infrastructure; applications and paradigms; resource virtualization; resouce management and scheduling; networking support; cloud storage systems; and cloud security.
INT321 - Database Administration
This course prepares students to administer and maintain databases by applying best practices and procedures to any database platform. With general, platform independent approach, students will be able to work as database administrators to any of the major industrial databases including Oracle, IBM DB2, Sybase, Microsoft and MySQL. The main topics covered by the course include creating database administration environment, performance management, database security, database monitoring and optimization, database tuning, storage management, database backup and recovery.
INT422 - Information Architecture
Information is the heart of knowledge and one of the main pillars of information systems. This course introduces fundamental concepts and methods of understanding and modeling data as well as extracting information out of it. It also shows how to represent large volume of information and allow users to comprehend and interact with it in an effective way. The course focuses on data modeling and architecture approaches allowing student to build effective information architecture. Then the student will learn how to interact with information using different labeling, navigation, and search strategies. Students will finally learn about information architecture in practice and its applications in large organizations