CSE-5LevelSyllabus-ForWeb : Electives-5xyz

1 | Course Code | Course Name | Credits | Syllabus | References |
---|---|---|---|---|---|

2 | CS5010 | Neural Networks | 3 | Introduction to ANNs: Biological neural networks, Pattern recognition tasks, Computational models of neurons, Structures of neural networks, Learning principles; Feed forward neural networks: Perceptron, Multilayer feed forward neural networks (MLFFNNs), Error back propagation learning, Autoassociative neural networks, Other types of MLFFNNs; Radial basis function networks: Regularization theory, RBF networks for function approximation, RBF networks for pattern classification; Support vector machines; Self –organizing maps: Pattern clustering, Kohonen’s self- organizing map; Feed back neural networks: Pattern storage and retrieval, Hopfield model, Recurrent neural networks. | 1. B. Yegnanarayana, Artifical Neural Networks, Prentice Hall of India,1999
2. Satish Kumar, Neural Networks – A Classroom Approach, Tata Mc Graw-Hill, 2003 3. S. Haykin, Neural Networks – A Comprehensive Foundation, Prentice Hall, 1998 |

3 | CS5020 | Pattern Recognition | 3 | Basics of pattern recognition, Bayesian decision theory, Classifiers, Discriminant functions, Decision surfaces, Parameter estimation methods, Hidden Markov models, dimension reduction methods, Fisher discriminant analysis, Principal component analysis, Non-parametric techniques for density estimation, non-metric methods for pattern classification, unsupervised learning, algorithms for clustering: K-means, Hierarchical and other methods | 1. R.O.Duda, P.E.Hart and D.G.Stork, Pattern Classification, John Wiley, 2001
2. S.Theodoridis and K.Koutroumbas, Pattern Recognition, 4th Ed., Academic Press, 2009 3. C.M.Bishop, Pattern Recognition and Machine Learning, Springer, 2006 |

4 | CS5030 | Topics in Theoretical Computer Science | 3 | This course will be primarily based on published papers in various areas of theoretical computer science. The objective is to discuss in depth some of the key results in theoretical computer science. | Research papers |

5 | CS5040 | Linear Optimization | 3 | Linear programming, linear algebra, geometry of polyhedra, the simplex method, duality, primal dual algorithms, opt: applications to integer linear programs. | 1. Online Lecture notes by Christopher Griffin 2. Introduction to Linear Optimization and Extensions with Matlab by Roy Kwon. 3. Understanding and using linear programming by Jiri Matousek. |

6 | CS5050 | Advanced Topics in Data Management | 3 | Parallel and distributed database systems. Advanced query processing & optimization - Volcano optimizer, decorrelation techniques, holistic optimization of database applications. Adaptive query processing. Streaming databases. Data warehousing and OLAP. Spatial databases and indexing of spatial data. XML. | Research papers |

7 | CS5060 | Advanced Computer Networks | 3 | Basics of Computer Networking, TCP/IP protocol stack, Local Area Networks (Ethernet, Wi-Fi), Network Management, Network Security, Multimedia Transport, Next generation Internet architectures, Green Communication Networks, and Data Center Networking. \\ Performance studies using QualNet simulator and lab assignments using Seattle GENI testbed. | 1. Computer Networking: A Top-Down Approach by James F. Kurose and Keith W. Ross, 5th Edition, 2009, Addison Wesley
2. Research articles |

8 | CS5070 | Networked Wireless Systems | 3 | Fundamentals of Wireless Communication, Wireless LANs, Cellular Systems (GSM/GPRS/EDGE/UMTS/LTE), Medium Access Control (MAC), Capacity of Wireless networks, and Project demos/presentations. | Mobile Communications by Jochen Schiller, 2nd edition, 2003, Addison-Wesley; research articles |

9 | CS5100 | Quantum Computing | 3 | Review of required concepts in linear algebra, postulates of quantum mechanics, nondistinguishability
of non-orthogonal states, no cloning theorem. Models of Quantum Computation: Quantum Turing Machines, Quantum Circuits. Hidden Subgroup Problem: Deutsch, Deutsch Jozsa and Simon's problems, Shor's algorithm for integer factoring/discrete logarithm, Hidden Subgroup Problem for Abelian groups, Non-abelian group with emphasis on Symmetric group. Grover's quantum algorithm for unordered search. Introduction to Quantum Cryptography, BB84 key exchange protocol. Topics like quantum lower bounds, quantum random walks, quantum communication. | Michael Nielsen and Isaac Chuang: Quantum Computation and Quantum Information; research papers |

10 | CS5110 | Computational Complexity | 3 | Review of Undecidability, Diagonalization, Time and Space Hierarchy theorems, Oracles,
Relativization, Limits of Diagonalization--Baker Gill Solovay theorem. Review of NP-completeness, Different types of Reductions. Space Complexity, Configuration Graphs, Savitch's theorem, Immerman Szlepcsenyi theorem. Polynomial Hierarchy and Alternation. Randomized Computation. Introduction to Circuit Complexity. Introduction to Interactive Proof Systems. Counting Classes: The class #P, Permanent is #P-complete, Toda's theorem | 1. Christos Papadimitrious; Computational Complexity; Addison Wesley
2. Sanjeev Arora and Boaz Barak; Computational Complexity: A Modern Approach; Cambridge University Press |

11 | CS5113 | Network Engineering | 3 | Introduction to the network engineering, Cabling, Wireless Networks, VLAN Management, IPv4/v6 Addressing, Network Configuration at End Systems, Network Topology, Intra-AS Routing, Inter-AS Routing and Traffic Control, Multicast Routing and Video Streaming, Benchmarking and Monitoring, Security, Designing Enterprise Networks. | 1.Network Warrior, 2nd Edition by Gary A. Donahue, ISBN-13:978-1-4493-8786-0, O’Reilly Media, 2011.
2. Computer Networking: A Top-Down Approach, 6/E by James F. Kurose and Keith W. Ross, ISBN-13: 9780132856201, Pearson Education, 2012. |

12 | CS5120 | Probability in Computing | 3 | Basic probability, random variables, expectation, concentration inequalities, with algorithmic applications, Markov chains, random walks, applications to sampling and approximate counting. | 1. Michael Mitzenmacher and Eli Upfal; Probability and computing; Cambridge University Press 2. Rajeev Motwani and Prabhakar Raghavan; Randomized algorithms; Cambridge University Press |

13 | CS5130 | Cryptography | 3 | Basic cryptanalysis, perfect secrecy, number theory - Euclid's algorithm, Chinese remaindering, private key encryption (DES), linear cryptanalysis, public key cryptography, Diffie-Hellman protocol, RSA, secret sharing, hash functions, authentication, digital signatures, zero knowledge proofs. | 1. Douglas B. Stinson – Cryptography – Theory and Practice 2nd or 3rd Edition; CRC Press
2. A course in number theory and cryptography – Neal Koblitz; Springer 3. Applied Cryptography – Bruce Schneier, 2nd Edition; Wiley & Sons |

14 | CS5160 | Topics in Computing | 3 | This course will be primarily based on advanced/special topics in various areas of computing. The objective is to discuss in depth some of the main results/directions. | |

15 | CS5170 | Predictive Analytics and Knowledge Discovery | Classification: Basic Classification learning algorithms, Decision Trees, Boosting algorithm, Support Vector Machines
Clustering: k-means algorithm and some applications, Hierarchical clustering Model building: Discrete Graphical Model, Naive Bayes Classification Regression: Linear Regression, Logistic Regression Dimensionality Reduction: Principle Components Analysis, singular value decomposition, Factor analysis | ||

16 | CS5190 | Soft Computing | 3 | Competitive learning models: Principle Component Analysis (PCA); Self-organizing maps (SOM); Information theoretic methods: Entropy, mutual information, K-L divergences; Independent component analysis (ICA), Maximum entropy method; Pulsed neural networks: Spiking neuron model, Integrate-and-fire neurons; Fuzzy Logic and Fuzzy systems, Fuzzy neural networks, Fuzzy K-means algorithm; Genetic Algorithms: Evolutionary computation, Genetic operators | 1. S. Haykin, Neural Networks: A Comprehensive Foundation, Pearson Education, 1999.
2. B. Yegnanarayana, Artificial Neural Networks, PHI, 1999. 3. J.-S.R. Jang, C.-T. Sun, and E. Mizutani, Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and machine Intelligence, Pearson Education, 199 |

17 | CS5200 | Approximation Algorithms | 3 | NP-hardness and approximation, approximation ratios and schemes, greedy algorithms, set cover, linear programming and rounding, primal-dual method, FPTAS for knapsack problem, bin packing, Euclidean TSP, introduction to hardness of approximation. | 1. Approximation algorithms by V.V. Vazirani, Springer 2001. 2. Approximation Algorithms for NP-Hard Problems, Dorit Hochbaum, editor, Thomson (Brooks/Cole), 1997. |

18 | CS5230 | Visual Recognition | 3 | Introduction to Representation, Learning, Detection, Recognition of objects, activities and their interactions from images and videos; Human visual recognition system; Recognition methods: \\ Low-level modeling (e.g. features), Mid-level abstraction (e.g. segmentation), High-level reasoning (e.g. scene understanding); Detection/Segmentation methods; Context and scenes, Importance and saliency, Large-scale search and recognition, Egocentric vision systems, Human-in-the-loop interactive systems, 3D scene understanding. | Richard Szeliski. “Computer vision: algorithms and applications”. Springer. |

19 | CS5260 | Compiler Optimizations | The objective of this course is to learn basic and advanced compiler optimization techniques, either traditional or modern in their scope, or scalar-variable based or loop-optimization based in their application or machine independent or dependent in their variety.
The initial part of the course would be devoted to a collection of traditional and classic compiler analyses and optimizations that are primarily based on control flow and data flow analyses. This will be followed by studying more high-level optimizations that are based on the static single assignment intermediate representation as well as low-level optimizations like register allocation, instruction scheduling and software pipelining. The latter part of this course would be devoted to a model named polyhedral compilation where for-loops can be transformed to run efficiently on advanced architectures like multi-core or GPU using rational and integer linear programming techniques. Here, the focus would be on basics of the three phase process of dependence analysis, affine scheduling and code generation. | 1. Compilers: Principles, Techniques, and Tools ("Dragon book") by Alfred V. Aho (Author), Ravi Sethi (Author), Jeffrey D. Ullman 1986
2. Advanced Compiler Design and Implementation by Steven Muchnick, 1997 3. Handbook of Compiler Optimizations by Priti Shankar and Y.N. Srikant 4. Optimizing Compilers for Modern Architectures: A Dependence-based Approach by Randy Allen, Ken Kennedy, 2001 5. NPTEL course on Compiler Design by Prof. Y.N. Srikant from Indian Institute of Science, 2012-2014 http://nptel.ac.in/courses/106108052/ 6. Introductory Tutorials to Polyhedral Compilation by Alain Darte (2000), Martin Griebl (2001), Sanjay Rajopadhye (2002). | |

20 | CS5270 | Numerical Linear Algebra for Data Analysis | 3 | An in-depth understanding of many important linear algebra techniques and their applications in data mining, machine learning, pattern recognition, and information retrieval.
Sample Topics: Review of relevant properties of matrices as transformations; Orthogonal transformations; Matrix and Vector Norms · Singular Value Decomposition; Principal Component Analysis, Linear Discriminant Analysis · QR Decomposition; Least Squares Problem and Linear Regression; Reduced Least Squares Problem; Gaussian elimination and other related direct methods for linear systems, iterative methods for linear systems, numerical solution of linear least-squares problems · Eigenvalues, -vectors and eigenvalue problems in dimensionality reduction: the power method, the bisection method, and the QR method · From Gauss to LU factorization, Positive definite matrices and Cholesky factorization · Tensor decomposition; Spectral relaxation of K-Means clustering, and matrix approximations via clustering; Non-negative matrix factorization and Applications in Clustering and Recommender Systems · Linear Bandits and Matrix Completion Methods · Sparse linear algebra: Sparse matrices and sparse solutions | 1. Numerical Linear Algebra by Lloyd N. Trefethen and David Bau, III, SIAM, Philadelphia, ISBN 0-89871-361-7.
2. Applied Numerical Linear Algebra by J. Demmel, published by SIAM, 1997. 3. Matrix Methods in Data Mining and Pattern Recognition, by Lars Elden, SIAM, 2007. 4. Gene H. Golub and Charles F. Van Loan, Matrix Computations, The Johns Hopkins University Press, any edition |

21 | CS5280 | Concurrency Control in Transactional Systems | 3 | Computation Models: Page and Object Models; Correctness for page model: Serializability; Concurrency control algorithms for page model; Page model crash and recovery; Correctness notion for object model; Concurrency Control Algorithms for objects model; Object model crash and recovery; Concurrency control and recovery in distributed databases; Concurrency control paradigms in parallel programming; Resurgence of Transactions. | Gerhard Weikum and Gottfried Vossen, Transactional Information Systems: Theory, Algorithms and the Practice of Concurrency Control and Recovery, Morgan-Kaufmann Publishers, San Francisco, CA, 2002.
Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, MA, 1987. |

22 | CS5290 | Computer Vision | 3 | Students successfully completing this course will be able to apply a variety of computer techniques for the design of efficient algorithms for real-world applications, such as optical character recognition, face detection and recognition, motion estimation, human tracking, and gesture recognition. The topics covered include image filters, edge detection, feature extraction, object detection, object recognition, tracking, gesture recognition, image formation and camera models, and stereo vision. |
1. Computer Vision: Algorithms and Applications, by Richard Szeliski, Springer 2010 (Available electronically at http://szeliski.org/Book/) 2. OpenCV 2 Computer Vision Application Programming Cookbook, by Robert Laganière, Packt Publishing Ltd, 2011. 3. David A. Forsyth and Jean Ponce, "Computer Vision: A Modern Approach", first edition, Prentice Hall, 2002. |

23 | CS5300 | Parallel and Concurrent Programming | 3 | This course will provide an introduction to parallel and concurrent programming. It will focus both on correctness and efficiency of multi-threaded programs. \\ Introduction; Mutual Exclusion; Concurrent Objects; Foundations of Shared Memory; Consistency condition for concurrent objects: Sequential consistency, Linearizability; Consensus; Universality; Spin Locks; Multi-thread Linked Lists; Queues and Stacks; Counting; Hash Sets; Futures and Work-Stealing; Barriers; Transactional Memory; Parallel Graph and Marix Algorithms | Main text: The Art of Multiprocessor Programming. Maurice Herlihy, Nir Shavit Other references: Multithreaded, Parallel, and Distributed Programming. Gregory R. Andrews Introduction to Parallel Computing (2nd Edition). Ananth Grama , George Karypis, Vipin Kumar, Anshul Gupta An Introduction to Parallel Programming. Peter Pacheco |

24 | CS5310 | Advanced Operating Systems for Pervasive Computing | 1 | • Introduction to Advanced OS Systems & Architecture \\ • Linux Kernel Frameworks & Infrastructure \\ • File-System Interface & Implementation \\ • Linux I/O Systems | 1. Operating System Concepts, 9th Edition by ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, GREG GAGNE
2. Understanding the LINUX KERNEL THIRD EDITION by Daniel P. Bovet and Marco Cesati; O'Reilly Series 3. LINUX DEVICE DRIVERS THIRD EDITION by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman; O'Reilly Series |

25 | CS5311 | Pervasive Computing Lab | 2 | • Linux Kernel Frameworks & Infrastructure \\ • Multimedia Framework Architecture \\ • Network Framework \\ • Graphics and UI Frameworks \\ • Web Framework \\ • Application Development \\ • Introduction to IoT | 1. Operating System Concepts, 9th Edition by ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, GREG GAGNE
2. Understanding the LINUX KERNEL THIRD EDITION by Daniel P. Bovet and Marco Cesati; O'Reilly Series 3. LINUX DEVICE DRIVERS THIRD EDITION by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman; O'Reilly Series |

26 | CS5315 | Pervasive Computing | 1 | Introduction to Advanced OS Systems & Architecture
- Linux Kernel Frameworks & Infrastructure - File-System Interface & Implementation - Linux I/O Systems | 1. Operating System Concepts, 9th Edition by ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, GREG GAGNE
2. Understanding the LINUX KERNEL THIRD EDITION by Daniel P. Bovet and Marco Cesati; O'Reilly Series 3. LINUX DEVICE DRIVERS THIRD EDITION by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman; O'Reilly Series |

27 | CS5320 | Distributed Computing | 33 | Termination Detection Algorithms; Reasoning with Knowledge; Distributed Mutual Exclusion Algorithms; Deadlock Detection Algorithms; Global Predicate Detection; Distributed Shared Memory; Checkpointing and Rollback Recovery; Consensus and Agreement; Failure Detectors; Distributed file servers; Distributed programming environments: Communication primitives, selected case studies. (Note: Some topics may be added/deleted to suit specific offerings of the course) | 1. Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, Second Edition
2. A.D. Kshemkalyani, M. Singhal, Distributed Computing: Principles, Algorithms, and Systems, ISBN: 9780521189842, Cambridge University Press, March 2011. 3. Gerard Tel. Introduction to Distributed Algorithms 4. Nancy A. Lynch. Distributed Algorithms |

28 | CS5330 | Introduction to Statistical NLP | 2 | Probability Theory : Probability space, Random variables, probability distributions, joint and conditional distributions. Information Theory : Entropy, mutual information, divergences, Hypothesis testing. \\ N-gram and continuous space language models, distributed representations, probabilistic taggers and sequence labeling (HMM, maximum entropy models, conditional random fields), probabilistic parsing and structured prediction, probabilistic topic models, statistical machine translation. | 1. Sheldon M Ross, Introduction to Probability models, Academic Press; 11 edition, 2014
2. Manning and Schuetze, Foundations of Statistical Natural Language Processing, MIT Press, 1999 3. Jurafsky and Martin, Speech and Language Processing, Pearson; 2 edition 2008 |

29 | CS5343 | Computer and Network Security | 3 | It covers foundations of cryptography, system security, network security, Wi-Fi security, web security, mobile platform security with hands-on assignments and projects. | Cryptography and Network Security”, William Stallings, Pearson, 7th Edition, 2016, William Stallings. Network Security Essentials: Applications and Standards," William Stallings, Prentice Hall, Fifth Edition, 2013. Applied Cryptography: Protocols, Algorithms and Source Code in C, John Wiley and Sons, Bruce Schneier. Handbook of Applied Cryptography, CRC Press, Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone. |

30 | CS5350 | Bayesian Data Analysis | 2 | Course Outline: Bayesian data analysis fits a probability distribution over the data and summarize the results by a probability distribution on the parameters of the model and on unobserved quantities. Bayesian models allow the incorporation of prior information and domain knowledge which helps to better model the data and observations. This is especially useful for applications such as healthcare and computational biology with limited data availability. \\ The course will cover various topics on bayesian data analysis such as single and multi-parameter models, regression models, hierarchical models, generalized linear models, spatio-temporal models, bayesian decision theory, Model selection, Bayesian inference algorithms based on Monte Carlo methods, variational inference, quadrature and expectation propagation, Bayesian non-parametric approaches such as Gaussian processes and Dirichlet processes, Point processes, Bayesian optimization and Bayesian deep learning. | 1. Bayesian Data analysis (3rd edition) by Gelman,Carlin, Stern, Dunson, Vehtari, Rubin
2. Bayesian methods for data analysis (3rd edition) by Carlin and Louis 3. Gaussian Processes for Machine learning by Rasmussen and Williams 4. Selected research papers on various topics. |

31 | CS5360 | Advanced Computer Architecture | 2 | This course will cover several state-of-the-art and emerging topics in computer architecture, including multicore processor architecture, GPUs, CPU-GPU heterogeneous system, multi-core cache/memory architectures and resource management techniques, emerging memory technologies, processor power management techniques. The students are also expected to review and critique one recent research paper during the course. | 1. Computer Organization and Design: The Hardware/Software Interface, Fourth Edition by Patterson and Hennessy, Morgan Kaufmann/Elsevier. 2. Recent research papers appearing in top conferences e.g., ISCA, MICRO, HPCA and ASPLOS for reviewing and critiquing. |

32 | CS5370 | Deep Learning for Vision | 3 | The field of computer vision has grown over the years from lab research to consumer applications including face processing, image retrieval and gesture recognition. Deep learning, a sub-branch of machine learning, has been primarily responsible for the successes over the last few years. This course will introduce students to basics and history of deep neural networks; the key contributions over the decades that have impacted this field; the various kinds of architectures such as Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs), Restricted Boltzmann Machines, etc; the recent developments in the field including newer architectures (recurrent attentive networks, bilinear CNNs, etc.); and applications in computer vision. | Szeliski. Computer Vision: Algorithms and Applications. http://szeliski.org/Book/ Forsyth and Ponce. Computer Vision: A Modern Approach. http://luthuli.cs.uiuc.edu/~daf/CV2E-site/cv2eindex.html Deep Learning book: deeplearningbook.org |

33 | CS5380 | Introduction to Wireless Networks | 1 | Fundamentals of Wireless Communication, Wired vs Wireless Networks, Overview of Wireless LANs, Cellular Systems, Mobile Ad hoc Networks, Wireless Mesh Networks, Bluetooth, Zigbee, etc. |
1. Mobile Communications by Jochen Schiller, 2nd edition, 2003, Addison-Wesley 2. Ad hoc Wireless Networks: Architectures and Protocols by C. Siva Ram Murthy and B. S. Manoj, Prentice Hall, 2004. |

34 | CS5390 | Algorithmic Techniques for Massive Data | 3 | The area of massive data/big data deals with computational problems where the problem instance is so huge that the entire data cannot fit in the main memory. Moreover, even an O(n) time algorithm can be futile because of the large values of n. In this course, we will see algorithmic models/paradigms to deal with such situations. We will see theoretical results on these models. This will include mathematical proofs for both what is possible and what is not possible.
Some of the models that will be discussed: 1. Streaming and Sketching Algorithms 2. Dimensionality reduction 3. Property Testing | 1. "Foundations of Data Science," Blum, Hopcroft and Kannan. Textbook draft available at http://www.cs.cornell.edu/jeh/book2016June9.pdf 2. Lecture notes on "Algorithms on Big Data", by Grigory Yaroslavtsev available at http://grigory.us/big-data-class.html 3. Lecture notes on "Foundations of Data Science", by Grigory Yaroslavtsev available at http://grigory.us/data-science-class.html 4. Lecture notes on "Algorithms for Data Science", by Barna Saha, available at https://barnasaha.net/barna/compsci590d/ 5. Lecture notes on "Sub-linear Algorithms", by Piotr Indyk and Ronitt Rubinfeld, available at http://stellar.mit.edu/S/course/6/sp13/6.893/index.html |

35 | CS5400 | Probabilistic Model Checking | 3 | Requisite Fundamentals of Model Checking, Measure Theory and Statistics; Discrete and Continuous time Markov chains, Probabilistic Temporal Logics, Markov Decision Processes, Model Checking Algorithms and Tools, Statistical Model Checking. | "Principles of Model Checking" by Christel Baier and Joost-Pieter Katoen (MIT Press) |

36 | CS5420 | Big Data Indexing Strategies | 2 | With the current growth and accumulation of Big Data, existing methods
do not scale well and fall short of delivering search and analysis results in an efficient manner. In order to combat this problem, several indexing strategies have been proposed. This course aims at providing an overview of various indexing strategies so that data scientists can choose the strategy best suited to their problem, and this also serve as a base for the design of novel and efficient indexing methods. Some of the methods discussed will involve: B-trees, R-trees, X-trees, Hashes (e.g. LSH), GNAT, Space-Filling Curves, and many other custom indexing methods. | Research papers that will be announced by the lecturer and referenced on the slides. |

37 | CS5430 | Exact Exponential Algorithms | 2 | Branching algorithms, measure-and-conquer, memorization, inclusion-exclusion-algorithms. | Branching Algorithms: Survey article by Dieter Kratsch
Exact algorithms for NP-hard problems: A survey by Gerhard Woeginger |

38 | CS5440 | Parameterized Algorithms | 3 | Branching, iterative compression, color coding, treewidth, kernelization, balanced separators, optional topics: parameterized complexity classes, hardness, bidimensionality, Courcelle’s theorem. | Parameterized Algorithms by Mark Cygan et al
An Overview of Techniques for Designing Parameterized Algorithms: Survey Article by Christian Sloper and Jan Arne Telle Parameterized Complexity Theory by Flum and Grohe |

39 | CS5453 | Internet of Things | 3 | Introduction to IoT, IoT Applications, Communication and Networking Technologies for IoT - IEEE ZigBee, Bluetooth Low Energy, M2M Communication, Narrow Band IoT, Z-wave, Light Weight TCP, MQTT, IoT Security.
Lab Component: Designing product and services for IoT - Building an end-to-end IoT Solution (Project), Technologies to be used - Sensing and data collection using Raspberry Pi / Ordino, Cloud Platform for IoT, Using Data Analytics Tools. | “Designing the Internet of Things”, by Adrian McEwen, Hakim Cassimally, Wiley Publications.
The Internet of Things: Key Applications and Protocols, 2nd Edition, Olivier Hersent, David Boswarthick, Omar Elloumi, Wiley Publication. |

40 | CS5460 | Essential Mathematics for Data Analytics | 2 | Matrices, Vectors and Properties; Vector Spaces, Norms, Basis, Orthogonality; Matrix Decompositions: Eigen decomposition, Singular Value Decomposition; Differential Calculus: Derivatives and its significance, Partial derivatives; Optimization of single variable and multiple variable functions: Necessary and sufficient conditions; Real problems as optimization problems: Formulation and analytical solutions; Finding roots of an equation: Newton Raphson Method; Optimization via gradient methods; Probability basics, density function, counting, expectation, variance, independence, conditional probability, Poisson process, recurrences, Markov chains. | Linear Algebra and Its Applications by Gilbert Strang
Introduction to Probability Models by Sheldon Ross An Introduction to Optimization by Chang and Zok |

41 | CS5470 | Theory of Learning and Kernel Methods | 3 | Statistical consistency, example of SVMs.
Towards Bayes consistency with Kernels Model Selection Advanced topics like operator-valued kernels, kernel embedding | 1. M. Mohri, A. Rostamizadeh, and A. Talwalkar. Foundations of Machine Learning. MIT Press, 1 edition, 2012.
2. Olivier Bousquet, Stephane Boucheron, and Gabor Lugosi. Introduction to Statistical Learning Theory. Advanced Lectures on Machine Learning Lecture Notes in Artiﬁcial Intelligence, 3176:169–207, 2004. 3. Relevant papers on Kernel methods |

42 | CS5480 | Deep Learning | 3 | The field of computer vision has grown over the years from lab research to consumer applications including face processing, image retrieval and gesture recognition. Deep learning, a sub-branch of machine learning, has been primarily responsible for the successes over the last few years. This course will introduce students to basics and history of deep neural networks; the key contributions over the decades that have impacted this field; the various kinds of architectures such as Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs), Restricted Boltzmann Machines, etc; the recent developments in the field including newer architectures (recurrent attentive networks, bilinear CNNs, etc.); and applications in computer vision. | Deep Learning book: deeplearningbook.org
Szeliski. Computer Vision: Algorithms and Applications. http://szeliski.org/Book/ Forsyth and Ponce. Computer Vision: A Modern Approach. http://luthuli.cs.uiuc.edu/~daf/CV2E-site/cv2eindex.html |

43 | CS5500 | Reinforcement Learning | 3 | Reinforcement Learning (RL) is a branch of machine learning that concerns the development of autonomous
software agents capable of taking decisions or actions in a complex environment. The decisions are taken so as to maximize a certain notion of cumulative reward. Alongside, supervised and unsupervised learning, RL is an important paradigm of machine learning. Further, the concepts of RL has wide applicability to other subjects such as game theory, control theory, multi-agent dynamics and operations research to name a few. The course will expose the audience to the fundamentals of RL including Markov decision process (MDP) and dynamic programming. After covering some ground in basic notions of RL, the audience will be introduced to several topics from Deep Reinforcement Learning (Deep RL). This would include several algorithms that uses deep neural nets to make decisions in complex environments. The following are the topics that are intended to be covered during the course: (1) Introduction and motivation to reinforcement learning; Markov decision process; (2) Dynamic programming and Bellman optimality principle; (3) Model based techniques : Value and policy iteration; (4) Model free approaches : Q-learning and SARSA; (5) Function approximation; Introduction to Deep RL, Deep Q Networks (DQN); (6) Policy gradient techniques; (7) Actor-critic Methods (Asynchronous (A3C) and synchronous (A2C) methods); (8) Deterministic policy gradients; (9) Natural policy gradient based algorithms. | Andrew Barto and Richard Sutton, Reinforcement Learning : An
Introduction, MIT Press, 1998. ● Csaba Szepesvari, Algorithms for Reinforcement Learning, Morgan and Claypool, 2010 ● Dimitri Bertsekas, Reinforcement Learning and Optimal Control, Athena Scientic, 2019 ● Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves and Ioannis Antonoglou, Playing Atari with Deep Reinforcement Learning, DeepMind Technologies, 2015 ● John Schulman, Optimizing Expectations: From Deep Reinforcement Learning to Stochastic Computation Graphs, PhD Thesis, 2016 |

44 | CS5510 | Probabilistic Graphical Models | 3 | 1. Review of Probabilistic Modeling for Learning 2. Representation: Directed and Undirected Models; CRFs 3. Inference: Variable Elimination, Message Passing 4. Parameter Estimation: MLE, conditional MLE | 1. D. Koller and N. Friedman (2009). Probabilistic Graphical Models: Principles and Techniques. edited by MIT Press. 2. Kevin P Murphy (2012). Machine learning: a probabilistic perspective. edited by MIT Press. |

45 | CS5530 | Basics of BlockChains: Distributed Computing Perspective | 1 | Introduction to Distributed Systems; Fault-Tolerance & Paxos; Consensus & Byzantine Agreement; Authenticated Agreement; Eventual Consistency & Bitcoin; Efficiency of Blockchains; Mining in Bitcoin Network | The Science of the Blockchain. Roger Wattenhofer Distributed Systems: An Algorithmic Approach, Second Edition by Sukumar Ghosh, |

46 | CS5543 | The Blockchain: Theory and Practice | 1 | This course explains the underlying mechanism of blockchain and provides the necessary knowledge needed for starting blockchain programming. Although blockchain is a relatively new technology created to realize cryptocurrency, it has a lot of potentials to transform existing security models based on P2P, and various applications are going to emerge out of this.
This course first introduces the outline of blockchain with the background of the cryptocurrency being born. After that, it delves into Bitcoin that was the first cryptocurrency to use blockchain. Students will understand its basic cryptographic knowledge, detailed data structure and remittance transactions using digital signatures. Besides, we will also explore essential topics such as blockchain security and incentive design to maintain the P2P network. In the hands-on assignment, students create programs to send transactions on Bitcoin blockchain and deepen their fundamental understanding through actual cryptocurrency remittances in testnet. The blockchain is still in the developing stage, and various improvements are being researched and proposed. For this reason, it is also the target to learn the latest topics while organizing the possibilities and challenges of the blockchain. After completing this course, students can gain essential skills in programming blockchains and necessary knowledge to tackle more advanced topics. | Mastering Bitcoin, 2nd Edition by Andreas M. Antonopoulos, ISBN-13: 978-1491954386, O'Reilly Media, 2017. |

47 | CS5553 | Wireless Networks and Security | 3 | Fundamentals of Wireless Communication, Wired vs Wireless Networks, Architecture and protocol operation of Wireless networks such as WLANs and cellular (4G/5G). Different attacks and countermeasures on wireless networks (Wi-Fi and Cellular): Wi-Fi security techniques (IEEE 802.11i, WEP/WPA2/WPA3), AAA, 802.1X, Cellular security techniques. Hands-on/Lab Assignments using Kali Linux and open source tools like Wireshark, OAI/NS-3, Aircrack-ng, Kismet, etc. | 1. 4G LTE/LTE-Advanced for Mobile Broadband by Erik Dahlman, Stefan parkvall, Johan Skold, Academic Press, 2011. 2. 3GPP specs on 4G/5G 3. IEEE 802.11 std specs 4. Kali Linux, OpenAirInterface (OAI), NS-3, Wireshark tools |

48 | CS5560 | Probabilistic Models for Machine Learning | 3 | Maximum likelihood estimation (MLE) in Binomial, Multinomial, Gaussian, models in exponential family
MAP, Bayesian estimation in Beta-Binomial, Dirichlet-Multinomial, NormalInverseGamma-Gaussian, conjugate prior based models in exponential family Learning with Supervised Models: Generative and discriminant models, Linear Regression, Logistic Regression, Gaussian Discriminant Analysis, Generalized linear models Expectation Maximization (EM) based learning in Mixture models, Hidden Markov Model, Dirichlet processes (Clustering) Introduction to directed (Bayes nets) and un-directed (Markov Random Fields) graphical models | Texts:
Machine Learning A Probabilistic Perspective By Kevin P. Murphy. MIT Press. References: Bayesian Reasoning and Machine Learning by David Barber |

49 | CS5570 | Algebra for Computer Science | 3 | Integer arithmetic : division algorithm, GCD, Euclidean algorithm, fundamental theorem of arithmetic, relations, equivalence classes, complexity of arithmetic, modular arithmetic, Chinese Remainder Theorem (CRT), application - RSA algorithm
Groups : basic properties of groups, cyclic groups, permutation groups, symmetry groups, isomorphisms, cosets, quotients, normal subgroups, application - Diffie-Hellman key exchange protocol Polynomial Rings : basic properties of rings, ideals, polynomial rings, polynomial factorization, polynomial GCD, CRT for polynomials, polynomial interpolation , Hilbert basis theorem, applications - fast multiplication, secret sharing, decoding of error-correcting codes (BCH code) Vector Spaces and Lattices : basics of fields and vector spaces, short vectors in lattices, Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm, application - overview of lattice-based cryptography | Textbooks:
Contemporary Abstract Algebra by Joseph A. Gallian Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra by by David A. Cox, John Little, Don O'Shea References : Modern Computer Algebra by Joachim von zur Gathen, Juergen Gerhard An Introduction to Mathematical Cryptography by Jeffrey Hoffstein, Jill Pipher, J.H. Silverman |

50 | CS5580 | Convex Optimization | 3 | Convex Analysis: Convex Sets, Convex Functions, Calculus of convex functions, Dual characterizations of convex sets, convex functions. Optimality of Convex Programs: 1st order nec. and suff. conditions, KKT conditions Duality: Lagrange, Conic and Fenchel duality Standard Convex Programs and Applications: Linear and Quadratic Programs, Conic Programs: QCQPs, SOCPs, SDPs | [1] R. T. Rockafellar. Convex Analysis. Princeton University Press, 1996. [2] S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge University Press, 2004. [3] D. P. Bertsekas. Convex Analysis and Optimization. Athena Scientic, 2003. [4] A. Nemirovski. Lectures On Modern Convex Optimization. Available freely at www2.isye.gatech.edu/~nemirovs/Lect_ModConvOpt.pdf, 2005. |

51 | CS5590 | Foundations of Machine Learning | 3 | 1. Generative, Discriminative, Loss composed Linear Models and parameter estimation 2. Exponential models, Kernel methods 3. Model selection 4. Parametric and Non-parametric models 5. Supervised and Unsupervised Learning 6. Representation Learning 7. Batch and Online Learning 8. Boosting, Bagging, trees 9. Learning with Sequential Data | |

52 | CS5600 | Data Mining | 3 | Recommendation systems, information extraction, frequent pattern mining, finding similar items using LSH, stream mining, social network analysis, opinion mining, large scale file systems and map-reduce programming, mining time series, mining discrete sequences, basic and advanced clustering techniques, anomaly detection, mining web data. | Bing Liu, Web Data Mining, Springer 2nd edition 2011 Jiawei Han, Data Mining: Concepts and Techniques, 3rd edition 2011 Jure Leskovec, Anand Rajaraman, and Jeff Ullman, Mining of Massive Datasets, 2nd edition 2014 Charu Aggarwal, Data Mining: The Textbook, Springer 2015 edition |

53 | CS5610 | Computational Number Theory and Algebra | 3 | Finite fields, quadratic residues, primality testing, polynomial factorization, applications in cryptography/coding theory. Optional topics: Integer factoring, lattices. | 1. A computational introduction to number theory and algebra by Victor Shoup 2. An introduction to cryptography and number theory by Neal Koblitz 3. Prime Numbers by Crandall and Pomerance |

54 | CS5620 | Probability Models | 1 | Parameter estimation - Maximum likelihood Estimation. Method of Moments
Sampling from probability distribution - Transfomation methods Hypothesis testing : p-values, students t-test, chi-square test Markov chains : Chapman−Kolmogorov Equations | Sheldon Ross, Introduction to Probability Models, 11th Edition
Larry Wasserman, All of Statistics, 2004 |

55 | CS5630 | Computational Topology: Theory and Applications to Data Analysis | 2 | Topology aims at studying intrinsic structures of a given object or space. It
is a powerful tool for identifying, describing, and characterizing essential features of functions and spaces. Indeed, in recent years topological methods have been availed as new promising tools for analyzing complex and diverse data. Fundamental progress has been made in both the theoretical and algorithmic development in computational topology. The resulting methods have been successfully applied in a broad range of fields, including in machine learning, graphics and visualization, computational neuroscience, material science and computational biology. This course aims to provide an introduction to basic concepts and topological structures behind these recent developments in computational topology, as well as algorithms to compute them. 1. Basics in Topology 2. Complexes 3. Simplicial Homology 4. Persistent homology 5. Homology inference from Data 6. Data Sparsification 7. Analysis of functions on Data | Computational Topology: An Introduction, by H. Edelsbrunner and J. Harer, AMS Press,
2009. |

56 | CS5643 | Software Defined Networking | 1 | This course provides tools and procedures for setting up an emulated communication network based on Software Defined Networking concepts. All the utilized tools (i.e.,network emulators, network controller and Integrated Development Environment) are based on open-source and/or free initiatives. At the end of the course, students will be capable develop basic network applications within SDN controller. The course consists of lectures and hands-on laboratories. | D. Kreutz, F. M. V. Ramos ,P. E. Veríssimo, C. E. Rothenberg, S.Azodolmolky and S. Uhlig, "Software Defined Networking:A Comprehensive Survey," in Proceedings of the IEEE, vol.103, no. 1, pp. 14-76, Jan. 2015.
“Open Flow Switch Specification (version1.3 and 1.5)” available at https://www.opennetworking.org “Mininet” available at http://mininet.org/ “The ONOS SDN controller (Open Network Operating System)” https://wiki.onosproject.org |

57 | CS5650 | Data Center Networking | 1 | This course provides an overview of current data center network technologies and architectures, comprising high performance computing systems, and an outlook on future trends. | Gary Lee, “Cloud networking: developing cloud-based data center networks”, Morgan Kaufmann. |

58 | CS5660 | Convex Optimization 2: Algorithms | |||

59 | CS5670 | Basics of Machine Learning | 3 | Introduction to Machine Learning; Classification methods: k-NN, Naive Bayes classifier, Decision Trees, Support Vector Machines, Kernel Methods, Neural Networks, Ensemble Methods: Bagging, Boosting, Adaboost, Random Forests; Regression methods: Linear regression, Generalized Linear Models, Logistic Regression, Kernel Ridge regression, Support Vector Regression; Clustering methods: k-means, Gaussian Mixture Models, Expectation Maximization, Hierarchical clustering, Spectral clustering; Dimensionality reduction methods: Principal component analysis, Independent component analysis, Manifold learning, Discriminant analysis | Bishop, Christopher M. Pattern Recognition and Machine Learning. Springer, 2006. ISBN 978-0-387-31073-2 Alpaydin, Ethem Introduction to Machine Learning. MIT Press, 2014. ISBN 978-0-262-02818-9 |

60 | CS5700 | Text Processing and Retrieval | 3 | N-gram and continuous space language models, distributed representations, probabilistic taggers and sequence labeling, probabilistic parsing and structured prediction, probabilistic topic models, Indexing document collections, Query-document scoring using Vector space model, Language Model, Evaluation metrics for ranking, Document classification. | “Introduction to Information Retrieval" by Manning, Raghavan and Schütze.
"Modern Information Retrieval" by R. Baeza-Yates and B. Ribeiro-Neto Manning and Schutze, Foundations of Statistical Natural Language Processing, MIT Press, 1999 Jurafsky and Martin, Speech and Language Processing, Pearson; 2nd edition 2008 |

61 | CS5710 | Computational Topology, Theory and Applications | 3 | ||

62 | CS5720 | Circuit Complexity | 3 | circuit model and variants, Shannon's Theorem, relationship to other
models of computation, results from structural complexity : theorems of Karp-Lipton and Adelman, several lower bound techniques for formulas including random restrictions (Subbotovskaya's), Nechiporuk's, Andreev's. The course will then cover lower bound techniques for circuits including the classic method of approximation by Razborov, Hastad's switching lemma etc., negation complexity, markov and firscher's theorems. This is followed by arithmetic circuits, and the partial derivative method, the basics of Fourier analysis of Boolean functions. | 1. Stasys Jukna "Boolean Function Complexity - Advances and Frontiers", Springer 2012, 1st Edition, ISBN 978-3-642-24507-7, pp. I-XV, 1-617
2. Ingo Wegener "The complexity of Boolean functions", Wiley-Teubner, 1st Edition, 1987 |

63 | CS5740 | Communication Complexity | 3 | Deterministic Communication Complexity, Nondeterministic Communication Complexity, Randomized communication complexity, Distributional communication complexity, Multiparty Communication Complexity. Application to formula size: Karchmer-Wigderson Game. Applications to VLSI design and time-space tradeoffs for Turing machines. Applications to streaming algorithms. | 1. Kushilevitz, Eyal & Nisan, Noam. "Communication Complexity". Cambridge University Press, 1st Edition, 1997. ISBN-10: 052102983X
2. Rao, Anup, & Yehudayoff, Amir. "Communication Complexity and Applications". Cambridge University Press, 1st Edition, 2020. ISBN-10: 1108497985 3. Lecture notes by Harsha, Mahajan, & Radhakrishnan (TIFR/IMSc), Fall 2011. Available at http://www.tcs.tifr.res.in/~prahladh/teaching/2011-12/comm/ |

64 | CS5803 | Natural Language Processing | 3 | Vector space model, Language modeling - N gram, smoothing, Language
modelling - Neural networks and word embeddings, Topic modeling, Sequence labeling, Parsing, Deep learning for NLP. Topics in Information Retrieval | Speech and Language Processing by Dan Jurafsky and James H. Martin. |

65 | CS5820 | Graphical Processing Unit: Hardware and Software | 2 | The GPU (Graphics Processing Unit) is fast evolving from being a hardware accelerator for 3D games, to a robust compute engine, consisting of programmable parallel cores, addressing a wide range of applications. Built for flexibility, scalability, power and performance, GPUs are now in every form factor, from IoTs to servers. In this course, we will take an in-depth look at the hardware components that make up a typical GPU, and how the components interact with each other to give the desired power and performance for different target segments. We will explore the geometry pipeline, the rasterization pipeline, study different types of shading, and find out ways of conserving memory bandwidth, minimizing latency and maximizing performance/watt. In the GPGPU space, we will cover the domain of compute shading and optimizations for deep learning and other AI applications.
Second Phase of this course will introduce the concepts of the SW flow right from the realm of the application till the HW. How a frame is constructed and presented in the HW will be a key part. It also touches the concepts of the various tools available to debug a code and how to debug the code apart from various frameworks available to develop any application. This course is intended for the student to acquire a detailed understanding of the hardware as well as SW flows within the GPU and the different techniques employed to fine tune the metrics of power, performance, user friendliness, programmability and scalability. | Programming Massively Parallel Processors: A Hands-on Approach, David B. Kirk, Wen-mei W. Hwu, Morgan Kaufmann, 3rd edition. |

66 | CS5833 | Edge AI | 2 | This course is focused on the latest advancement in the domain of enabling AI at the edge of the network. The course consists of lectures on the basic concepts followed by demonstration and some practical experiments on the following topics.
1. Deep Learning with Python & Tensorflow: Tensorflow Basics, TensorLite (Data Capturing, Cleaning, Labelling, Training NN), CNN, RNN etc. using TensorFlow 2. On-Device AI: Introduction to On-Device AI, Introduction to Edge Computing, Edge AI Concepts, Intelligent Devices, Intelligent Devices Capabilities, On Device AI 3. EdgeAI Platforms / Frameworks: Popular Edge AI Platforms / Frameworks, Azure IoT Edge, Azure ML on Edge, WinML, XNOR AI, ONNX.AI 4. Model Compression for Inferencing on the Edge: Techniques for Model Compression and Quantization 5. Advanced Edge AI: Bonsai and ProtoNN ML Techniques | 1. Practical Deep Learning for Cloud, Mobile, and Edge: Real-World AI & Computer-Vision Projects Using Python, Keras & TensorFlow by Anirudh Koul, Siddha Ganju, Meher Kasam.
2. Edge Intelligence: Paving the Last Mile of Artificial Intelligence With Edge Computing, https://ieeexplore.ieee.org/document/8736011 3. Edge Intelligence: The Convergence of Humans, Things, and AI, https://ieeexplore.ieee.org/document/8789967 4. Edge and Fog Computing Enabled AI for IoT-An Overview, https://ieeexplore.ieee.org/document/8771621 5. Heterogeneous Computing for Edge AI, https://ieeexplore.ieee.org/document/8741613 6. Edge computing architecture for applying AI to IoT, https://ieeexplore.ieee.org/document/8258272 7. Edge AI: On-Demand Accelerating Deep Neural Network Inference via Edge Computing, https://ieeexplore.ieee.org/document/8876870 8. A Hardware Acceleration Platform for AI-Based Inference at the Edge https://link.springer.com/article/10.1007/s00034-019-01226-7 |

67 | CS5840 | Design of Access, Metro and Core networks | 1 | The course explains the different network technologies adopted at different network segments and methodologies adopted in order to design the network.
1. Introduction to telecom networks and services: Introduction to communication networks. Link, nodes, network topologies, Network performance indexes, Standardization bodies 2. Bridging and IP networking: Bridges/switches, Spanning tree, the Internet Protocol, IP subnetting, IP supernetting and Classless Inter-Domain Routing 3. Access networks: Plain Old Telephone Service (POTS), Integrated Service Digital Network (ISDN), Digital Subscriber Loop (xDSL), Wireless access 4. Fiber based access networks: Active optical access networks; Passive optical access networks, WDM PON 5. Metro networks, MPLS, Segment routing: Intro to metro segment, Multiprotocol Label Switching, Segment Routing, resilience 6. Advanced metro networks: Metro Ethernet; Software defined networks (SDN); OpenFlow 7. Core networks: Optical network design; Light path Topology Design (LTD); Routing and Wavelength Assignment (RWA); Wavelength switched optical networks (WSON) | 1. A. Tanenbaum, “Computer Networks”, Prentice Hall, 1996 (4th or 5th edition)
2. M. Maier, “Optical Switching Networks,” Cambridge University Press |

68 | CS5850 | Basics of Simulation Modelling | 1 | The course provides basic concepts for simulating a communication network. At the end of the course, students will be capable of building their own event-driven simulator and understand how commercial or open source network simulators work. The course consists of lectures and hands-on laboratories.
1. Basic simulation modeling: The nature of simulation (systems and models), advantages, disadvantages, and pitfalls of simulation 2. Modeling complex systems: Steps in a simulation study, discrete-event simulation, distributed simulation, and other types of simulation 3. Event-driven simulation: Main components of an event driven simulator, event list, type of events, simulation statistics; a primer on queueing systems 4. Simulation software: Overview of some of the current network simulation software 5. Generating Random Variates: Review of basic probability and statistics, Linear congruential generators, other kinds of generators, testing random-number generators, general approaches to generating random variates, inverse transform, generating continuous random variates, generating discrete random variates 6. Confidence interval: confidence interval theory, t-Student distribution, how to compute the confidence interval? 7. Output data analysis: Types of simulations with respect to output analysis, statistical analysis, statistical analysis for steady-state parameters, time plots of important variables 8. Practice on Basic simulation modeling: Simulation of a Single-Server Queueing System, Generation and verification of continuous and random variates, confidence intervals, and Complex simulation modeling | 1. Averill M. Law, “Simulation Modeling and Analysis”, Mc Graw Hill Education, ISBN: 9780070667334 (Fourth version)
2. Selected articles |