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
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.
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 skills to Information Technology, Information Systems, and Computer Engineering, , and BSDA students. These skills enhance their ability to both analyze and describe mathematically many of the algorithms and data structure performance characteristics. Topics covered include propositional logic, predicate logic, inference, mathematical induction & other proof techniques, counting, sets, functions, recursion, relations, graphs, and trees.
Program Core Courses & Internship
DAT100 - Introduction to Data Analytics
The course focuses on providing students with a broad overview of the various aspects of data analytics. This course allows students to understand and apply basic data analytics techniques. Topics to be covered include data science life cycle, types of data, an overview of data engineering, data analytics, model evaluation, data visualization, decision-making, and Business Intelligence (BI).
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.
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.
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
The 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. The 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 address ethical and professional issues applicable to computing practices.
INS 402 - Business Intelligence
This course provides an introduction to the concepts of and business intelligence (BI). It explores how business problems can be solved effectively by using operational data to create data warehouses and then applying data mining tools and analytics to gain new insights into organizational operations. In particular, students learn effective modeling techniques (dimensional modeling), foundations and technologies for the Decision-Making process, the ETL process, Business Performance Management, an overview of Data Mining, and analytical modeling (descriptive, predictive, and prescriptive). Students will learn to exploit the demonstrated topics to extract business intelligence and convey them to stakeholders.
INT100 - Introductory Programming
This course provides knowledge and skills in problem-solving and introductory programming using Java programming language. Topics cover the problem-solving process; data types; variables, constants, scope, and memory locations; basic input/output; selection and repetition control structures; arrays and strings; and user-defined methods.
INT201 - Object Oriented Programming
The primary objective of this course is to introduce the concepts of object-oriented programming: classes, objects, system and user-defined methods, inheritance, polymorphism, and composition. The course also covers recursive algorithms and exception handling. This course is not meant as a comprehensive introduction to all Java concepts such as applets and socket programming.
INT205 - Fundamentals of Data Communications and Networking
Introduction to computer networks and the Internet: Components of data communication, data flow, data communication system, network criteria, types of connections, topologies, transmission media, parallel and serial transmission, network types, protocol and standards, protocol layers, and the OSI model. Physical layer: Data and Signals, Nyquist Bit Rate, and Shannon Capacity. Data Link Layer: Error detection and correction, multiple access, MAC addressing, switches, ARP, MAC Frame (IEEE 802.3 protocol), Wired LAN Ethernet, and WLAN (IEEE 802.11 protocol). Network Layer: Network Devices, Virtual circuits, routers, IP Addresses, subnetting, IP protocols and routing algorithms, NAT, IP header format, ARP, and DHCP. Transport layer: UDP, TCP, and congestion control. 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; definitions, operations, and implementations of the list, stack, queue, tree, binary search tree, priority queue, heap, hash table, and graph data structures and their applications; sorting; and searching.
INT301 - Operating Systems
This course covers the principles and concepts of modern operating systems. Topics include operating system services; operating systems structures; operating system processes: threads, synchronization, CPU scheduling, deadlocks; memory management: main memory, virtual memory; storage management: storage structures, file-system interface, and file-system implementation; and operating protection and security.
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 (ER) and enhanced entity relationship (EER) diagrams, and the relational data model, converting an E-R model to a relational model, Structured Query Language (SQL), normalization, and physical database design. Oracle software is used in the Lab.
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. topics covered include cryptography, authentication, access control, database security, malicious software, denial of service, network security, security management and risk assessment, security controls, plans, and procedures, and legal and ethical aspects of information security.
INT305 - Fundamentals of Software Engineering
The course emphasizes object-oriented techniques and the use of the Unified Modelling Language (UML). Topics covered in this course include an overview of the software engineering process, software process models, UML syntax and semantics, software requirement analysis, software design principles and models, component-level design, software testing techniques, software effort estimation, and software sustainability.
DAT323 - 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; heuristic search techniques; inferencing; machine learning; intelligent agents, and robots; AI techniques used in computer vision, natural language understanding, and speech recognition; and ethical, economic, and social issues arising from the adoption of AI. 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 the 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, entrepreneurship and innovation, sustainability, and project implementation.
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.
INT309 - Cloud Computing
This course aims to introduce students to the theory and practice of cloud computing. Topics include parallel and distributed systems; deployment and service models; cloud infrastructure; applications and paradigms; resource virtualization; resources management and scheduling; networking support; cloud storage systems; cloud security, and sustainability in a cloud environment.
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. Students will become familiar with DBA roles and responsibilities, be able to create a database environment with modeling and normalization as well as reporting while maintaining data integrity.
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.