Courses
Natural Language Processing
This course Introduces the fundamental concepts and ideas of natural language processing (NLP). The course presents processing linguistic information and the underlying computational properties of natural languages.
Cloud Computing and Networking
This course introduces the fundamental concepts of data networks. Underlying engineering principles of computer networks and integrated digital networks are discussed. Students should learn to analyze the trade-offs between deploying applications in the cloud and over the local infrastructure. They should compare the advantages and disadvantages of various cloud computing platforms. Practically
Digital Image Processing
The course develops a theoretical foundation of fundamental Image Processing concepts. It presents the mathematical foundations for digital manipulation of images; image acquisition; preprocessing; segmentation; Fourier domain processing; and compression. Students gain experience and practical techniques to write programs using MATLAB language for digital manipulation of images; image acquisition
Data Mining and Statistical Analysis
The course focuses on the Proper management and analysis that are needed to utilize the huge amounts of data coming from different sources that are the foundation for appropriate decision making within any organization. The course presents the special knowledge and skills need to accomplish this challenge. The course give the students the required skills for extracting meaningful information from
Optimization techniques
To introduce students to the basics of optimization techniques including the necessary mathematical background. The course will focus on both convex and non-convex optimization.
Artificial Neural Networks
This course will cover basics of neural network architectures both feedforward and feedback. Learning algorithms for each architecture will be discussed along with convergence analysis. Simple examples through MATLAB simulations will be demonstrated. Students will be given regular home assignments. There will be test on both MATLAB assignments as well as course contents. Students can study other
Machine Learning
This course aims to provide students with an in-depth introduction to two main areas of Machine Learning: supervised and unsupervised. The course covers some of the main models and algorithms for regression, classification, and clustering. Topics will include linear and logistic regression, regularization, Maximum Likelihood Estimation (MLE), probabilistic (Bayesian) inference, Support Vector
Undergraduate Program of Artificial Intelligence (AI)
This course aims to introduce the design and implementation of intelligent computer systems. It allows student to understand the importance of AI and its related fields. The course enables students to know different knowledge representation techniques. At the end of the course, students should master different search and control strategies.
Programming Numerical Methods
This course integrates the knowledge of mathematics in general and Calculus in particular with programming. Students are able to develop the code that solve a problem numerically, test it and know the precision limitations of digital systems and how to deal with it.
System Analysis and Design
The course introduces the major alternative methodologies used in developing information systems. Students should learn how to analyze the business needs for information and to develop an appropriate strategy to provide the required information service. In this course, students learn how to use various information gathering techniques for eliciting user information requirements and system
Introduction to IoT
The course will describe common Internet of Things (IoT) basics, the technology used to build these kinds of devices, how they communicate, how they store data, and the kinds of distributed systems needed to support them. Divided into four modules, students will learn by doing. They will learn how the client will run in an emulated ARM environment, communicating using common IoT protocols with a
Logic Design
This course is to familiarize the student with fundamental principles of digital design. It provides coverage of classical hardware design for both combinational and sequential logic circuits. The course is supported by a digital logic design laboratory.
Culculus II
This course is an introductory course in integration. The aim of this course is to understand the difference between the definite and indefinite integrals. The course will present the concept of Multiple integral, line integral and different types of coordinates. Finally, the course will introduce some real-life application related to integration.