In this course, fundamental concepts and applications of natural language processing will be discussed.  Students will gain knowledge on Natural Language Processing (NLP), application areas of NLP, semantic data models (Semantic Web representations and querying), Information Retrieval (IR) (tf-idf, vector space models, etc) and recent deep learning architectures for NLP. Students will gain knowledge on theory (i.e. stemming, morphological, syntactic, semantic analysis, etc.) and applications (i.e. document clustering, question answering, sentiment analysis, etc.) of NLP. Furthermore, students will investigate recent trends of deep learning for NLP, such as neural networks, Long-Short-Term Memory (LSTM) networks, Convolutional Neural Networks (CNNs), and Autoencoders. By the end of the course students will learn both theoretical and applications of NLP using Python programming. In addition, student will choose a topic, and will have hands-on experience by developing a project in a relevant field.

Fundamentals of Neural Networks: The course introduces the basic principles of artificial neural networks. The terminology and key building block methods of artificial neural networks are studied. The course starts with an introduction perceptrons and perceptron learning algorithm. Then, multilayer perceptrons (MLP) are analyzed in details together with their learning algorithm which is backpropagation algorithm. After that, the course covers two other network models that are Hopfield model and Kohonen's model. Kohonen's model is a model developed under the architecture of self organized map (SOM). Finally, the course studies on recent models, including recurrent neural networks (RNN) and convolutional neural networks (CNN). several applications such as image retrieval and classification. The emphasis will be on MLP and simulations of all the models.

The subject matter of this undergraduate-level introductory course is to provide students a broad overview of many concepts and algorithms in Machine Learning (ML) and equip students with the skills to apply these concepts to real world problems. After completing the course, the students, learn about the basic concepts in main machine learning. Topics will include Nearest Neighbor Classifier, Linear Regression, Least Squares, Learning Theory, Statistical Estimation: MLE, MAP, Naive Bayes Classifier, Linear Classification Models: Logistic Regression, Linear Discriminant Functions, Support Vector Machines, Decision Tree Learning, Ensemble Methods: Bagging, Boosting, Clustering, Ethics in Machine Learning, Feature Engineering: Extraction and Selection.

The aim of this course is to explore the concepts and algorithms at the foundation of modern artificial intelligence, diving into the ideas that give rise to technologies like game-playing engines, handwriting recognition, and machine translation. Through hands-on projects, students gain exposure to the theory behind graph search algorithms, classification, optimization, reinforcement learning, and other topics in artificial intelligence and machine learning as they incorporate them into their own Python programs. By the end of the course, students emerge with experience in libraries for machine learning as well as knowledge of artificial intelligence principles that enable them to design intelligent systems of their own.

This course is designed to provide students with a general understanding of the basic concepts and core techniques of data science. Students explore the computational methods and statistical tools to analyze and make sense of data. Upon completing the course, students will be able to: utilize tools to collect, clean and visualize data; employ data management techniques to effectively access, manipulate and store data; apply statistical methods to make predictions based on data; communicate their results through descriptive summaries and visualizations. Topics will include: Data collection and data management, visualization and basic statistics, hypothesis testing and causality, similarity, neighbors and clusters, large scale data analysis, collaborative filtering.

Introduces concepts of Artificial Intelligence. Presents tools to form well-defined Artificial Intelligence problem formulations. Studies tools and structures to design intelligent agent systems. Presents tools to solve problems based on the structure of the problem and the search space.