top of page
technion .jpeg

Courses

September 2019 - August 2023

Here is the list of courses I chose to take during my bachelor's degree in Data Science Engineering at the Technion, in the Faculty of Data and Decision Science. After scoring 702 on the psychometric exam, I was able to join this faculty and complete my bachelor's degree in 8 semesters over 4 years. In total, I validated 156 credits with a cumulative GPA of 81.8.

Distributed Data and Rational Agents

Credit : 3.5

Grade : 85

This course covers the principles of distributed data management and decision-making in multi-agent systems. It explores how rational agents interact in decentralized environments, focusing on consensus mechanisms, game theory, and algorithmic strategies for optimizing decisions with incomplete information. Topics include distributed optimization, incentive design, federated learning, and applications in blockchain and decentralized finance.

Model-Based Systems Engineering

Credit : 3.5

Grade : 91

This course introduces the principles and methodologies of Model-Based Systems Engineering (MBSE) for designing and managing complex systems. It covers system modeling using formal languages such as SysML, requirement analysis, architecture design, and validation techniques. Topics include model-driven development, simulation, verification, and the integration of MBSE with software and hardware engineering. Practical applications in aerospace, automotive, and industrial systems are also explored.

Data Gathering and Management Lab

Credit : 3.0

Grade : 90

This hands-on course focuses on data collection, preprocessing, and management techniques for real-world applications. Students work on a semester-long project involving predictive modeling without labeled data, exploring methods such as unsupervised learning, weak supervision, and self-supervised learning. Topics include data cleaning, feature engineering, database handling, and model evaluation in the absence of explicit labels. The course emphasizes practical implementation using real datasets and industry-relevant tools.

Probability (Advanced)

Credit : 4.0

Grade : 82

This course delves into advanced probability theory, focusing on concepts such as random variables, probability distributions, expectation, variance, and moment-generating functions. It covers key topics including conditional probability, Markov processes, limit theorems (such as the Central Limit Theorem), and stochastic processes. The course also explores applications of probability in fields like queuing theory, reliability analysis, and decision-making under uncertainty. Students learn to model complex systems and analyze real-world phenomena using advanced probabilistic techniques.

Electronics Commerce Models 

Credit : 3.5

Grade : 77

This course covers the various models and algorithms that power electronic commerce (e-commerce) platforms, focusing on systems that enable online transactions, recommendations, and search. Topics include auction models (e.g., Dutch, English, and sealed-bid auctions) that are widely used in e-commerce for price discovery and sales optimization. Students will explore electronic payment systems, digital wallets, and the security mechanisms necessary to facilitate online transactions. A significant portion of the course focuses on recommender systems, which are used to personalize user experiences in platforms like Amazon, Netflix, and Spotify. Techniques such as collaborative filtering, content-based filtering, and hybrid methods will be explored, as well as the challenges involved in scaling and evaluating recommendation algorithms. The course also covers the PageRank algorithm, originally developed by Google, which ranks web pages based on their importance and relevance to search queries. Students will learn how this algorithm and its variations impact the structure and efficiency of online search engines. Additionally, the course explores online advertising models, including the use of pay-per-click (PPC) and cost-per-impression (CPI) pricing, and how algorithms optimize ad placement and targeting. Personalization techniques and dynamic pricing models will also be discussed, examining how e-commerce platforms tailor their offerings to users based on their behavior and preferences. Finally, the course introduces students to emerging trends in e-commerce, such as the application of machine learning and big data analytics to predict customer behavior, improve user experience, and optimize business operations in the digital marketplace.

Predictive Analytics in Fintech

Credit : 3.0

Grade : 88

This course focuses on the application of predictive analytics techniques in the financial technology (Fintech) sector, with an emphasis on using data-driven models to forecast trends, behaviors, and risks. Students will explore how predictive modeling is applied to key areas within Fintech, such as credit scoring, fraud detection, investment strategies, and customer behavior analysis. The course covers essential techniques like regression analysis, time series forecasting, machine learning algorithms, and neural networks, which are used to analyze historical data and predict future financial outcomes. The course also delves into the data preparation and feature engineering process necessary for building predictive models, focusing on how to handle missing data, outliers, and unstructured data, which are common in financial datasets. Students will learn how to select relevant features, balance datasets, and assess model performance using techniques like cross-validation, ROC curves, and AUC scores. One of the key aspects of the course is understanding the role of big data in predictive analytics, where students will learn how to leverage large-scale financial data sources, such as transaction logs, social media, and market data, to build more accurate and reliable models. The course will also explore alternative data sources, such as geolocation data and consumer sentiment analysis, and how they can be integrated into predictive models to enhance decision-making in Fintech applications.

Machine Learning 1

Credit : 3.5

Grade : 80

This course introduces the fundamental mathematical concepts behind machine learning algorithms, excluding deep learning techniques. It covers the core principles of supervised and unsupervised learning, focusing on key mathematical frameworks and models used in classical machine learning. The course starts with an introduction to linear models, including linear regression and logistic regression, where students learn to minimize error using least squares and maximum likelihood estimation (MLE). The mathematical concepts of gradient descent, cost functions, and optimization algorithms are explored to understand how machine learning models are trained. Next, the course covers classification models, such as support vector machines (SVM), where students learn about kernel methods, decision boundaries, and maximum margin classification. The mathematical background of probability theory and Bayesian inference is introduced for models like Naive Bayes, where students explore Bayes' theorem, conditional probability, and prior vs posterior distributions. In unsupervised learning, the focus is on clustering techniques like k-means clustering and hierarchical clustering, with emphasis on the Euclidean distance, centroid calculation, and expectation-maximization (EM) algorithm. Dimensionality reduction methods such as principal component analysis (PCA) are also covered, where students explore eigenvalues and eigenvectors to reduce the feature space while preserving data variance. The course also covers key evaluation metrics such as cross-validation, precision, recall, F1-score, and confusion matrices to assess the performance of models. Mathematical foundations of regularization methods (L1 and L2) are discussed to prevent overfitting and ensure model generalization.

Deep Learning

Credit : 3.5

Grade : 82

This course delves into deep learning techniques, focusing on Transformers, Recurrent Neural Networks (RNNs), and Convolutional Neural Networks (CNNs). It provides a detailed understanding of how each of these models works and their applications in various domains such as natural language processing, computer vision, and time series analysis. The course begins with an introduction to RNNs, which are designed for sequential data. Students will learn about vanilla RNNs, LSTMs (Long Short-Term Memory), and GRUs (Gated Recurrent Units), focusing on how these architectures help in learning long-range dependencies in sequences. Emphasis is placed on backpropagation through time (BPTT) and how to overcome issues like vanishing and exploding gradients. Next, the course covers CNNs, widely used for image processing. Students will learn about the key components of CNNs, including convolutional layers, pooling layers, and fully connected layers. The course explores how these models extract hierarchical features from images and how to design deeper architectures using architectural enhancements like ResNets and Inception networks. Students will also explore applications of CNNs in object detection, segmentation, and classification tasks. The course also introduces Transformers, which have revolutionized areas like natural language processing (NLP). Students will learn about the self-attention mechanism, multi-head attention, and how Transformers address the limitations of RNNs in handling long-range dependencies. Key architectures such as BERT and GPT will be covered, along with their applications in tasks like language translation, text generation, and question answering. Throughout the course, students will use PyTorch, a powerful framework for building and training deep learning models. They will gain hands-on experience in designing and implementing RNNs, CNNs, and Transformer-based models using PyTorch’s built-in modules. Practical assignments will help students understand how to optimize these models using gradient descent, and evaluate their performance using metrics such as accuracy, precision, and recall.

Cognitive Robotics

Credit : 2.5

Grade : 79

This course explores the intersection of robotics and cognitive science, focusing on the application of reinforcement learning (RL) in robotics for autonomous decision-making and task execution. Students will learn how robots can perceive their environment, plan actions, and learn from interactions through trial and error, using RL algorithms to optimize behaviors in complex, dynamic environments. The course begins with an introduction to basic concepts in robotics, including sensors, actuators, and the mathematical modeling of robot kinematics. Students will study how robots perceive their environment through sensors (such as cameras, LiDAR, and depth sensors) and how they process this sensory input to build models of the world. A major part of the course focuses on reinforcement learning, where students will explore the key elements of RL such as agents, states, actions, and rewards. They will learn algorithms like Q-learning and Deep Q-Networks (DQN) to teach robots how to make decisions that maximize long-term rewards in uncertain environments. The course emphasizes challenges such as exploration vs. exploitation, sample efficiency, and reward shaping, all critical for successfully applying RL to robotics. Students will also explore robot planning and how autonomous systems can plan and execute tasks efficiently. Topics include motion planning, where robots must determine how to move from one point to another while avoiding obstacles, and task planning, where robots must sequence actions to complete complex objectives. The course covers planning algorithms like A search*, rapidly-exploring random trees (RRT), and Markov decision processes (MDPs).

Statistics 2

Credit : 3.0

Grade : 88

This course covers advanced topics in statistics, focusing on techniques and concepts that go beyond foundational methods to provide a deeper understanding of statistical theory and its application. Students will explore more sophisticated statistical models and inference methods, and learn how to handle complex, real-world data. Key topics include asymptotic theory, which explores the behavior of statistical estimators as the sample size becomes large. The course covers the Central Limit Theorem (CLT) in depth, along with its implications for statistical inference, and introduces convergence in distribution and law of large numbers. A major focus is on regression analysis, where students will study advanced methods such as generalized linear models (GLMs), nonlinear regression, and quantile regression. These models are used to handle a wider range of relationships between dependent and independent variables, including those that are not well-described by standard linear models. The course also delves into multivariate statistics, including techniques such as principal component analysis (PCA), factor analysis, and multivariate analysis of variance (MANOVA), which are used to analyze data with multiple variables and uncover underlying patterns. Students will also learn about Bayesian statistics, which offers a powerful alternative to classical frequentist methods. The course covers Bayes' theorem, prior and posterior distributions, Markov Chain Monte Carlo (MCMC) methods, and how to apply Bayesian inference in practical scenarios. Another critical area is time series analysis, including methods for modeling and forecasting data that is ordered in time. Topics include ARIMA models, seasonal decomposition, cointegration, and stationarity, with applications to fields like finance and economics. Advanced hypothesis testing techniques, such as likelihood ratio tests, Wald tests, and bootstrap methods, will be explored in detail. These methods allow for more flexible and powerful testing of hypotheses, particularly in situations where standard methods are not applicable. The course also covers nonparametric statistics, which includes methods like Kruskal-Wallis tests and rank-sum tests that do not assume specific distributional forms for the data, making them useful for analyzing real-world data that does not fit typical statistical assumptions.

Introductory Economics

Credit : 3.5

Grade : 63

This course provides a foundational understanding of economics, covering both microeconomics and macroeconomics. In microeconomics, students are introduced to the basic principles of supply and demand, market equilibrium, and the behavior of individual consumers and firms. Topics include elasticity, consumer choice theory, production theory, and the analysis of various market structures, such as perfect competition, monopolies, and oligopolies. Students learn how firms make production and pricing decisions and how market outcomes are influenced by government intervention, such as taxes, subsidies, and regulations. In macroeconomics, the focus shifts to the broader economy, addressing topics such as GDP, inflation, unemployment, and economic growth. Students learn to analyze economic indicators and understand the role of fiscal and monetary policy in stabilizing the economy. The course covers the functioning of central banks, the tools they use (such as interest rates and money supply), and their impact on national and global economies. Additionally, topics such as international trade, exchange rates, and the effects of globalization are examined.

Discrete Mathematics (for I.E)

Credit : 4.0

Grade : 64

This course covers key concepts in discrete mathematics with a focus on applications in industrial engineering. Topics include set theory, combinatorics, graph theory, logic, and Boolean algebra. Students explore methods for solving optimization problems, modeling networks, and analyzing algorithms. The course emphasizes mathematical reasoning and problem-solving techniques essential for decision-making in industrial systems, operations research, and computer science.

Calculus 2M

Credit : 5.0

Grade : 69

This course builds on the foundational concepts of single-variable calculus, extending them to functions of multiple variables. The primary focus is on understanding and applying techniques of multivariable calculus, particularly involving partial derivatives, multiple integrals, and vector fields. The course begins with the study of functions of several variables. Students will learn about the domain and range of multivariable functions, and how to visualize these functions through level curves and surfaces. This includes an exploration of limits and continuity in higher dimensions and the concept of partial derivatives, which describe the rate of change of a function with respect to one variable, holding others constant. Next, the course covers the chain rule for multivariable functions, enabling students to compute derivatives of composite functions, and the concept of gradient vectors. Students will explore the interpretation of partial derivatives in terms of the tangent plane and learn how to compute higher-order derivatives. The course introduces optimization in several variables, including finding local maxima and minima using second derivative tests and applying the method of Lagrange multipliers for constrained optimization problems. A significant portion of the course is dedicated to multiple integrals. Students will learn how to compute double and triple integrals over rectangular and more general regions. This includes transforming to different coordinate systems, such as polar coordinates for double integrals and cylindrical and spherical coordinates for triple integrals. The course emphasizes the geometric interpretation of multiple integrals, such as finding the area, volume, mass, and center of mass of various regions. The course also explores line integrals and their applications, particularly in the context of vector fields. Students will learn how to compute work done by a force field, as well as the circulation and flux of vector fields. The fundamental Green’s Theorem, Stokes' Theorem, and the Divergence Theorem will also be introduced, showing the relationship between line integrals and surface integrals in a vector calculus framework.

Biology 1

Credit : 3.0

Grade : 88

This course covers the foundational concepts in biology, focusing on the structure and function of living organisms. It begins with cell biology, examining the structure of cells, cellular processes, and organelles. Students explore genetics, learning about DNA, gene expression, inheritance patterns, and genetic variation. The course also covers evolutionary theory, explaining natural selection, adaptation, and the diversity of life. Key topics in ecology are discussed, including ecosystems, energy flow, and the relationships between organisms and their environments. Additionally, the course introduces physiology, focusing on how different systems in the body (e.g., circulatory, digestive, and nervous systems) work together to maintain homeostasis. Overall, this course provides a broad understanding of biological principles, preparing students for more advanced studies in the field.

Samurai History and Myth

Credit : 2.0

Grade : 85

This course explores the history and mythology of the samurai, focusing on their origins, cultural significance, and role in Japanese history. Topics include the rise of the samurai class, their code of honor (Bushido), and their influence on Japanese politics and warfare. The course also examines the legendary figures and myths surrounding samurai, as well as their portrayal in literature, art, and popular culture, highlighting the blending of historical facts and folklore.

Business, Harnessing the Eco System

Credit : 2.0

Grade : 91

This course examines how businesses can leverage their surrounding ecosystems to drive innovation and success. It covers topics like strategic partnerships, collaboration, and sustainable practices, focusing on how companies interact with suppliers, customers, and the environment. The course emphasizes the importance of understanding and adapting to external factors, such as market trends and technological advancements, to create long-term value and competitive advantage.

Introduction to Data Science

Credit : 5.0

Grade : 79

This course provides an overview of key concepts and techniques in data science, covering data collection, preprocessing, exploration, and visualization. It introduces fundamental statistical methods, machine learning algorithms, and model evaluation techniques. Topics include regression, classification, clustering, dimensionality reduction, and data-driven decision-making. The course also covers practical aspects such as handling real-world datasets, feature engineering, and the use of libraries like Pandas, NumPy, and Scikit-learn.

Data Structures and Algorithms

Credit : 4.0

Grade : 78

This course covers fundamental data structures and algorithms essential for efficient problem-solving. Topics include arrays, linked lists, stacks, queues, trees, graphs, and hash tables. The course explores algorithmic techniques such as recursion, sorting, searching, and graph traversal methods like Depth-First Search (DFS) and Breadth-First Search (BFS). Complexity analysis, dynamic programming, and greedy algorithms are also introduced, with a focus on real-world applications and performance optimization.

Data Analysis and Visualization

Credit : 3.0

Grade : 89

This course covers fundamental techniques for analyzing and visualizing data to extract meaningful insights. Topics include data cleaning, exploratory data analysis (EDA), statistical methods, and pattern recognition. It also explores data visualization principles, using tools such as Matplotlib, Seaborn, and Tableau to create effective charts, dashboards, and interactive visualizations. The course emphasizes storytelling with data and best practices for communicating findings.

Algebraic Methods for Data Science

Credit : 3.5

Grade : 97

This course introduces the application of algebraic techniques to solve problems in data science. It covers essential topics in linear algebra, such as vector spaces, matrix operations, eigenvalues, and eigenvectors, with a focus on their use in machine learning, data transformation, and dimensionality reduction. Key concepts include matrix factorizations like Singular Value Decomposition (SVD) and Principal Component Analysis (PCA), which are vital for reducing data complexity while preserving important information. The course also explores systems of linear equations, optimization techniques, and nonlinear algebraic methods used in data fitting and regression analysis. Topics such as least squares solutions, convex optimization, and gradient descent are discussed in the context of training machine learning models. Additionally, students are introduced to algebraic structures like groups and rings, and how they relate to data encoding, cryptography, and error correction. The focus is on developing the mathematical intuition needed to apply algebraic methods effectively in data-driven problem-solving across various domains, including statistics, computer science, and engineering.

Distributed Information Systems

Credit : 3.5

Grade : 93

This course provides a deep exploration of distributed information systems, focusing on the design, architecture, and implementation of systems that manage and process information across multiple, geographically dispersed locations. Students will learn about the core principles of distributed systems, such as communication protocols, synchronization, and fault tolerance, which enable multiple systems to work together cohesively and efficiently. Key topics include distributed data storage, where students explore techniques like data replication, partitioning, and consistency models, as well as how these methods impact performance, availability, and scalability. The course covers distributed computing models such as client-server, peer-to-peer, and cloud-based architectures, with a focus on the challenges of ensuring reliability and fault tolerance in distributed environments. Students will study distributed algorithms, including consensus algorithms like Paxos and Raft, which are used to maintain consistency and handle failures in distributed systems. In addition, distributed file systems and distributed databases will be examined to understand how data is stored and accessed in large-scale, distributed environments, emphasizing issues such as consistency, replication, and data partitioning. Students will also explore the role of middleware in enabling communication between distributed components, and the importance of security in protecting data and ensuring secure communication across distributed systems. The course covers security protocols, encryption, and authentication mechanisms critical to maintaining the integrity and confidentiality of data in distributed environments. Throughout the course, students will engage with practical case studies to understand how distributed information systems are applied in real-world contexts, such as in cloud computing, internet of things (IoT), and global data centers. They will also be exposed to emerging technologies and trends, including the use of microservices architectures, blockchain, and edge computing, and will develop the skills necessary to design, implement, and manage robust, scalable distributed systems

Machine Learning in Portfolio Selection

Credit : 2.5

Grade : 94

This course focuses on applying machine learning techniques to portfolio optimization in financial markets. Students will learn how to enhance traditional portfolio selection models, such as mean-variance optimization, by incorporating more complex, non-linear relationships between assets. The course covers advanced methods for predicting asset returns and managing portfolio risk, including time series analysis, autoregressive models, and volatility forecasting. Students will explore the use of regression models, random forests, and support vector machines (SVM) to predict future asset returns, alongside dimensionality reduction techniques like PCA to handle large, high-dimensional datasets. The course also introduces the application of reinforcement learning for dynamic portfolio management, where algorithms optimize asset allocation through continuous learning. Additionally, the course delves into risk management models, such as value-at-risk (VaR), and strategies for portfolio diversification and hedging. By the end of the course, students will gain practical skills in applying machine learning for efficient portfolio selection and risk mitigation in real-world financial contexts.

Business Process Management and Mining

Credit : 3.0

Grade : 86

This course focuses on the principles and techniques of Business Process Management (BPM) and Business Process Mining (BPMn). Students will learn how to analyze, model, and optimize business processes using data-driven approaches to improve efficiency and decision-making within organizations. The course begins with an introduction to the BPM lifecycle, covering process discovery, process modeling, process analysis, and process improvement. Students will learn to apply various modeling techniques, such as Business Process Model and Notation (BPMN), Petri nets, and workflow diagrams to represent and analyze organizational workflows. In process mining, students will explore how data from event logs can be used to reconstruct and visualize actual business processes. Key techniques covered include process discovery algorithms, which automatically extract process models from event logs, and conformance checking, where the actual process is compared against the desired or ideal process model to identify discrepancies and inefficiencies. Students will also study performance mining, which involves analyzing event logs to assess process performance based on key metrics like cycle time, throughput, and resource utilization. Additionally, the course delves into techniques for improving business processes, focusing on optimization methods such as Six Sigma and lean management. Students will also learn about intelligent process automation and the role of AI in automating and optimizing business processes.

Machine Learning 2

Credit : 3.5

Grade : 91

This course explores the mathematical foundations behind deep learning and the key concepts involved in the optimization of deep learning models. It builds on basic machine learning principles and provides an in-depth understanding of the underlying mathematics that power deep learning models and optimization techniques, with a particular focus on convex optimization and how it applies to training deep networks. The course begins with an introduction to linear algebra and calculus, which are essential for understanding neural networks. Students will explore topics like matrix operations, eigenvalues, and singular value decomposition (SVD), which are critical for understanding data representation and transformation within neural networks. The course also covers the role of activation functions and how they enable non-linear transformations in deep networks. A key focus is on gradient-based optimization, starting with basic techniques like stochastic gradient descent (SGD) and advancing to more sophisticated methods such as momentum, RMSprop, and Adam. Students will learn the backpropagation algorithm, which is fundamental for training deep neural networks by updating weights based on gradient calculations. The course dives deeply into convex optimization and its role in machine learning, explaining how convex loss functions (such as the mean squared error (MSE) and log-likelihood loss) enable efficient optimization. It covers the theory behind convex sets, convex functions, and dual problems, and introduces optimization methods like gradient descent, Newton's method, and conjugate gradient. Special attention is given to the challenges posed by non-convex optimization in deep learning, including local minima and saddle points. Students will also study regularization techniques (such as L2 regularization and dropout) that prevent overfitting and improve generalization in deep learning models. The course highlights how these techniques are mathematically grounded in optimization theory and how they affect the training dynamics of neural networks. Additionally, the course covers loss landscape analysis, helping students understand the geometry of the objective functions being optimized during training. Concepts like optimization trajectories and flat vs. sharp minima will be discussed to give students a deeper understanding of how deep learning models converge during training and why certain models generalize better than others.

Internet of Things, Technology and Data (IOT)

Credit : 3.0

Grade : 92

This course focuses on the integration of hardware and software to create IoT (Internet of Things) applications. It covers the fundamentals of IoT technology, from the sensors and devices that collect data to the networks that transmit that data and the platforms used for analysis and visualization. A key aspect of the course is learning to build and deploy a complete IoT system that predicts, tracks, and displays real-time statistics. The course begins with an introduction to the core components of IoT, including microcontrollers (such as Arduino), sensors, and actuators. Students will gain hands-on experience using Arduino to create custom circuits and connect various sensors to collect real-time data, such as temperature, humidity, or motion. Students will also explore the wireless communication technologies that enable IoT devices to exchange data, with a particular focus on Bluetooth for creating wireless applications. They will learn how to program Bluetooth modules (like HC-05 or BLE) to enable communication between their IoT devices and mobile or web applications. The core of the course revolves around building an IoT application that collects, predicts, and displays real-time metrics. Students will create a system where data is gathered from IoT sensors, transmitted via Bluetooth to a mobile device or web interface, and analyzed in real-time. They will learn about data collection, storage, and analytics, including how to process and visualize metrics to gain insights from the collected data. Techniques for predictive analytics will also be covered, allowing students to build models that forecast future data trends based on current measurements. Additionally, the course includes developing a user interface (UI) to interact with the IoT device and visualize real-time data and predictions. Students will create applications using platforms like Android Studio for mobile apps or React for web-based applications. The goal is to design an intuitive interface that allows users to easily monitor and interact with the IoT system. The final project involves building a fully functional IoT system where students design and implement an IoT device with real-time data collection, predictive analytics, and a user-friendly application to visualize the data. This system can be applied to various fields such as health monitoring, smart homes, or environmental tracking.

Calculus 1M

Credit : 5.5

Grade : 89

This course introduces the core concepts and fundamental theorems of calculus, focusing on mathematical functions and the rigorous proof of key theorems. The aim is to build a strong theoretical foundation for understanding the behavior and properties of functions, limits, and derivatives, and to develop skills in formal mathematical reasoning. The course begins with an introduction to limits and the concept of continuity. Students will explore the formal definition of a limit and its significance in the context of function behavior. They will learn how to prove the existence of limits using epsilon-delta arguments and explore the concept of one-sided limits and infinite limits. Next, the course covers differentiation, starting with the definition of the derivative as a limit of a difference quotient. Students will learn how to prove the basic derivative rules (product rule, quotient rule, chain rule) and explore the mean value theorem, Rolle’s theorem, and the fundamental theorem of calculus, which ties the concept of differentiation to integration. The course continues with applications of the derivative, such as finding local extrema, analyzing concavity, and using the first and second derivative tests to determine the behavior of functions. The concept of optimization will be explored in the context of finding maximum and minimum values of functions. Integration is introduced through the formal definition of the Riemann integral, focusing on the rigorous process of defining the integral of a function over an interval. Students will learn to apply the Fundamental Theorem of Calculus to compute definite and indefinite integrals and prove various results, including the integration by parts and substitution. The course also covers the Taylor series and the convergence of power series, along with a detailed study of indeterminate forms and techniques like L’Hôpital’s Rule for resolving limits involving 0/0 or infinity/infinity forms.

Introduction to Financial Management

Credit : 2.5

Grade : 65

This course introduces the principles of financial management, focusing on the essential concepts of financial decision-making within organizations. Key topics include: Financial Statements: Understanding and analyzing balance sheets, income statements, and cash flow statements, with a focus on interpreting financial data to assess the performance of a company. Time Value of Money: Concepts such as present value, future value, discounting, and compounding, used to evaluate investment decisions, loans, and financial planning. Capital Budgeting: Methods for evaluating long-term investment projects, including Net Present Value (NPV), Internal Rate of Return (IRR), and Payback Period. Risk and Return: The relationship between risk and expected return, and the application of techniques like portfolio theory and the Capital Asset Pricing Model (CAPM) to assess investment opportunities. Cost of Capital: Calculating the cost of debt, equity, and the weighted average cost of capital (WACC) to determine the required return on investments. Financial Ratios and Analysis: Key ratios used to evaluate liquidity, profitability, efficiency, and solvency, such as the current ratio, return on equity (ROE), and debt-to-equity ratio. Working Capital Management: Strategies for managing short-term assets and liabilities, focusing on cash, inventory, receivables, and payables. Financing Decisions: Exploring sources of financing, including debt, equity, and retained earnings, and understanding their implications on capital structure and corporate strategy.

Distributed Database Management 

Credit : 3.0

Grade : 64

This course delves into the principles and techniques behind distributed database systems, focusing on how databases can be effectively managed across multiple locations and platforms. Students will explore the fundamentals of distributed database architecture, including the concepts of data fragmentation, replication, and allocation, and how these approaches optimize performance, availability, and fault tolerance. The course examines the challenges of maintaining data consistency across distributed environments, covering various consistency models, such as eventual consistency and strong consistency, and the trade-offs associated with them. In addition, students will study key methods for query processing and optimization in distributed systems, which aim to ensure efficient execution of queries even when data is spread across different locations. Topics such as distributed transaction management and the two-phase commit protocol will be explored in depth, as well as how to ensure the ACID properties (Atomicity, Consistency, Isolation, Durability) are maintained in a distributed setting. The course also covers advanced topics like distributed indexing, replication strategies, and distributed file systems, which play a crucial role in data retrieval and fault tolerance in large-scale systems. Students will gain hands-on experience by working with real-world distributed database management systems, learning to implement and manage distributed databases, troubleshoot performance issues, and develop solutions for ensuring data integrity and availability across diverse networked environments. Through case studies, students will also gain an understanding of how distributed databases are applied in industries such as cloud computing, e-commerce, and large-scale data processing, and will examine emerging trends and technologies in the field, such as NoSQL databases and distributed ledger technologies.

Introduction to Computer Science

Credit : 4.0

Grade : 87

This course introduces the fundamentals of computer science using the C programming language. Topics include basic syntax, control structures (if-else, loops), functions, recursion, and backtracking. Students will learn about arrays, pointers, dynamic memory allocation with malloc, and memory management. The course covers data structures like linked lists, stacks, queues, and hash tables. Additionally, students explore file I/O, basic algorithms (sorting, searching), and time/space complexity analysis. Practical assignments help students apply these concepts, building a strong foundation for further software development and computational problem-solving.

General Genetics

Credit : 3.5

Grade : 73

This course explores the fundamental principles of genetics, focusing on the inheritance and variation of traits in living organisms. Topics include the structure and function of DNA, gene expression, and protein synthesis. Students learn about Mendelian inheritance, examining dominant and recessive traits, Punnett squares, and the laws of segregation and independent assortment. The course also covers genetic mutations, their causes, and their effects on organisms. Students explore genetic recombination and crossing over during meiosis, as well as linkage and genetic mapping. The principles of population genetics are introduced, including Hardy-Weinberg equilibrium and evolutionary mechanisms. Advanced topics include genomics, the study of genomes, and genetic technologies such as CRISPR and gene editing. This course provides a solid foundation in understanding genetic principles, preparing students for more specialized topics in genetics and biotechnology.

History of the Middle East

Credit : 2.0

Grade : 100

This course covers the historical development of the Middle East, from ancient civilizations to modern times. It explores key events and figures, including the rise of major empires such as the Ottoman Empire and the Persian Empire, the spread of Islam, and the region's political and cultural transformations. The course also examines the impact of colonialism, the formation of modern nation-states, and ongoing conflicts in the 20th and 21st centuries, providing insight into the complex history and geopolitics of the region.

Computer Architecture and Operating Systems

Credit : 3.5

Grade : 80

This course covers the fundamental principles of computer architecture and operating systems. It explores hardware components, instruction sets, memory hierarchy, and parallel processing. The operating systems section focuses on process management, threading, scheduling, memory allocation, file systems, and synchronization mechanisms. Topics also include virtualization, security, and performance optimization in modern computing environments.

Database Management

Credit : 3.0

Grade : 83

This course covers the fundamental principles of database systems, including relational database design, SQL querying, and transaction management. Topics include data modeling with ER diagrams, normalization, indexing, concurrency control, and database security. The course also introduces NoSQL databases, distributed databases, and optimization techniques for efficient data retrieval and storage.

Stochastic Models in Operation Research

Credit : 3.5

Grade : 77

This course explores probabilistic models used in operations research for decision-making under uncertainty. Topics include Markov chains, Poisson processes, queuing theory, and stochastic optimization. The course covers applications in inventory management, supply chain logistics, and risk analysis, with a focus on modeling real-world systems using probabilistic techniques.

Fondation and Application of Artificial Intelligence

Credit : 3.5

Grade : 98

This course provides a comprehensive overview of the foundations and practical applications of Artificial Intelligence (AI). It covers the key concepts and methodologies that drive AI systems, including machine learning, natural language processing, computer vision, and reinforcement learning. Students are introduced to foundational algorithms such as supervised learning (e.g., decision trees, support vector machines, neural networks) and unsupervised learning techniques (e.g., clustering, dimensionality reduction), with a focus on their real-world applications. The course explores AI problem-solving techniques, such as search algorithms (e.g., A*, depth-first search) and optimization methods, and the role of heuristics in guiding decision-making processes. Students will also learn about knowledge representation, reasoning, and planning techniques used in expert systems and robotics. Practical applications of AI in various industries, including healthcare, autonomous vehicles, finance, and entertainment, are examined, with case studies illustrating how AI models can be deployed in real-world scenarios. The course emphasizes both the theoretical aspects of AI, such as probabilistic reasoning, and its practical implementation using popular AI frameworks and tools like TensorFlow and PyTorch. Students gain hands-on experience by working on projects that apply AI methods to solve complex problems, preparing them for further exploration of advanced topics in the field.

Algorithmic and High Frequency Trading

Credit : 2.0

Grade : 94

This course focuses on the principles and techniques behind algorithmic trading and high-frequency trading (HFT), exploring how algorithms are designed and implemented to execute large volumes of financial transactions at extremely high speeds. Students will learn the core concepts of algorithmic trading, including market-making, statistical arbitrage, and trend-following strategies, and how these strategies are used to optimize trade execution, minimize transaction costs, and enhance market efficiency. The course also covers the use of machine learning and data mining techniques in developing predictive models for price movements, risk management, and portfolio optimization. A significant portion of the course is dedicated to understanding the high-frequency trading environment, where the focus is on executing trades in milliseconds. Topics include latency minimization, order types, market microstructure, and the design of systems capable of processing large datasets in real-time. Students will explore how HFT firms leverage advanced technologies, such as direct market access (DMA), co-location, and low-latency networks, to gain a competitive edge in the market.

Non Linear Models in Operations Research 

Credit : 3.5

Grade : 89

This course covers the application of nonlinear models in the field of operations research, focusing on optimization problems where the objective function or constraints are nonlinear. Students will explore a variety of methods for solving nonlinear programming (NLP) problems, including gradient-based techniques, Newton’s method, and Lagrange multipliers, as well as more advanced approaches like convex programming and heuristic algorithms. Key topics include the formulation of nonlinear optimization problems, convex vs non-convex optimization, and dual optimization. The course also covers practical applications of nonlinear models in fields like supply chain management, resource allocation, and production scheduling. Special emphasis is placed on constraint handling, including methods for dealing with non-convex constraints and global optimization. Students will also learn about optimality conditions, KKT (Karush-Kuhn-Tucker) conditions, and sequential quadratic programming (SQP), all of which are essential for solving complex nonlinear problems. Real-world case studies will help students develop the skills to apply nonlinear models effectively in decision-making scenarios, optimizing systems that cannot be solved using linear techniques.

Cognition in Information Visualization

Credit : 3.0

Grade : 92

This course focuses on the application of cognitive science to the design and interpretation of information visualizations. It explores how cognitive processes such as attention, memory, and visual perception influence the way people understand and interact with data. Students will learn about key Gestalt principles like proximity and similarity, which guide the organization of visual elements, and how these principles help in creating effective visual representations. The course covers the human visual system and its limitations, including how different data encoding techniques (such as color, size, and shape) impact comprehension. Students will study cognitive load theory to understand how too much information can overwhelm users and will learn strategies to simplify visualizations to make them easier to interpret. The importance of interactive visualization techniques, like zooming and filtering, is also covered to facilitate deeper data exploration. Finally, students will learn how to evaluate the effectiveness of visualizations through user testing and cognitive evaluation methods, ensuring that visualizations are both informative and easy to understand.

Methods in Natural Language Processing (NLP)

Credit : 3.0

Grade : 76

This course covers essential methods in Natural Language Processing (NLP), focusing on modern approaches like Transformers. Students will explore the foundational algorithms and techniques that have revolutionized the field of NLP, with a particular emphasis on the Transformer architecture, which powers models like BERT, GPT, and T5. The course begins with an introduction to traditional NLP tasks such as tokenization, part-of-speech tagging, named entity recognition (NER), and text classification. Students will learn about earlier methods, including bag-of-words, TF-IDF, and word embeddings (like Word2Vec and GloVe), providing the historical context before transitioning into more advanced deep learning-based approaches. A major focus of the course is on the Transformer architecture and its components. Students will delve into the key elements of Transformers, including self-attention, multi-head attention, and the positional encoding mechanism, which allow the model to efficiently process sequential data. The course will explain how Transformers address the limitations of older models like RNNs and LSTMs, particularly in handling long-range dependencies and parallelization. Additionally, the course covers the process of pretraining and fine-tuning large language models like BERT and GPT, with a focus on transfer learning techniques. Students will gain hands-on experience using Hugging Face Transformers and other libraries to fine-tune pretrained models on specific tasks such as text generation, question answering, and text summarization. The course culminates in a final project where students will build a machine translation model using the Transformer architecture. They will work on a dataset to train and fine-tune a model for language translation, applying techniques learned throughout the course to optimize model performance. This project will involve data preprocessing, designing the model architecture, implementing the Transformer in PyTorch, and evaluating the results using metrics like BLEU score.

Causal Inference

Credit : 2.5

Grade : 85

This course focuses on the principles and methods of causal inference, a key aspect of data science that goes beyond simple correlations to identify and understand the causal relationships between variables. The course introduces students to both the theoretical foundations and practical applications of causal analysis, helping them to design studies and analyze data to make valid causal claims. The course starts with an introduction to causality theory, where students learn about causal models, causal diagrams (Directed Acyclic Graphs, DAGs), and counterfactual reasoning. Students will explore the difference between correlation and causation, as well as the challenges involved in drawing causal conclusions from observational data. Key topics include the Rubin Causal Model (RCM), which provides a framework for understanding causal effects, and the concept of potential outcomes. The course also covers techniques for estimating causal effects, such as randomized controlled trials (RCTs), propensity score matching, and instrumental variables. Students will learn how these techniques are used to estimate the causal impact of interventions in situations where randomized experiments are not possible. A major focus is on identifying and addressing confounding, a common issue in observational studies that occurs when an external variable influences both the treatment and the outcome. The course will also cover methods for causal discovery and understanding how to infer causal relationships from complex datasets, even when the underlying causal structure is not explicitly known.

Linear Algebra

Credit : 5.5

Grade : 85

This course covers the fundamental concepts and techniques of linear algebra, a cornerstone of modern mathematics with wide applications in fields like computer science, physics, economics, and engineering. The focus is on understanding the properties and operations of vectors and matrices, as well as their applications to solving systems of linear equations. The course begins with an introduction to vectors and vector spaces. Students will learn about the basic operations on vectors, such as addition, scalar multiplication, and dot product, and explore properties of vector spaces, such as subspaces, basis, and dimension. The course also covers important theorems related to linear dependence and independence of vectors. Next, the course explores matrices and their properties. Students will study operations such as matrix addition, multiplication, and the concept of transpose. The course delves into the determinant of a matrix, explaining its geometric interpretation and its use in solving systems of linear equations. The concept of invertibility is also covered, including conditions under which a matrix is invertible and the computation of its inverse. A major part of the course is dedicated to solving systems of linear equations. Using methods such as Gaussian elimination, students will learn how to represent and solve systems of equations in matrix form. The course emphasizes understanding the concepts of row echelon form and rank, as well as applying these concepts to determine whether a system has a unique solution, no solution, or infinitely many solutions. The course also introduces eigenvalues and eigenvectors, which are critical in many areas of linear algebra and its applications. Students will learn how to compute eigenvalues and eigenvectors and explore their significance in diagonalizing matrices, solving differential equations, and analyzing systems in physics and economics. Orthogonality is another key topic, where students will study inner product spaces and the concept of orthogonal vectors. The course introduces Gram-Schmidt orthogonalization and the application of orthogonal projections in solving least squares problems.

Introduction to Statistics

Credit : 3.5

Grade : 75

This course provides a comprehensive introduction to the fundamental concepts and techniques in statistics. It begins with descriptive statistics, where students learn about measures of central tendency (mean, median, mode) and dispersion (variance, standard deviation, range), as well as techniques for data visualization such as histograms and box plots. Probability theory is then introduced, covering basic probability concepts, conditional probability, and the law of total probability. Students also explore both discrete and continuous probability distributions, including the binomial, Poisson, normal, and exponential distributions. The course delves into sampling and estimation, discussing sampling methods and the Central Limit Theorem, which underpins much of inferential statistics. Students learn about point estimation and interval estimation, focusing on unbiased estimators, confidence intervals, and methods such as the Method of Moments and Maximum Likelihood Estimation (MLE). The topic of hypothesis testing is covered extensively, with a focus on the formulation of null and alternative hypotheses, understanding Type I and Type II errors, interpreting p-values, and applying tests like t-tests, chi-square tests, and ANOVA to compare means, proportions, and variances. Further, students study correlation and regression analysis, where they examine Pearson's correlation coefficient and simple linear regression. They learn how to estimate model parameters using the least squares method, interpret regression coefficients, and assess model fit using goodness-of-fit metrics like R-squared. The course concludes with an exploration of statistical inference, providing an understanding of estimation techniques and their application in data analysis, equipping students with the tools to draw meaningful conclusions from real-world datasets.

The Human Factor in Data Collection 

Credit : 3.5

Grade : 75

This course explores the crucial role that human behavior, decision-making, and biases play in the process of data collection, emphasizing how these factors can influence the quality, accuracy, and reliability of collected data. It delves into the psychological and social aspects that affect human interactions with data collection tools, from survey respondents to those conducting interviews or experiments. Students will examine common biases, such as confirmation bias, selection bias, and recall bias, and how these can skew data, leading to inaccurate conclusions and flawed decision-making processes. The course also covers the ethical implications of data collection, focusing on the responsibilities of researchers and practitioners in ensuring that data is gathered in a way that respects privacy, consent, and fairness. Students will analyze how cultural and social factors can influence data collection outcomes, particularly in diverse and global contexts, and how these influences can be mitigated to improve the validity and generalizability of data. In addition, the course explores methods for designing data collection instruments that minimize human error and bias, such as standardized questionnaires, randomized controlled trials, and the use of machine learning techniques to assist in detecting and correcting data anomalies.

Physics 1

Credit : 2.5

Grade : 75

This course introduces key concepts in classical mechanics. It covers kinematics, focusing on the motion of objects, including displacement, velocity, and acceleration. Students explore Newton's laws of motion, which explain the relationship between forces and the resulting motion of objects. The course also delves into work and energy, explaining concepts such as kinetic energy, potential energy, conservation of energy, and power. Additionally, momentum and impulse are examined, with an emphasis on conservation laws and collisions. The principles of gravitational force and motion under gravity are discussed, along with rotational dynamics, where students learn about torque, angular momentum, and rotational inertia. The course concludes with an introduction to thermodynamics, covering the basic laws of thermodynamics, heat transfer, and the concepts of temperature and thermal energy. This foundational course provides essential knowledge for further studies in physics and engineering.

Technical English Advanced

Credit : 3.0

Grade : 87

This course focuses on advanced English language skills tailored for technical fields. It covers writing and presenting technical documents, such as reports, research papers, and proposals. Students enhance their ability to understand and communicate complex technical concepts, improve their vocabulary and grammar for professional settings, and develop effective communication strategies for technical presentations and discussions.

The Renaissance in Italy Art and Culture

Credit : 2.0

Grade : 87

This course explores the cultural and artistic transformations that took place during the Italian Renaissance. It focuses on key figures like Leonardo da Vinci, Michelangelo, and Raphael, examining their contributions to art, science, and philosophy. The course also covers the development of humanism, the rise of patronage, and the impact of Renaissance ideas on literature, architecture, and society, highlighting Italy's central role in shaping Western culture.

bottom of page