Scientific Computing (Track Core)

This course covers numerical analysis and solution techniques for common scientific and engineering problems and provides essential foundation for important computational subject areas such as medical imaging, bioinformatics, financial modeling, to name a few. The course covers a variety of topics including numerical approximations and errors, roots of equations, systems of linear algebraic

Image Processing and Computer Graphics (Track Core)

This course aims be a comprehensive introduction to the basic concepts and algorithms of digital processing of visual information that would be utilized in the most prominent applications such as medical imaging, remote sensing, space exploration, surveillance, gaming and entertainment, manufacturing and robotics. The course is divided into two closely-related parts: image processing and computer

Data Mining of Massive Datasets

This course provides an introduction to data mining concepts over structured and un-structured data with special emphasis on practical applications of this important research area. Data Mining usually involves the extraction and discovery of useful knowledge from raw data. The discovery process, also known as knowledge discovery, includes feature selection, data cleaning, and coding and entails


Advanced Big Data Analytics

This course acts as an applied course where students can develop on their combined knowledge of BigData technologies (e.g. Hadoop, Spark, etc.) and Data Science (e.g. Statistics, Machine Learning, etc.) and understand how such combination is used to solve real-world applications. In addition to this main goal, the course has the additional goal of familiarizing students with the latest


Statistical Analysis and Machine Learning (Common Core)

This course provides an introduction to machine learning and statistical data analysis. The first part of the course covers topics such as parameter estimation, hypothesis testing and regression analysis. The second part includes machine learning topics such as supervised learning; unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance

Introduction to Big Data

The capability of collecting and storing huge amounts of versatile data necessitate the development and use of new techniques and methodologies for processing and analyzing big data. This course provides a comprehensive covering of a number of technologies that are at the foundation of the Big Data movement. The Hadoop architecture and ecosystem of tools will be of special focus to this course


Systems Engineering

Introduction to system engineering outlining traditional design process. The content of the course follows typical system design life cycle. It correlates the different disciplines required to deploy and sustain a system for missions in information technology, information processing and electronics domains. Topics include system architecture into hardware and software components, requirement

Software Engineering

This course focuses on critical aspects of the software development life cycle that have significant influence on the overall quality of the software system including techniques and approaches to software design, quantitative measurement and assessment of the system during implementation, testing, and maintenance, and the role of verification and validation in assuring software quality.

Computer Architecture

The course includes an overview of the history and current and future trends and issues in processor design, as well as performance measurement and enhancement techniques. Topics covered include pipelining, parallelism, multiprocessors, cache & memory issues, and interconnections networks.

Stochastic Processes

This course introduces random processes and their applications from a discrete-time point of view, and discusses the continuous-time case when necessary. The course covers the basic concepts of random variables, random vectors, stochastic processes, and random fields. It moves on to common random processes including the white noise, Gaussian processes, Markov processes, Poisson processes, and

Information Theory

Prerequisite: CIT 604. This course covers mathematical models for channels and sources. The basic concepts of entropy, relative entropy, and mutual information are defined, and their connections to channel capacity, coding, and data compression are presented. Limits for error-free communication, information theory also presents limits for data compression, information, and data compression, Topics

Fundamental of Networking

This course covers fundamental concepts in the design and implementation of computer networks. Examples are drawn primarily from the Internet protocol suite. In the first part of the course, we will cover layered networking models, application layer protocols, transport layer protocols, Internet Protocol (IP), and internetworking. In addition, advanced topics such as wireless networks and network

Operations Research

This course introduces the fundamentals of operations research, including different techniques for modelling and problem-solving. The course will emphasize model-formulation skills, the mathematical procedures of linear programming, network flows, dynamic programming, game theory Markov chains, queuing models, and other problem-solving techniques.

Introduction to Convex Optimization Theory

This course focuses on the theory and applications and algorithms of convex optimization. It focuses on recognizing and solving convex optimization problems that arise in many engineering fields. It is divided into three parts; Mathematical background, convex optimization theory, and its applications. The Mathematical background part reviews relevant topics in linear Algebra that are necessary for

Network Architecture

The course covers the network evolution and development, network architectures, network topologies and technologies, layered protocol design, OSI model, MAC protocols, multiplexing, switching, flow control, IP networking, addressing, IPv4 vs. IPv6, transmission protocols, TCP/IP networking, routing and queuing, Domain Name System, network management, network performance evaluation, Quality of

Cloud Computing

The course targets students and IT professionals looking for understanding cloud computing basics, environment and architecture. The course covers cloud infrastructure, cloud deployment and service models. This is in addition to basic concepts of traditional data centers, virtualization, migrating to cloud computing and deciding for optimal cloud deployment model.