1. |
CS6106 |
Advanced Cloud Computing ▼
|
3 |
0 |
0 |
3 |
Course Number
|
CS6106
|
Course Credit (L-T-P-C)
|
3-0-0-3
|
Course Title
|
Advanced Cloud Computing
|
Learning Mode
|
Offline
|
Learning Objectives
|
This course aims to help the students understand (a) how and why cloud systems work and the cloud technologies that manifest these concepts, such as those from Amazon AWS and Microsoft Azure; (b) distributed systems concepts like virtualisation, data parallelism, CAP theorem, and performance analysis at scale; (c) Big Data programming patterns such as Map-Reduce (Hadoop), Vertex-centric graphs (Giraph), Continuous Dataflows (Storm), and NoSQL storage systems to build Cloud applications; (d) Cloud native computing and micro-services.
|
Course Description
|
This course provides an in-depth understanding of cloud computing, virtualisation, and distributed systems. It covers foundational concepts, advanced techniques, and real-world applications. Students will explore various aspects of cloud infrastructure, virtualisation technologies, distributed algorithms, and cloud-native computing. By the end of the course, students will be equipped with the knowledge and skills to design, implement, and manage cloud-based solutions and distributed systems effectively.
|
Course Outline
|
Cloud computing features and categories.
Virtualization: Virtualization Models, Types of Virtualization: Processor virtualization, Memory virtualization, Full virtualization, Para virtualization, Device virtualization.
Virtual Machine: Live VM Migration Stages, Virtual Machine Migration for Enterprise Data Centers, Data Center Workloads, Provisioning methods, Resource provisioning.
Geo-distributed Clouds: Server Virtualization, Network Virtualization, Approaches for Networking of VMs: Hardware approach: Single-root I/O virtualization (SR-IOV), Software approach: Open vSwitch, Mininet and its applications.
Software Defined Network for Multi-tenant Data Centers: Network virtualization, Case Study: VL2, NVP
Geo-distributed Cloud Data Centers: Inter-Data Center Networking, Data center interconnection techniques: MPLS, Google’s B4 and Microsoft’s Swan. Leader Election algorithms in Cloud. Google’s Chubby and Apache Zookeeper. Time and Clock Synchronization in Cloud Data Centers, Datacenter time protocol (DTP). Consensus, Paxos and Recovery in Clouds.
Cloud Storage: Key-value stores/NoSQL, Design of Apache Cassandra, HBase. Peer to Peer Systems in Cloud Computing. Cloud application: MapReduce Examples. Advances in Cloud Computing with decentralization and Edge Computing.
|
Learning Outcome
|
- Cloud Computing as a Distributed Systems: Explain and contrast the role of Cloud computing within this space.
- Cloud Virtualization, Abstractions and Enabling Technologies: Explain virtualisation and their role in elastic computing. Characterise the distinctions between Infrastructure, Platform and Software as a Service (IaaS, PaaS, SaaS) abstractions, and Public and Private Clouds, and analyse their advantages and disadvantages.
- Programming Patterns for "Big Data" Applications on Cloud: Demonstrate using Map-Reduce, Vertex-Centric and Continuous Dataflow programming models.
- Application Execution Models on Clouds: Compare synchronous and asynchronous execution patterns. Design and implement Cloud applications that can scale up on a VM and out across multiple VMs. Illustrate the use of NoSQL Cloud storage for information storage.
- Performance, scalability and consistency on Clouds: Explain the distinctions between Consistency, Availability and Partitioning (CAP theorem), and discuss the types of Cloud applications that exhibit these features.
|
Assessment Method
|
Internal (Quiz/Assignment/Project), Mid-Term, End-Term
|
Suggested Reading
|
- Distributed and Cloud Computing From Parallel Processing to the Internet of Things; Kai Hwang, Jack Dongarra, Geoffrey Fox Publisher: Morgan Kaufmann, Elsevier, 2013.
- Cloud Computing: Principles and Paradigms; Rajkumar Buyya, James Broberg, and Andrzej M. Goscinski Publisher: Wiley, 2011.
- Distributed Algorithms Nancy Lynch Publisher: Morgan Kaufmann, Elsevier, 1996.
- Cloud Computing Bible Barrie Sosinsky Publisher: Wiley, 2011.
- Cloud Computing: Principles, Systems and Applications, Nikos Antonopoulos, Lee Gillam Publisher: Springer, 2012.
|
|
2. |
CS6107 |
Advanced Edge Computing ▼
|
3 |
0 |
0 |
3 |
Course Number
|
CS6107
|
Course Credit (L-T-P-C)
|
3-0-0-3
|
Course Title
|
Advanced Edge Computing
|
Learning Mode
|
Offline
|
Learning Objectives
|
Upon successful completion of this course, students will be able to: (a) understand the fundamental concepts and limitations of cloud computing and identify the advantages of edge computing; (b) describe various edge computing architectures and differentiate them from traditional cloud models; (c) comprehend the principles of distributed systems as they apply to edge computing environments; (d) explore the functionalities of edge data centers and lightweight edge clouds; (e) deploy and manage containerized applications using Docker and Kubernetes in edge computing contexts; and (f) implement and evaluate edge storage systems and end-to-end edge pipelines utilising MQTT and Kafka, as well as investigate advanced edge computing technologies for real-world applications.
|
Course Description
|
This course delves into the emerging field of edge computing, providing a comprehensive understanding of its architectures, systems, and technologies. Students will explore the limitations of traditional cloud computing and learn about the advantages and applications of edge computing. The course covers key concepts in distributed systems, edge data centers, and lightweight edge clouds and includes hands-on experience with Docker, Kubernetes, and edge storage systems. Additionally, students will gain insights into end-to-end edge pipelines using MQTT and Kafka and examine advanced edge computing technologies. By the end of the course, students will be equipped with the knowledge and skills to design, implement, and manage edge computing solutions.
|
Course Outline
|
Cloud Computing Basics.Edge Computing basics. Edge Computing Use-Cases, Benefits. Different Types of Edge. Edge Deployment Modes. Edge Computing in 5G, Multi-access Edge Computing (MEC) and Mobile Edge Computing.
|
Learning Outcome
|
- Critically evaluate advanced edge computing architectures, such as hierarchical, mesh, and hybrid models, considering their suitability for specific use cases and environments.
- Analyses emerging technologies and trends in advanced edge computing, such as edge AI, blockchain, and serverless computing, and assess their potential impact.
- Design and implement innovative edge computing solutions that leverage advanced techniques, such as federated learning, edge caching, and dynamic resource allocation.
- Evaluate the performance and scalability of advanced edge computing systems using benchmarking, simulation, and experimentation.
- Investigate advanced techniques for ensuring security, privacy, and data integrity in edge computing ecosystems, such as secure enclaves, encryption, and access control mechanisms.
- Explore specialised applications of advanced edge computing in domains such as healthcare, smart cities, and autonomous systems, analysing their requirements and challenges.
|
Assessment Method
|
Internal (Quiz/Assignment/Project), Mid-Term, End-Term
|
Suggested Reading
|
- Fog and Edge Computing: Principles and Paradigms, Rajkumar Buyya (Editor), Satish Narayana Srirama (Editor), Wiley, 2019
- Cloud Computing: Principles and Paradigms, Editors: Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, Wiley, 2011
- Cloud and Distributed Computing: Algorithms and Systems, Rajiv Misra, Yashwant Patel, Wiley 2020.
- Besides these books, we will provide Journal papers as references.
|
|
3. |
CS6108 |
Advanced Computational Data Analysis ▼
|
3 |
0 |
0 |
3 |
Course Number
|
CS6108
|
Course Credit (L-T-P-C)
|
3-0-0-3
|
Course Title
|
Advanced Computational Data Analysis
|
Learning Mode
|
Offline
|
Learning Objective
|
In this subject, the students will be trained with the knowledge of various advanced data analytics techniques encountered in real life.
|
Course Description
|
Current Physical systems/devices are highly complex and fast and operate with high data acquisition and generation capabilities. Data generated from such systems require advanced level of analytics for apprehension and further usage. This course aims to give a broad understanding what is advanced level data analytics techniques and how they play a critical role in analysing modern day physical systems acquired data.
|
Course Outline
|
Introduction, Operation of physical systems and data generation, Complexity, Drawbacks and Challenges in data generation from physical devices. Requirement of advanced data analytics.
Foundations of advanced data analytics principles, mathematical models, probabilistic models, optimization models, deep learning and machine learning models.
Role of advanced data analytics in data apprehension and compression, curve-based approximation techniques, interpolation techniques, machine learning models for data interpretation.
Statistical models to advanced data analytics, data analytics for 2D and 3D data processing and data manipulation, application of advanced data analytics to real life cases, problem solving.
|
Learning Outcome
|
- Gain understanding on data generation systems and the role of advanced data analytics.
- Apply the Mathematical models of advanced data analytics to real time
- Understand the utilities of statistical models and ML models for advanced data analytics.
|
Assessment Method
|
Internal (Quiz/Assignment/Project), Mid-Term, End-Term
|
Suggested Readings
|
- Signal Processing: A Mathematical Approach, Charles L. Byrne, Second Edition, Chapman & Hall, 2014.
- Digital Functions and Data Reconstruction: Digital-Discrete Methods, Li M Chen, Springer, 2013.
- Machine Learning with Neural Networks: An Introduction for Scientists and Engineers, Bernhard Mehlig, Cambridge University Press, 2021
- Signal Processing and Machine Learning with Applications, Michael M. Richter, Sheuli Paul, Veton Këpuska, Marius Silaghi, Springer Cham, 2022
- Data Compression: The Complete Reference, David Solomon, 4th Edition, Springer, 2007
|
|
4. |
CS6109 |
Reinforcement Learning ▼
|
3 |
0 |
0 |
3 |
Course Number
|
CS6109
|
Course Credit (L-T-P-C)
|
3-0-0-3
|
Course Title
|
Reinforcement Learning
|
Learning Mode
|
Offline
|
Learning Objectives
|
This course aims to help the students (a) Understand the foundational concepts and mathematical frameworks of reinforcement learning. (b) Gain proficiency in key reinforcement learning algorithms, including dynamic programming, Monte Carlo methods, and temporal-difference learning (c) Apply deep reinforcement learning techniques to solve complex problems using methods such as deep Q-networks and policy gradient algorithms. (d) Explore recent advancements and applications of reinforcement learning, including multi-agent systems and ethical considerations.
|
Course Description
|
This specialized course on reinforcement learning aims to give students a deep understanding of the algorithms and methodologies used to train agents to make decisions through trial and error. Students will learn to develop and implement reinforcement learning models by focusing on foundational theories and practical applications. Students will explore key concepts such as Markov decision processes, policy gradients, Q-learning, and deep reinforcement learning through a mix of theoretical lectures, coding exercises, and project-based learning. Upon completion, students will be equipped to design and apply reinforcement learning solutions to complex problems in fields such as robotics, game development, and autonomous systems, enhancing their expertise in this dynamic area of artificial intelligence.
|
Course Outline
|
Foundations: Basics of machine learning and reinforcement learning (RL) terminology.
Probability Concepts: Axioms of probability, random variables, distributions, and correlation.
Markov Decision Process: Introduction to MDPs, Markov property, and Bellman equations.
State and Action Value Functions: Concepts of MDP, state, and action value functions.
Tabular Methods and Q-networks: Dynamic programming, Monte Carlo, TD learning, and deep Q-networks.
Policy Optimization: Policy-based methods, REINFORCE algorithm, and actor-critic methods.
Recent Advances and Applications: Meta-learning, multi-agent RL, ethics in RL, and real-world applications.
|
Learning Outcome
|
- Mastery of fundamental principles and mathematical frameworks of reinforcement learning.
- Proficiency in implementing key reinforcement learning algorithms and techniques.
- Ability to apply deep reinforcement learning methods to complex, real-world problems.
- Understanding of recent advancements in reinforcement learning and their ethical implications.
|
Assessment Method
|
Internal (Quiz/Assignment/Project), Mid-Term, End-Term
|
Suggested Reading
|
- Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew G. Barto, The MIT Press (1 January 1998).
- Deep Reinforcement Learning Hands-On by Maxim Lapan, Packt Publishing Limited (21 June 2018).
- Algorithms for Reinforcement Learning by Csaba Szepesvari, Morgan and Claypool Publishers (2010)
- Deep Reinforcement Learning: Fundamentals, Research and Applications by Hao Dong, Springer Verlag (2020)
|
|
5. |
CS6110 |
Advanced Graph Machine Learning ▼
|
3 |
0 |
0 |
3 |
Course Number
|
CS6110
|
Course Credit (L-T-P-C)
|
3-0-0-3
|
Course Title
|
Advanced Graph Machine Learning
|
Learning Mode
|
Offline
|
Learning Objectives
|
Several real world systems can be represented as a network of entities that are connected to each other through some relations. Often the number of entities is immensely large, thus forming a very large network. Typical examples of such large networks include network of entities in knowledge graphs, co-occurrence graph of the keywords in natural languages, interaction graph of users in social networks, protein-protein interaction graphs and the network of routers in Internet to name a few. Study of these networks is often needed for relational learning tasks, as well as for developing frameworks for representing the intrinsic structure of the data. This course will mainly deal with both the traditional as well as current state of the art machine learning techniques to be applied on Graphs for different downstream tasks.
|
Course Description
|
The course will provide knowledge on the representation and statistical descriptions of large networks, along with traditional machine learning and deep learning techniques applied on graphs. Several use cases of Graph Machine Learning across different domains including Natural Language Processing, Social Network Analysis and Computational Biology would be studied.
|
Course Outline
|
Introduction and background knowledge of graphs; Network Measures and Metrices;
Spectral Analysis of Graphs and its applications; Random Networks; Properties of Random Networks;
Overview of machine learning applications on graphs; Feature based learning on graphs, Shallow embedding and deep Learning techniques for generating node and graph representations – Graph Neural Networks, Graph Attention Networks, Graph Transformers; Graph Neural Networks Pretraining techniques;
Generative models for graphs; Models for scale-free and small-world networks;
Temporal networks, Modeling temporal networks
|
Learning Outcome
|
Course training via lectures & tutorial sessions to
- Represent and analyze the structure of graphs
- Discover recurring and significant patterns of interconnections in your data with network motifs and community structure.
- Gain Knowledge on traditional machine learning techniques applied on graphs
- Leverage graph-structured data to make better predictions using graph neural networks
- Understand the problems in dealing with large graphs for machine learning tasks and learn how to improvise
- Analyze temporal and dynamic graphs
- Scaling neural networks with generative models for graphs.
|
Assessment Method
|
Internal (Quiz/Assignment/Project), Mid-Term, End-Term
|
Suggested Readings
|
- M.E.J. Newman, Networks - An introduction, Oxford Univ Press, 2010.
- Yao Ma and Jilian Tang, Deep Learning on Graphs, Cambridge University Press, 2021
- Goyal, Palash and Emilio Ferrara. “Graph embedding techniques, applications, and performance: A survey.” Knowl.-Based Syst. 151 (2018): 78-94.
|
|
6. |
CS6111 |
Advanced Time Series Analysis ▼
|
3 |
0 |
0 |
3 |
Course Number
|
CS6111
|
Course Credit (L-T-P-C)
|
3-0-0-3
|
Course Title
|
Advanced Time Series Analysis
|
Learning Mode
|
Offline
|
Learning Objectives
|
- This course on advance time series will teach both the fundamental concepts time series analysis, as well as recent trends in time series analysis.
- Students will learn to design successful time series data applications with sequential Neural Networks.
- Deploy Nonlinear Auto-regressive Network with Exogenous Inputs
- Adapt Deep Neural Networks for Time Series Forecasting and classification
|
Course Description
|
This course provides advanced concepts in time series analysis including some fundamentals of time series, data pre-processing, feature selection, Variety of modeling techniques, Anomaly Detection in Time Series and forecasting financial series using statistical, econometric, machine learning, and deep learning approaches and Practical Applications and Deployment of models.
|
Course Outline
|
Introduction to classical time series methods, time series Virtualization Univariate Stationary Processes; Granger Causality; Vector Autoregressive Processes
Nonstationary Processes; Cointegration; Cointegration in Single Equation Models: Representation, Estimation and Testing.
Applied Predictive Modeling Techniques; Autoregressive Conditional Heteroskedasticity.
Finance and Algorithmic trading: Machine Learning and Deep Learning in Stock Price
Prediction Machine Learning, Deep Learned Time series Analysis, Risk and Portfolio Management
Practical Applications and Deployment of models; applications of convolutional neural network (CNN) and long-and-short-term memory (LSTM) network architectures; designing predictive models for financial time series data
Stock Price Prediction using Deep Learning and Natural Language Processing
|
Learning Outcome
|
At the end of the course, students will have achieved the following learning objectives.
- problems relating to obtaining, cleaning, simulating, and storing time series data.
- Variety of modeling techniques that can be used for recent time series analysis
- techniques of financial time series analysis and forecasting financial series using statistical, econometric, machine learning, and deep learning approaches.
- Apply more recently developed methods, such as machine learning and neural network, to time series data, highlighting the challenges of data processing and data layout when time series data is used for fitting models
|
Assessment Method
|
Internal (Quiz/Assignment/Project), Mid-Term, End-Term
|
|