| PG courses |
Secure Coding Pre-requisites: C/C++/JavaThis class takes a close look at software as a mechanism for attack, as a tool for protecting resources, and as a resource to be defended. Some topics to be included are secure coding rules and recommendations (Examples in C, C++ and Java will be included for each, if applicable), security in the software development life-cycle, secure development principles, tools for static & dynamic analysis, & hacking tools. |
CSE505 (IIDA) : 4 credits Information Integration and Data Analytics Pre-requisites: Fundamentals of Database SystemsThis course covers the important aspects of information integration and data analytics across structured and unstructured data to meet the requirements of real-world applications. Some of the topics that are included are schema discovery and mapping,
handling data uncertainty and reliability in integration, entity discovery over poor quality of data, different types of integration techniques like privacy-preserving, constraint based and streaming data, information mash-up and web 2.0, association rule mining,
clustering of data, spatial data management, business intelligence (e.g. competitor analysis and process improvements). One of the major components of this course will be a project on a real-world data management problem/application. Only one of CSE505 and CSE506 can be registered. |
Data Mining Pre-requisites: Database, Algorithms, Programming, Statistics, Exposure to SQLThe course covers some of the widely used data mining techniques, algorithms and
applications. The course starts by refreshing basic statistics and database fundamentals
pertaining to data mining. Each phase in the data mining process such as data exploration,
data preparation (data cleaning, transformation and standardization), model building,
evaluation and deployment is covered. Algorithms and applications of common data
mining tasks like association rule mining, classification and data clustering are covered.
Finally, the course provides an overview of business intelligence, the aim being to
provide a foundation for students interested in specializing in business intelligence. Only one of CSE505 and CSE506 can be registered. |
CSE507 (DBSI) : 4 credits Database System Implementation Pre-requisites: Data Structure, Algorithms, DatabasesThis course will cover database implementation techniques and will look at how different implementation approaches influence performance.
Topics will include data storage, caching and buffer management, query processing, concurrency control, logging and recovery, and integrity.
Students will have some projects in the course where they will implement/ modify some techniques in open source databases like Postgresql, Mysql and will study the impact of changes. |
Information Retrieval Pre-requisites: Advanced Programming, Data Structures, Algorithms, Database Management SystemsThis course will teach basic concepts, tools & techniques in the field of Information Retrieval (IR) & Search. It will cover theoretical foundations, implementation aspects, issues and state-of-the-art in the area of information retrieval, representation, organization, indexing and categorization. The course will cover topics such as retrieval models, inverted index construction, performance evaluation in information retrieval, search engine architecture, crawling, indexing, ranking, text categorization & clustering In the end, trends and research issues will be discussed. |
CSE509 (ADDM) : 4 credits Advanced Data Management Pre-requisites: DatabaseThis course will deliver comprehensive knowledge about advanced topics in data management. Some of the topics it will include are database indexing for multi-dimensional and spatial databases, handling complex database operations like nearest-neighbour queries, multi-way spatial joins and skyline queries and distributed data management for mobile, LAN (clusters) and WAN environments such as P2P and GRID, using data mining and data clustering to identify trends. |
Computer Architecture Pre-requisites: Digital circuits / Computer Organization at UG level, C/C++ is desirableThis course introduces quantitative and qualitative approach to understand and analyze various modules of modern computer systems. Students will learn how uniprocessors execute many instructions concurrently. Students will also learn how many processors synchronously execute instructions to improve performance of a computer system. Some of the topics include quantitative analysis of computer performance, benchmarking, pipeline, data control path, instruction level parallelism, dynamic instruction scheduling, cache memory, virtual memory, techniques to improve computer performance using cache optimization, shared memory multiprocessors, memory consistency, interconnection networks, topology, storage, GP-GPU architecture. |
CSE520 (ALGO) : 4 credits Advanced Algorithms (Graduate) Pre-requisites: Analysis and Design of AlgorithmsThe purpose of this course is to develop advanced techniques in the design and analysis of algorithms. It will focus on exploring both the breadth of theoretical tools necessary for computer science as well as the depth through analysis of the related data structures and algorithms. The students will be required to write a survey paper.
Topics covered in this course include string matching, linear programming, max-flow min-cut, numerical algorithms (including polynomial operations and FFT), amortized analysis and advanced data structures like Fibonacci heaps, splay trees, steiner trees, skip lists.
|
CSE521 (LOGIC) : 4 credits Logic for Computer Science Pre-requisites: Discrete structures, Theory of computationThis courses introduces formal logics and their applications in Computer Science. In detail studied are Propositional Logic and First Order Logic for which the concepts of syntax, semantics, satisfiability, validity, and logical deductions are clarified. Based on these, proof systems and their soundness and completeness are studied. Applications within Computer Science are illustrated. |
Verification of Reactive Systems Pre-requisites: Discrete Structures, Theory of ComputationThe course introduces abstract models for concurrent, reactive, non-terminating systems which are used for design and verification purposes. Various concepts of correctness in terms of equivalence notions or compliance with properties expressed in formal logic are considered. Algorithm for verifying these are introduced and analysed with respect to their complexity. During the second part of the course the students will use software tools to verify simple systems. |
Randomised Algorithms Pre-requisites: Algorithms, Discrete Mathematics, Exposure to ProbabilityThis course studies algorithms which, by design, may not be correct 100% of the time, or run within the stipulated resource always, but definitely do so in an overwhelmingly large number of cases. The course will be split into three main logical sections - tools from probability theory, algorithms which are probabilistic and analysis of deterministic algorithms for different input distributions. Some of the topics include Markov chain, random walk, Monte Carlo sampling, Minimax theorem, Randomised algorithms, Probabilistic analysis of Quicksort and Hashing. |
Theory of Modern Cryptography Pre-requisites: Exposure to Probability, Discrete MathsThis course introduces students to the theoretical foundations of modern cryptography. We will study multiple notions of security under various models with a focus on provable guarantees of security. We will show how to use primitives having weak security properties to construct schemes satisfying very strong notions of security. The emphasis of the course will be on general principles related to encryption (symmetric & public key), digital signature, message authentication and key distribution but, for concreteness, we shall also look at a number of examples and applications. The focus will be analysis of provable properties, using theoretical tools like one-way functions, collision-resistant hashing, pseudorandomness, number-theoretic results. Other advanced topics that could be covered are commitment schemes, zero-knowledge proofs, random oracles, secret sharing, advanced notions of security, and multi-party cryptographic protocols. |
CSE530 (DIST) : 4 credits Distributed Systems Security (Graduate) Pre-requisites: Operating Systems, NetworkingThe aims of this course are to study the fundamental characteristics of distributed systems, including their models and architectures; the implications for software design; some of the techniques that have been used to build them; and the resulting details of good distributed algorithms and applications. |
CSE535 (MOBILE) : 4 credits Mobile Computing Pre-requisites: Operating Systems, Computer Networks, and Java ProgrammingA mobile phone is constrained in terms of CPU, memory, communication
bandwidth, and energy as compared to PC. Therefore, phones require
different operating systems and programming languages. Given the
plethora of web-based services, a phone can augment its capabilities
by downloading some of its tasks to those services. In order to use
those services, there is a need of a middleware to call APIs of the
services and get back the results. There are different communication
technologies for different bandwidth, range, and energy requirements.
A user of the mobile phone can select among these depending upon the
requirements. Similarly, depending upon accuracy and energy
requirements there are different localization technologies. As system
on a phone is getting complex and its usage is increasing, there are
security attacks on a phone. In the mobile computing course, we will
cover both theory and practice required to develop secure mobile
phone-based services. |
CSE537 (EMBED) : 4 credits Embedded Systems Pre-requisites: Computer Organization, Analysis and Design of Algorithms, Digital Communication, Programming on embedded platformsStarting with motivation from several real world embedded hardware and software platforms being used across diverse application domains including sensor networks, robotics and mobile computing, we will develop deeper understanding of associated issues for embedded systems such as scheduling, real time communication, power aware designs and constrained memory and computation resources. The course will be primarily project based in which some hardware platforms will be made available for doing embedded programming. You will also have the option to take up a hardware project and design your own embedded platform. |
Ad Hoc Wireless Networks Pre-requisites: Computer Networks, Probability and StatisticsThe course will start with a brief introduction to different applications and their requirements in terms
of typical metrics of interest like throughput and delay. Having motivated applications, we will briefly
learn about the wireless channel and physical layer (OSI layer 1) technologies, with emphasis on their
abstractions that are relevant to understanding OSI layers 2 and above in wireless networks. We will next
learn medium access techniques that a distributed network of nodes (for example, a network of vehicles
or sensors in a field) can use to share the wireless medium. Examples of techniques that we will cover
include ALOHA, carrier sense multiple access (CSMA) and polling. We will also study CSMA as found in
WiFi networks (802.11) and learn about the hidden node and exposed node problems and their solutions.
Our journey through various layer 2 techniques will be followed by an introduction to routing techniques
that are used in ad hoc networks, for example on-demand and geographic routing. Time permitting, we
will also look at the behavior of transport layer protocols like TCP over wireless networks and introduce
ourselves to newer paradigms like delay tolerant networking. The coursework will include at least one hands on project that students will do as part of a group. It
may also require students (single or group) to make short presentations on topics related to the course. |
Cellular Data Networks Pre-requisites: Computer Networks, Probability and StatisticsThis course will introduce senior level undergraduates and graduate students to fundamentals of 3G and 4G cellular data networks. We will explore mechanisms like scheduling, paging, handovers, and mobile IP that are used by most cellular networks. Algorithms for commonly deployed 3G/4G middle boxes will also be discussed. These middle boxes include deep packet inspection systems, TCP optimizers, session border controllers and intrusion detection systems. The course will also introduce the next generation IMS based voice over IP architecture. Students will be required to complete one hands-on group project on a topic relevant to the course. |
Image Analysis (Graduate) Pre-requisites: Strong Programming and Linear AlgebraThe course will introduce graduate students to the domain of image processing. The subject will focus on fundamental and advanced techniques of image processing such as image interpolation, enhancement, restoration, detection, compression, wavelets, image inpainting, and active contours. Through seminars, critiques and projects, this course will also train graduate students to critically review new techniques and possibly suggest advancements too. The project will involve application of both basic techniques and advanced ideas to real world problems such as biometric authentication, medical image processing and remote sensing. |
CSE541 (ADBIO) : 4 credits Advanced Biometrics (Graduate) Pre-requisites: Programming, Basic knowledge of probability, statistics and linear algebraThis course will introduce the graduate students to biometrics. It will involve studying algorithms for image quality, feature extraction and matching. To understand the concepts involved, topics from machine learning, image processing and pattern recognition will also be presented. The projects will enable them to design, implement, and analyze biometric systems. |
Pattern Recognition (Graduate) Pre-requisites: Programming, basic knowledge of probability, statistics and linear algebraThis course will introduce senior undergraduate and graduate students to important topics in pattern recognition. Fundamentals and advanced theoretical and mathematical concepts related to classification techniques and learning paradigms will be discussed. The programming assignments will provide hands-on experience of implementing some of these techniques. The project component of this course will test the student's ability to design, apply, and evaluate classifiers on appropriate datasets. The application domain for the projects will be from diverse areas such as object recognition, handwritten character recognition, and emotion recognition. |
Machine Learning (Graduate) Pre-requisites: Programming, Probability and Statistics, Linear AlgebraThe course will introduce graduate students to concepts in machine learning. This course is designed to cover the theory and practice of machine learning from a variety of perspectives. The assignments, critiques and projects will include applications ranging from game theory to pattern classification. Critiques will be focused towards reading classic machine learning papers and then critiquing them. Seminars will be used to evaluate and improve their ability to understand and present a technical paper. The project component of this course will test the student's ability to design and evaluate classifiers on appropriate datasets. |
Computer Vision Pre-requisites: Image Analysis, Pattern Recognition, Machine Learning This is the PG version of CSE344. There are three main objectives of this course: (i) to introduce the fundamental main concepts/techniques of computer vision, (ii) to enable the students to understand related literature, and (iii) to enable the students to implement solutions for realistically compound applications. Topics include image analysis concepts, including wavelets, image transformations (e.g., warping, morphing, and mosaics), object segmentation, visual recognition/ description methods, structure from motion, video analysis, depth from stereo, medical imaging, and computational photography. |
Computer Vision Pre-requisites: Image Analysis, Pattern Recognition, Machine Learning There are three main objectives of this course: (i) to introduce the fundamental main concepts/techniques of computer vision, (ii) to enable the students to understand related literature, and (iii) to enable the students to implement solutions for realistically compound applications. Topics include image analysis concepts, including wavelets, image transformations (e.g., warping, morphing, and mosaics), object segmentation, visual recognition/ description methods, structure from motion, video analysis, depth from stereo, medical imaging, and computational photography. |
CSE545 (SECURITY) : 4 credits Foundations of Computer Security (Graduate) Pre-requisites: Computer Networks, Operating SystemsThis course provides a principled introduction to techniques for defending against hostile adversaries in modern computer systems and computer networks. Topics covered in the course include operating system security; network security, including cryptography and cryptographic protocols, firewalls, and network denial-of-service attacks and defenses; user authentication technologies; security for network servers; web security; and security for mobile code technologies, such as Java and JavaScript. More advanced topics will additionally be covered as time permits, such as: intrusion detection; techniques to provide privacy in Internet applications; and protecting digital content (music, video, software) from unintended use. |
Applied Cryptography Pre-requisites: Discrete Mathematics and C ProgrammingA wide array of communication and data protections employ cryptographic mechanisms. This course explores modern cryptographic (code making) and cryptanalytic (code breaking) techniques in detail. This course emphasizes how cryptographic mechanisms can be effectively used within larger security systems, and the dramatic ways in which cryptographic mechanisms can fall vulnerable to cryptanalysis in deployed systems. Topics covered include cryptographic primitives such as symmetric encryption, public key encryption, digital signatures, and message authentication codes; cryptographic protocols, such as key exchange, remote user authentication, and interactive proofs; cryptanalysis of cryptographic primitives and protocols, such as by side-channel attacks, differential cryptanalysis, or replay attacks; and cryptanalytic techniques on deployed systems, such as memory remanence, timing attacks, and differential power analysis. |
Building Secure Applications Pre-requisites: Strong Programming Skills and Software EngineeringPoor software design and engineering are the root causes of most security vulnerabilities in deployed systems today. Moreover, with code mobility now commonplace - particularly in the context of web technologies and digital rights management - system designers are increasingly faced with protecting hosts from foreign software and protecting software from foreign hosts running it. This class takes a close look at software as a mechanism for attack, as a tool for protecting resources, and as a resource to be defended. Topics covered include the software design process; choices of programming languages, operating systems, databases and distributed object platforms for building secure systems; common software vulnerabilities, such as buffer overflows and race conditions; auditing software; proving properties of software; software and data watermarking; code obfuscation; tamper resistant software; and the benefits of open and closed source development. |
CSE548 (HAIS) : 4 credits Human Aspects of Information Security Pre-requisites: Foundations of Computer SecurityWith the rise of the Internet as a major mode for economic transactions and communication, online trust, and cyber crimes have increasingly become an important area of study in computer science, public policy and business. Today, individuals often do not know whether to trust an online merchant with their personal information or whether the emails they receive come from legitimate entities. Because of the increasing sophistication and volume of cyber attacks, Internet users are making incorrect decisions that cause significant economic damage to themselves and enterprises. As a result, developing technologies that help users make better online trust decisions has become important. This course will motivate the necessity for more work in the area of usable privacy and security. Particularly, will also focus on how these usable privacy and security issues are relevant to a developing nation like India and how we can address these issues. |
Privacy Enhancing Technologies Pre-requisites: exposure to Computer NetworksSome of today's most damaging attacks on computer systems involve the exploitation of network infrastructure, either as the target of attack or as a vehicle to advance attacks on end systems. This course provides an in-depth study of privacy issues, mostly with respect to computer networks. Topics will include privacy definitions, models and metrics, cryptographic protocols (zero-knowledge protocols, anonymous ecash, private information retrieval, oblivious transfer, anonymous blacklisting), identity management (anonymous credentials, reputation systems, privacy policies), traffic analysis and communication privacy (client-server, p2p, adversary models, covert channels, long-term
disclosure, denial of service, bridging, fingerprinting, tagging,
replay, blending, sybil, side channels, network discovery, inferences,
Bayesian traffic analysis methods, etc.), location privacy (cloaking region, mix zones, vehicular networks, location based services), privacy in social networks, privacy in storage and databases, steganographic file systems, coercion resistance, data anonymization, k-anonymity, query privacy, inference control and statistical databases, differential privacy and interdisciplinary aspects of privacy (legal, policy, economics aspects). |
Introduction to Geospatial Data Management Pre-requisites: Data structures, Databases, Discrete mathematics, Introduction to programmingThis course will explore the structure, design, science, and applications of digital geospatial information and geospatial technologies. These include Geographic Information Systems (GIS), the Geoweb such as Google Earth, and Location Based Services (LBS). Students will learn how to store, retrieve, manipulate, analyze, and display large volumes of spatial data derived from various sources. Geospatial Database Management will also be explored as part of this option. This course will use the most popular GIS program, ArcGIS and will also make use of Google Earth and Google Maps.
This course has two goals. First, students will be introduced to common data structures, concepts and algorithms underlying all geospatial technologies. Second, students will acquire hands-on instruction on GIS software. |
Data Warehousing Pre-requisites: Database System Implementation, Exposure to Data MiningThis is an advanced course in Data Engineering. It covers the crucial aspects of data warehousing in terms of its modeling, querying, data quality issues arising in ETL processes, as well as efficiency related aspects. The course also aims to familiarize students with practical tools available in the data warehousing such as Oracle, Cognos/IBM etc. The course incorporates project work to design data warehouses using free structured and unstructured data-sources available on the Web. |
Financial Data Analytics Pre-requisites: Database Management System, Exposure to Data MiningThe objective of this course is to provide students with an opportunity to apply data mining techniques (association rules, clustering, visualization, classification) to analyze financial data for facilitating decision-making and for comparing investment options across a wide gamut of industry sectors. Students will be expected to do course projects for automating most parts of this decision-making process. Students will acquire adequate domain knowledge in finance to be able to interpret the financial data and to make inferences and judgment calls on real-world financial data. |
Digital and Cyber Forensics Pre-requisites: Host-Based Forensics provides a systematic introduction to the field of digital forensics. The course aims to familiarize students with the forensic process and to apply forensic principles with many tools of the trade. Upon completion of this course, a student should feel confident in participating in a digital forensic investigation. This course focuses on the forensic process (planning, acquisition, analysis, reporting) as it relates to host system forensics. This course will also concentrate on providing introduction to cyber crime and on the collection and analysis of evidence left on the cyber world. A student will feel comfortable with the full scope of a cyber forensic investigation. Class periods will consist of lecture and exercise. Students will learn about the data types that may have forensic value; and will be introduced to several techniques for capturing data off the network and how each option impacts the data that is available. Students will be further presented with several incident response challenges on live networks and be tasked with determining and proving what happened. They will have to collect various logs, network traffic, create timelines, and draw conclusions. |
Real World Security Pre-requisites: The course will expose students to real life aspects of security in industry. The students will able to understand, appreciate, criticize different security practices in industry. Some of the topics covered will be information security strategy and management including laws and frameworks (COBIT, ISO 27001), risk management and assessment, security and privacy in application development, regulatory compliance, certificates and contracts (IT Act, HIPAA, GLBA, EU DPA, FISMA etc.), trusted computing, physical security and convergence (CCTV, biometrics, smart cards), incidence management and response. |
CSE647 (MCNS) : 4 credits Mobile and Cellular Network Security Pre-requisites: Computer NetworksCellular phones and their supporting networks now represent the most widely available computing and communications technologies. The number of user of these networks outnumbers the number of users of conventional desktops and laptops. The objective of this course is to understand how these systems function and the security challenges facing them. This course provides an in-depth investigation into security issues in areas including cellular air interfaces, core networking (SS7, IMS), cellular data networking, and mobile device architectures. The course will focus more on security aspect of technologies including GSM, CDMA and futuristic LTE. |
CSE705 (DMIR) : 4 credits Database Methods in Information Retrieval Pre-requisites: Database Systems, Advanced ProgrammingThis course covers a number of advanced topics in development of high-performance information retrieval systems, integration of information retrieval methods into database management systems and their applications. Here is a tentative list of sub-topics which the course will cover: ranking in databases and top-k algorithms, keyword search in databases, knowledge-harvesting applications, entity-oriented/structured search, searching the deep-web. |