Catalogue of Regular Courses

The list of all regular courses offered by IIIT-Delhi is given below. Sometimes courses outside these are offered by IIIT-Delhi based on special interest and requirement - those are listed in the special topics list of courses. New courses might be added to these list as and when they are approved.

UG students may register for a 500-600 level course if they meet its pre-requisites and other criteria as decided by the instructor. PG students may not register for courses below 500 level, without approval from the PG Committee.

IIIT-Delhi B.Tech.(IT) program allows limited specialization in IT and alied streams; see below for information on these streams.


Regular courses

CS/IT courses
UG only courses
CSE101 (IP) : 4 credits
Introduction to Programming
Pre-requisites:

This course teaches the basics of programming. It does not assume any prior knowledge of computers or languages or compilers. A student will learn the different programming constructs, how to use them, the syntax of the chosen language (currently C or Python), how to write/edit a program, compile and run it, etc. The course will use simple tools to ensure that the focus remains on learning programming and the student is not distracted by the complexities of any special environments and tools.

CSE102 (DSA) : 4 credits
Data Structures and Algorithms
Pre-requisites: Introduction to Programming, Discrete Maths

This course teaches the basic data structures and algorithms for performing operations on these data structures, the use of data structures to provide software solutions that are efficient, and some algorithm paradigms for building efficient algorithms.

CSE111 (DC) : 4 credits
Digital Circuits
Pre-requisites:

Digital circuits are employed in all modern day equipments such as digital computers, mobile phones, audio-video devices, industrial control systems etc. The objective of this course is to give the students the theoretical basis and practical skills in design of simple digital systems. The design methodology, systematically introduced & used in the course, is based on simulation and synthesis with the hardware description language (VHDL) tools. The syllabus covers digital signals, Boolean logic and algebra, truth tables, logic gates, storage elements, sequential networks, and finite state machines. We discuss the design and analysis of combinational circuits as schematics, truth tables, and logic equations, along with the strategies for converting between these representations. For sequential circuits, we begin with one-bit flip-flops and combine them to form registers and counters, also demonstrate the concept of a state transition diagram and the process of translating such a diagram to a sequential circuit.

CSE112 (CO) : 4 credits
Computer Organisation
Pre-requisites: Digital Circuits

This course gives the students an opportunity to apply the basic concepts that they had learnt in the Digital Circuit course in designing a simple computing system. It provides basic and generic knowledge of digital computer organization and design at the machine and microprogramming levels with the associated assembly language programming concepts. The curriculum will initially involve assembly language programming in a scaled down version of the MIPS processor followed by a realistic version of the MIPS processor, the pipelined MIPS. The course highlights the design and functioning of the control unit, input-output peripherals, and memory unit.

CSE121 (DM) : 4 credits
Discrete Mathematics
Pre-requisites:

The course provides the mathematical background required for the description and analysis of a program with emphasis on its correctness and efficiency. The syllabus covers basics of propositional and predicate logic, proof methods, combinatorics, algebraic structures, graph theory, recurrence relations.

CSE122 (TOC) : 4 credits
Theory of Computation
Pre-requisites: Discrete Mathematics

The course gives an overview over basic formal grammar and abstract machine models of Computer Science and studies their properties and how they are related to each other. In particular, finite automata, pushdown automata, context-free grammars and Turing machines are introduced. Based on Turing machines the concepts of (un)decidability and recursive enumerability are introduced.

CSE131 (SM) : 4 credits
System Management
Pre-requisites: Some programming and familiarity with computer

This course is primarily to develop the skills in a student to effectively manage and configure his personal computer to provide best results and to set up a small network consisting of servers and a few clients. The student should be able to develop a conceptual understanding of PC internals, Computing Environment, Computer Networks and Internet which would enable them to diagnose and troubleshoot hardware and software problems. This course is primarily a practical oriented and lab-based course with little 'theory'. Lectures will be given to explain the required background knowledge about some topics.

CSE201 (AP) : 4 credits
Advanced Programming
Pre-requisites: Introductory Programming, Data Structures and Algorithms

This course is a successor to the 'Introduction to Programming' course. It teaches some advanced programming concepts based on the object-oriented paradigm. Concepts introduced will be the key elements of a typical object oriented application such as objects, classes, messages, interfaces, abstraction, inheritance, encapsulation and polymorphism. Java will be used to apply these ideas. Additional features of Java that will be covered are basic error and exception handling, IO and streams, concurrent programming with threads, GUI programming and collections framework. Some software design patterns will also be explored like singleton, factory method proxy, iterator, observer and adapter.

CSE202 (DB) : 4 credits
Fundamentals of Database Systems
Pre-requisites: Data structures, working knowledge of programming in C, C++ or Java and experience with Unix

The overall objective of this course is to provide a comprehensive overview of the fundamentals of database systems both from a user perspective as well as from a system perspective. From the user perspective, the course will cover various concepts on relational database management systems e.g. database design and normalization techniques, different types of data models and SQL. From the system perspective, it will cover topics such as data storage and indexing, query processing and optimization, transaction processing, concurrency control and recovery techniques.

CSE222 (ADA) : 4 credits
Analysis and Design of Algorithms
Pre-requisites: Data Structures and Algorithms

This is the basic course in designing and analysing algorithms for undergraduates. Students learn different algorithmic techniques like greedy algorithm, dynamic programming, divide and conquer as part of tree and graph algorithms. They use these techniques to solve problems both in theoretical design and practical implementation. They are introduced to the notion of NP-complete problems in the later part of the course.

CSE231 (OS) : 4 credits
Operating Systems
Pre-requisites: Strong C programming, Data structures

The course on Operating System has two components: theory and programming. The theory component covers the underlying concepts and principles of operating system whereas the programming component involves the practical implementation of the theoretical concepts.

CSE232 (CN) : 4 credits
Computer Networks
Pre-requisites: Introduction to Programming, Analysis and Design of Algorithms

This is the introductory course in computer networks. It teaches the standard layers in network, circuit and packet switching, protocols at the link layer, routing algorithms, TCP/IP protocol, and new challenges in wireless networks.

CSE300 (SE) : 4 credits
Software Engineering
Pre-requisites: Advanced Programming, and Fundamentals of Database Systems

The course focuses on the basic principles of software engineering and how they are applied on software projects. The list of topics include introduction to industrial strength software, problem of software development, problem of scale, basic process-based approach, software process models, requirement analysis and specification, project planning, design principles and structured design methodology, coding, testing, and some other topics like object oriented, metrics, standards, industrial practices.

CSE310 (DHD) : 4 credits
Digital Hardware Design
Pre-requisites: Digital Circuits

The objective of this course is to build upon the knowledge of Digital Circuits and learn how to synthesize real life systems. The design methodology, systematically introduced & used in the course, is based on simulation & synthesis with the hardware description language (Verilog) and Xilinx FPGA boards. Furthermore, the course intends to train students on high level design techniques that can be used for performance improvement in terms of speed, area and power dissipation.

CSE320 (ALGO) : 4 credits
Advanced Algorithms
Pre-requisites: Analysis and Design of Algorithms

The 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. 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.

CSE330 (DIST) : 4 credits
Distributed Systems Security
Pre-requisites: Operating Systems, Networking

The 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.

CSE340 (IA) : 4 credits
Image Analysis
Pre-requisites: Strong Programming and exposure to Linear Algebra

The course will introduce students to the domain of image processing. The subject will focus on fundamental techniques of image processing such as image interpolation, enhancement, restoration, detection, and compression. We will also discuss some advance techniques including wavelets to explore the breadth of image processing techniques and applications. The assignments and projects will use C programming to enable them to understand the intricacies of an image processing operation and also use advance toolboxes like MATLAB.

CSE341 (BIOMETRICS) : 4 credits
Biometrics
Pre-requisites: Programming, Basic knowledge of probability, statistics and linear algebra

This course will introduce the students to biometrics, its importance and the steps involved in the development of a biometric system. The assignments and projects will involve applying linear algebra and probability based techniques to biometric modalities for basic feature extraction and matching. They will also equip the students with techniques to evaluate the performance of biometric verification or identification systems.

CSE342 (PR) : 4 credits
Pattern Recognition
Pre-requisites: Programming, basic knowledge of probability, statistics and linear algebra

This 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.

CSE343 (ML) : 4 credits
Machine Learning
Pre-requisites: Programming, Probability and Statistics, Linear Algebra

The 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.

CSE344 (CV) : 4 credits
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.

CSE345 (SECURITY) : 4 credits
Foundations of Computer Security
Pre-requisites: Computer Networks, Operating Systems

This 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.

CSE441 (ADBIO) : 4 credits
Advanced Biometrics
Pre-requisites: Programming, Basic knowledge of probability, statistics and linear algebra

This 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.

PG courses
CSE500 (SC) : 4 credits
Secure Coding
Pre-requisites: C/C++/Java

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. 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 Systems

This 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.

CSE506 (DM) : 4 credits
Data Mining
Pre-requisites: Database, Algorithms, Programming, Statistics, Exposure to SQL

The 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, Databases

This 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.

CSE508 (IR) : 4 credits
Information Retrieval
Pre-requisites: Advanced Programming, Data Structures, Algorithms, Database Management Systems

This 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: Database

This 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.

CSE511 (CA) : 4 credits
Computer Architecture
Pre-requisites: Digital circuits / Computer Organization at UG level, C/C++ is desirable

This 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 Algorithms

The 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 computation

This 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.

CSE522 (VRS) : 4 credits
Verification of Reactive Systems
Pre-requisites: Discrete Structures, Theory of Computation

The 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.

CSE523 (RA) : 4 credits
Randomised Algorithms
Pre-requisites: Algorithms, Discrete Mathematics, Exposure to Probability

This 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.

CSE524 (TMC) : 4 credits
Theory of Modern Cryptography
Pre-requisites: Exposure to Probability, Discrete Maths

This 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, Networking

The 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 Programming

A 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 platforms

Starting 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.

CSE538 (AWN) : 4 credits
Ad Hoc Wireless Networks
Pre-requisites: Computer Networks, Probability and Statistics

The 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.

CSE539 (CDN) : 4 credits
Cellular Data Networks
Pre-requisites: Computer Networks, Probability and Statistics

This 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.

CSE540 (IA) : 4 credits
Image Analysis (Graduate)
Pre-requisites: Strong Programming and Linear Algebra

The 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 algebra

This 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.

CSE542 (PR) : 4 credits
Pattern Recognition (Graduate)
Pre-requisites: Programming, basic knowledge of probability, statistics and linear algebra

This 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.

CSE543 (ML) : 4 credits
Machine Learning (Graduate)
Pre-requisites: Programming, Probability and Statistics, Linear Algebra

The 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.

CSE544 (CV) : 4 credits
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.

CSE544 (CV) : 4 credits
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 Systems

This 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.

CSE546 (AC) : 4 credits
Applied Cryptography
Pre-requisites: Discrete Mathematics and C Programming

A 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.

CSE547 (BSA) : 4 credits
Building Secure Applications
Pre-requisites: Strong Programming Skills and Software Engineering

Poor 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 Security

With 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.

CSE549 (PET) : 4 credits
Privacy Enhancing Technologies
Pre-requisites: exposure to Computer Networks

Some 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).

CSE605 (GDM) : 4 credits
Introduction to Geospatial Data Management
Pre-requisites: Data structures, Databases, Discrete mathematics, Introduction to programming

This 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.

CSE606 (DWH) : 4 credits
Data Warehousing
Pre-requisites: Database System Implementation, Exposure to Data Mining

This 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.

CSE607 (FDA) : 2 credits
Financial Data Analytics
Pre-requisites: Database Management System, Exposure to Data Mining

The 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.

CSE645 (DSF) : 4 credits
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.

CSE646 (RWS) : 4 credits
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 Networks

Cellular 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 Programming

This 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.

ECE courses
ECE101 (EC) : 4 credits
Basic Electronic Circuits
Pre-requisites:

This is a basic course on electronic circuits. At the end of the course, the student will be able to analyse simple linear electrical circuits using basic theorems, analyse and design basic electronic circuit modules, be familiar with basic electronic components including basic analog ICs, build simple electronic gadgets using the circuit modules learnt. Some of the key topics are Linear and Non-linear circuit elements, Independent and Controlled sources, Voltage and Current laws, Basic Nodal and Mesh analysis, Time-domain analysis, Sinusoidal Steady State Analysis, Network Analysis, Basic Semiconductor Devices, Amplifiers, Oscillators, Waveform generators, D-C power supply.

Math courses
MTH101 (MATH) : 4 credits
Linear Algebra and Advanced Calculus
Pre-requisites: Exposure to Discrete Maths

This course is targeted to develop essential mathematical skills required for higher studies as well as for various other courses in the program. It constitutes of basic linear algebra and exposure to advanced calculus and differential equations. The topics covered include the following: Vectors, Linear Equations, Matrices, Determinants, Vector Space, Eigenvalues, Eigenvectors, Linear Transformations, Inner product, Factorizations, Orthogonality, Numerical techniques and linear programming, Quadratic forms and SVD, Advanced calculus and Ordinary Differential Equations.

MTH201 (PROB) : 4 credits
Probability and Statistics
Pre-requisites: Programming and Calculus

The objective of this course is to provide the students basic knowledge about probability and statistics with applications. The course will include probability theory, discrete and continuous distributions, stochastic processes and Markov chains. The study of these topics will prepare the background of students to pursue statistical theory or methodology and analyze data in any stream of computer science. The students will also be able to gain some experience with a statistical software tool.

MTH500 (MATH) : 4 credits
Topics in Mathematics (Graduate)
Pre-requisites:

Introductory math course. Course content varies from semester to semester.

MTH501 (PROB) : 4 credits
Probability and Statistics (Graduate)
Pre-requisites: Programming and Calculus

The objective of this course is to provide the students advanced knowledge about probability and statistics. The course will include probability theory, discrete and continuous distributions, stochastic processes, Markov chains, and regression analysis. The students will review papers related to different computer science applications and use of statistics for data analysis. The students will also be able to gain some experience with a statistical software tool and develop projects for computer science applications.

HSS courses
HSS101 (TS) : 4 credits
Technology and Society
Pre-requisites:

This course will focus on understanding the importance of technology and science to contemporary society (economic, social and military). It will involve a general discussion of presence of science and technology in our every day life, at micro and macro level, nature of technology (hardware and material products) as a complex of knowledge, methods and materials, as a cultural activity, nature of science as knowledge, systematic inquiry, human cultural activity, important characteristics of modern technology such as complexity, system embeddedness, polymorphism (many forms), formalized technical procedures, production specialization and incomprehensibility, influence of technology on social institutions, occupational profile of workforce, content and process, time, and ethical and moral issues. It will include case studies to generate better appreciation of some of these issues.

HSS201 (RM) : 4 credits
Research Methods
Pre-requisites:

The objective of this course is to introduce students to various research methodologies and to provide tools that can be used to evaluate the research results. Potential topics that will be covered in the course are scientific research methods like observation, survey, interviews, experimentation, problem formation, hypothesis generation, hypothesis testing - data collection, and data analysis, validity of research - conclusion, internal, external, and construct validity, generalizability and reproducibility, iterative research process. The students will get experience in writing high quality research paper.

HSS202 (POK) : 4 credits
Perspectives on Knowledge
Pre-requisites:

The basic objective for this course is to broaden and deepen the students' understanding of issues concerning knowledge. Issues of knowledge have moved from specialized reflections to general social discourse in the information age. This course takes certain significant episodes of knowledge which constitute cultural and scientific landmarks in human history and examines them as to their general purport as well as introduces certain specific arguments, methodologies and approaches. The course culminates with discussions on contemporary context of knowledge, where the professional training that the students receive in IT can be linked to broader social and cultural currents.

HSS204 (PSY) : 4 credits
Introduction to Psychology
Pre-requisites:

This is an introductory course on psychology and will be largely application based, the idea being to empower the students with an understanding and skills of human behavior. Some of the topics will be the concept of self, personality and stress, understanding human needs and behaviour, group dynamics, effective communication, counselling and mentoring, cognitive behaviour therapy, fundamentals of organizational behaviour.

HSS205 (SOCIO) : 4 credits
Introduction to Sociology
Pre-requisites:

Sociology is the study of human social life. It has its roots in the significant societal changes taking place in society. It is an attempt to understand the social world by situating social events in their corresponding environment, such as, community, culture, history and trying to understand the social phenomena by collecting and analyzing relevant data. Some of the topics are origin and development of sociology, sociological methods, individual and society, Socialization and major forms of social structure, Family - characteristics of the family, types of family, modern family, Community - its physical and psychological configurations, State - origin and development of state, state as a institution of force, Social stratification - Social class and caste, Ethnic and racial groups, Theories of society, Social change.

HSS206 (FILM) : 4 credits
Introduction to Film Studies
Pre-requisites: Critical Reading

This course will introduce you to the basic critical skills involved in interpreting film. The first part of the course will familiarize you with the aesthetic elements of form and style (lighting, sound, composition, angles, editing, etc.). The second part will introduce you to the narrative and non-narrative practices in film-making. Narrative practices include fiction film, their genre & style. Non-narrative practices include experimental and documentary cinema. The third part will highlight some of the critical approaches to interpreting film, introducing you to Film Theory and philosophy of film. Each week a film that best serves as an example of the week’s focus will be screened outside the class. Screening will require mandatory attendance. The film will then be taken up for discussion and critical analysis in the following class.

HSS207 (HVPE) : 4 credits
Human Values and Professional Ethics
Pre-requisites:

In this course, the instructor would raise a sequence of propositions, in a structured way, followed by class discussions, mainly to initiate, in each participant, a process of self-investigation, reflective thinking, and self exploration. Each participant is expected to verify himself each proposition on the basis of natural acceptance, and nothing else.
In parallel, each participant would be requested to go through some individual and group activities (viz., study a set of articles / movies, write a term paper on a theme, a book review, and participate in a social interaction), mainly to strengthen their understanding related with human values and professional ethics, and write a critique / report on each activity, and discuss the same in the class later.

HSS401 (RM) : 4 credits
Research Methods
Pre-requisites:

PG students should register for HSS201 using this number to maintain compliance. The objective of this course is to introduce students to various research methodologies and to provide tools that can be used to evaluate the research results. Potential topics that will be covered in the course are scientific research methods like observation, survey, interviews, experimentation, problem formation, hypothesis generation, hypothesis testing - data collection, and data analysis, validity of research - conclusion, internal, external, and construct validity, generalizability and reproducibility, iterative research process. The students will get experience in writing high quality research paper.

HSS501 (RM) : 4 credits
Research Methods
Pre-requisites:

This is a strictly PG version of HSS201 and will involve significantly extra work. The objective of this course is to introduce students to various research methodologies and to provide tools that can be used to evaluate the research results. Potential topics that will be covered in the course are scientific research methods like observation, survey, interviews, experimentation, problem formation, hypothesis generation, hypothesis testing - data collection, and data analysis, validity of research - conclusion, internal, external, and construct validity, generalizability and reproducibility, iterative research process. The students will get experience in writing high quality research paper.

ESC courses
ESC201 (TRANSDUCER) : 4 credits
Transducer And Signal Conditioning
Pre-requisites:

This objectives of this course is to recognize a transducer and its type for measuring some physical quantity or some physical attribute, to gain the ability to condition and measure the signal produced by a transducer and convert it to a suitable level of voltage/ current which can be recognized by the interfacing device comfortably. It will also impart basic understanding of monitoring an industrial process through a variety of transducers. The course will involve experiments on different types of transducers in a lab.

ESC202 (DC) : 4 credits
Digital Communication
Pre-requisites: Probability Theory, Linear Algebra

This is the background course to understand the design and analysis techniques of modern digital communication systems. The initial portion of the course will focus on the mathematical background required for the upcoming topics e.g. Fourier analysis and Random Signal theory. The rest of this course will be devoted to digital communication starting from sampling theorem followed by waveform coding techniques, digital modulation techniques and signal detection in noise.

ESC203 (SS) : 4 credits
Signals and Systems
Pre-requisites: Exposure to Calculus and Differential Equations

This is an introductory undergraduate course focusing fundamentals of discrete and continuous time signal and system analysis. Basic representation of systems are introduced using mathematical models (system transfer functions: poles, zeros; convolution, impulse and step response, frequency response). These models are used to understand real world applications in the domain of control, signal processing, communication.

ESC204 (QQRM) : 4 credits
Quantitative and Qualitative Research Methods
Pre-requisites: Knowledge of LaTeX

The course is intended for students with interest in conducting independent research and may serve, for example, as preparation for carrying out research for a thesis. The objective of this course is to present an introduction to the major considerations and tasks involved in conducting a research project. Some of the topics to be covered include: Gathering necessary information to guide you through your research project, Critically evaluate your own research and research carried out by others, Presenting scientific results (writing of a thesis, paper, report or research proposal; oral and poster presentations), Project management skills, Elements of engineering ethics.

ESC504 (QQRM) : 4 credits
Quantitative and Qualitative Research Methods (Graduate)
Pre-requisites: Knowledge of LaTeX

The is the graduate version of HSS204. It is intended for graduate students with interest in conducting independent research and may serve, for example, as preparation for carrying out research for a thesis. The objective of this course is to present an introduction to the major considerations and tasks involved in conducting a research project. Some of the topics to be covered include: Gathering necessary information to guide you through your research project, Critically evaluate your own research and research carried out by others, Presenting scientific results (writing of a thesis, paper, report or research proposal; oral and poster presentations), Project management skills, Elements of engineering ethics.

Communication skill courses
COM101 (COM) : 4 credits
Communication Skills
Pre-requisites:

To make use of the opportunities and meet the challenges of the modern world, students need to develop effective communication skills. This is a skill that is most often quoted as lacking in engineers and IT professionals. Proper communication skills are also extremely important in interpersonal relationships. This course will help students in becoming confident and effective communicators, who can project themselves positively to others. Students will learn step-by-step, systematic methods to enhance their communication skills through discussions, group activities, questionnaires, individual exercises and practice sessions.

COM201 (CR) : 4 credits
Critical Reading
Pre-requisites:

In this course, students will read some influential essays, critically analyze them by also reviewing views and criticisms, and discuss them in a group format. As a side effect, this course will further enhance reading, presentation, and listening skills, as well as make the students 'read better'.

COM301 (TW) : 4 credits
Technical Communication
Pre-requisites: 3rd year or later

The course has two parts - first part will focus on understanding and communicating a technical idea, and the second part will be on forecasting/prediction for some technology trend. For the first part, students will be taught what good communication is (both written and presentation) - how is a well written paper organized, and how to organize a good presentation. The second part will focus on technology forecasting and trend analysis. Here the students will work in groups on some forecasting/trends project. In the end they write a small report, and make a presentation in class.

Other Domain courses
BIN301 (BIN) : 4 credits
Introduction to Bioinformatics
Pre-requisites:

This is an introductory course on bioinformatics. The course will introduce the concepts of bioinformatics as well as the necessary algorithms (BLAST, FASTA) and software tools/languages (perl). Some of the key topics are Phylogenetic analysis, structural alignment and concepts of protein modeling, genomics, gene and expression, algorithms in bioinformatics.

BTY301 (BT1) : 4 credits
Introduction to Biotechnology
Pre-requisites:

This course is intended to introduce participants to engineering of life known as biotechnology. They will start with exploring how the smallest factory in the world, known as cell, work to form life. They will develop understanding on the basic building blocks of life - proteins. They will learn - How proteins are produced inside the cell and what is the relation between genomic code and production of proteins by any living species? What is the role of DNA and RNA in preserving and translating genetic information, and how can we manipulate this information to our benefit? What are microbes and how are they helpful for us to fulfill various demands in food, pharma, agriculture, textile, energy, etc.? What is a bioprocess and how it could be developed to produce natural products at industrial scale? In addition, regulatory and ethical issues related to use of biotechnology would be discussed.

BTY302 (BT2) : 4 credits
Bioengineering and IT
Pre-requisites: Introduction to Biotechnology

This course deals with understanding various problems / issues related to genetic engineering and bioprocess development. Students would explore how skills of IT/CS could be applied in this domain to resolve those issues, especially saving time and cost of conducting multiple empirical experiments by designing in-silico experiments. Application of IT for bioprocess development and control will be discussed and students will be trained on experimental design through case studies based in real life examples and regular assignments, etc. This course will help students to visualize potential of IT in biotechnology, and hence they might be motivated to pursue higher studies or professional career in this domain.

DES301 (DES) : 4 credits
Exploring Visual Design
Pre-requisites:

The course follows curiosity conflict & arousal, feeling, perceiving & formalization as the learning technique. Internet will be extensively used to explore the knowledge and possibility framework. The studio experience will be interactive by nature. As concepts are presented, studio exercises will be assigned to provide an opportunity to visually express an understanding of the design principles. This interactive mode functions is best when all members of the class participate and share their ideas. Periodic project critiques are equivalent to examinations in other classes. Brief written examination will conducted to evaluate understanding of concept.

ECO301 (ECO) : 4 credits
Introduction to Economic Analysis
Pre-requisites:

The goal of this course is to teach how to set up and solve constrained optimization problems using the basic analytical framework used by professional economists to study consumer and firm behavior. Some of the topics covered are: Fundamentals of consumer theory, Firms in competitive markets, Market equilibrium and efficiency, Market failures and Government Intervention, Imperfect Competition, Public Goods and Common Resources, Strategic Behavior and Game Theory, Risk and Uncertainty, Auctions and Mechanisms, Economic Growth and GDP, Banking and Interest rates, Inflation and Monetary Policy, International Trade and Foreign Exchange.Basic knowledge of multivariate calculus, probability and statistics will be useful but is not required.

ENT401 (ENT) : 2 credits
Entrepreneurship as a Career
Pre-requisites: 4th year UG

Basic knowledge (of laws, capital, organization, etc) to start and run an entrepreneurial venture, highs and lows of this career option, how to increase chances of success as an entrepreneur, and how to decide when to switch roles and move on.

ENT402 (ENT) : 2 credits
Entrepreneurship: Managing a Venture
Pre-requisites: Entrepreneurship as a Career

This is a continuation of ENT401. The course will take the students through the process of starting their own business. A set of modules will cover different areas of knowledge required for starting a business such as finance, marketing, legal aspects, human resource management, strategy etc. An important component of the course is to foster spirit of entrepreneurship.
As part of the course students, in a group of 4-5, will develop a business idea, conduct market research, take the first steps necessary to start their business, work to acquire financing, and more. While most projects will be 'on-paper', it is hoped that the project will help students find their entrepreneurial spirit. Classes will be composed of lectures, group discussion, peer review of business projects, young entrepreneur case studies/ talk, self-study, and guest lecturers. Some of the talks by entrepreneurs may have been recorded earlier in their office.

ENV301 (GEO) : 4 credits
The Earth System: An Environmental Science Perspective
Pre-requisites:

The Earth can be viewed as a dynamic interacting system of atmosphere, life, ocean, rock and soil. It is open energetically but largely closed materially. Earth's surface and interior have changed through time and continue to change today. Understanding these changes and what drives them is the goal of Earth system science. Putting these changes in the context of modern socio-economic change (and understanding its impact on the biophysical environment) is the added goal of this course.

FIN401 (FIN1) : 4 credits
Foundations of Finance
Pre-requisites:

This course is intended to introduce participants and develop a working knowledge of the concepts, problems, tools, and application of corporate financial decision making. It is an introductory course that will define basic concepts used in financial management including risks and returns associated with the investment decisions, allocation of funds, raising of funds, financial management, valuation, financial instruments like fixed income securities & derivatives (options, futures and forwards), financial markets and investments. Students would also gain knowledge of industry analysis, macroeconomic fundamentals and awareness of the impact of the evolving global economy on financial management. Includes case studies and hands on experience with basic spreadsheet model development .

FIN402 (FIN2) : 4 credits
Valuation and Portfolio Management
Pre-requisites: Foundations of Finance

This course deals with the art and science of investment analysis and field of modern portfolio management that has gained traction on Wall Street today in the wake of the financial crisis. The class will cover market mechanism design, market efficiency, asset pricing models, introduction to various markets, valuation models, portfolio theory, asset allocation, performance measurement and value at risk (VAR). The course will contain a reasonable element of quantitative material, and requires the application of mathematical logic to analyzing investment problems. The viewpoint in this course is that of the portfolio manager who makes investment decisions under risk and uncertainty. The course will discuss numerical methods for pricing, valuation etc. and provide hands on experience with development of sophisticated spreadsheet models for investment decisions.
Include case studies, discussions on recent financial meltdown and hands on experience on sophisticated financial model development. Students will be required to read the text as well as advanced papers on the topic.

PHS501 (IAHA) : 2 credits
Integrated Health Information Architectures
Pre-requisites: Java, open source framework, databases like MySQL and Postgres

The course will provide the foundation concepts for public health informatics. It will lay the foundation for understanding Integrated Health Information Architectures in terms of what they are, how is their design approached, how can they scale, the role of standards and interoperability. Further, the course will focus on implementation issues relating to challenges and strategies to address them.
The course will be taught as a combination of lectures in two intensive modules, separated by a period of project work in a real life setting. The first module will have focus on technology exposure and the second module will have focus on implementation.

PHY301 (PHY) : 4 credits
Quantum Mechanics and Lasers
Pre-requisites: Exposure to Physics in Class-XII

This is a basic UG-level courses covering several topics like: Special relativity-postulates, Galilean transformation , MM expt , Doppler effect, Time dilation , length contraction, Lorentz transformation. Mass & energy, velocity addition Origin of quantum hypothesis,, de Broglie relations , Matter waves, Uncertainty principal, wave packets, Schrodinger eqn. Operators & commutation relations, expectation values. One dimensional problems e.g particle in box , step & barrier potential Lasers and its properties , coherence and line width, Spontaneous and stimulated emission, Einstein co-efficient, inversion, Light amplification & optical resonators, Q-switching and common laser systems, Quantum nature of light, classical and quantum superposition, interference of photons, E-P-R paradox, entangled states, Bell states, Teleportation and Quantum Cryptography.

PHY302 (PHY) : 4 credits
Semiconductors and Optics
Pre-requisites: Exposure to Physics in Class-XII

This is a basic UG-level courses covering several topics like: Metals and semiconductors, Dielectric properties of materials, Magnetic properties of materials, Superconductivity, Superposition of waves, Interference by division of amplitude, coherence, anti reflection films, colour of thin films, Newton’s rings, Michelson interferometer, interference filters, Fraunhofer diffraction, diffraction by single slit, double slit, circular aperture, diffraction grating, resolving and dispersive power ,Fresnel diffraction. Polarization, concept of linear, circular, elliptical polarizations, Brewster’s law, Double refraction by crystals, half and quarter wave plates . Optical fiber, attenuation in fibers, dispersion, fiber optic communication system, Fiber sensors.

Other courses
CSE391-395 (SPT) : 4 credits
Special Topic
Pre-requisites:

4 unit courses covering topics of interest in computer science at the UG level. Content varies from semester to semester.

CSE398/CSE398A (IS) : 4/2 credits
Independent Study
Pre-requisites: Consent of the instructor, CGPA requirement

Any B.Tech. student can register for a self-study course on any topic in computer science with a particular instructor. The student needs to first get consent of the instructor and submit the IS form to the academic office for approval. A student may take at most 8 credits of IS/IP/UR during the BTech program, and no more than one among them can be registered for in one semester.

CSE399/CSE399A (IP) : 4/2 credits
Independent Project
Pre-requisites: Consent of the instructor, CGPA requirement

Any B.Tech. can register for a semester long project on any topic in computer science with a particular instructor. The student needs to first get consent of the instructor and submit the IP form to the academic office for approval. A student may take at most 8 credits of IS/IP/UR during the BTech program, and no more than one among them can be registered for in one semester.

CSE491-495 (SPT) : 2 credits
Special Topic
Pre-requisites:

2 unit courses covering topics of interest in computer science at the UG level. Content varies from semester to semester.

CSE498/CSE498A (UR) : 4/2 credits
Undergraduate Research
Pre-requisites: Consent of the instructor, CGPA requirement

Any B.Tech. student can register for doing semester long research under the supervision of IIIT-Delhi faculty member(s). The student needs to first get consent of the instructor and submit the UR form to the academic office for approval. A student may take at most 8 credits of IS/IP/UR during the BTech program, and no more than one among them can be registered for in one semester.

CSE499/CSE499A (BTP) : 4/8 credits
BTech Project
Pre-requisites:

BTech project (BTP) is optional for the 'BTech in IT' degree. A student opting for BTP may take a total of 8, 12 or 16 credits. BTP is compulsory for the BTech Honors program. In a semester, the student can register for at most 8 credits of BTP/IS/IP/UR (all inclusive).

CSE591-595 (SPT) : 4 credits
Special Topic
Pre-requisites:

4 unit courses covering topics of interest in computer science at the PG level. UGs are also allowed to register. Content varies from semester to semester.

CSE599/CSE599A (MTP) : 4/8 credits
MTech Scholarly Paper
Pre-requisites:

MTech (CS) may be done with a thesis, or without a thesis but with a scholarly paper. In addition, students doing MTech with thesis will have to do a thesis. Students in without thesis option have to do additional courses, and instead of a thesis will have to do a scholarly paper.

CSE690 (DS) : 4 credits
Independent Study (MTech)
Pre-requisites: Consent of the instructor

This can be used by any MTech student to take a directed study course on any special topics in computer science with a particular instructor. Requires consent of the instructor. At most one such course can be counted towards the MTech course requirement.

CSE691-695 (SPT) : 2 credits
Special Topic
Pre-requisites:

2 unit courses covering topics of interest in computer science at the PG level. UGs are also allowed to register. Content varies from semester to semester.

CSE699/CSE699A/CSE699B/CSE699C (THESIS) : 4/8/12/16 credits
MTech Thesis
Pre-requisites:

MTech (CS) may be done with a thesis, or without a thesis but with a scholarly paper. In addition, students doing MTech with thesis will have to do a thesis. Students without thesis option have to do additional courses, and instead of a thesis will have to do a scholarly paper.

CSE790 (DS) : 4 credits
Independent Study (PhD)
Pre-requisites: Consent of the instructor

This can be used by any PhD student to take a directed study course on any special topics in computer science with a particular instructor. Requires consent of the instructor. At most one such course can be counted towards the PhD course requirement.

CSE791-794 (SPT) : 4 credits
Special Topic
Pre-requisites:

4 unit courses covering topics of interest in computer science at the PG level. Content varies from semester to semester.

CSE795-797 (SPT) : 2 credits
Special Topic
Pre-requisites:

2 unit courses covering topics of interest in computer science at the PG level. Content varies from semester to semester.

CSE799 (THESIS) : 48 and above credits
PhD Thesis
Pre-requisites:

All PhD students irrespective of their entry category are expected to successfully complete their PhD thesis. As number of thesis units is not relevant for a PhD thesis, no minimum is specified for the number of thesis units for full time students. Part-time students, however, are required to complete a minimum of 48 units of thesis.

MSC481 (SG) : 1 credits
Self Growth
Pre-requisites:

The purpose of this course is to help students develop their interests beyond the formal curriculum. It recognizes the fact that education is not limited to classroom, and that a broad education must permit growth of students in areas beyond the curriculum. It can be viewed as encouraging students to develop other interests and hobbies, and pursue them. In this course, a student can decide to build some skill/expertise in some area, develop a plan for achieving it, and then execute the plan. At the end of the semester, the student will have to demonstrate that the stated goals have been achieved and necessary effort was spent. Areas could be anything which requires dedicated effort over time to build a skill. Examples are carpentry, bird watching, music (vocal or instrumental), plumbing, learning a new language, photography, painting, sketching, etc. This course is different from independent study/minor project, which are expected to be more oriented towards traditional academic topics. Also the credits for this course will not be used to count the number of credits required for the program.

MSC482 (SG) : 2 credits
Self Growth
Pre-requisites:

This is the 2-credit version of MSC481. The purpose of this course is to help students develop their interests beyond the formal curriculum. It recognizes the fact that education is not limited to classroom, and that a broad education must permit growth of students in areas beyond the curriculum. It can be viewed as encouraging students to develop other interests and hobbies, and pursue them. In this course, a student can decide to build some skill/expertise in some area, develop a plan for achieving it, and then execute the plan. At the end of the semester, the student will have to demonstrate that the stated goals have been achieved and necessary effort was spent. Areas could be anything which requires dedicated effort over time to build a skill. Examples are carpentry, bird watching, music (vocal or instrumental), plumbing, learning a new language, photography, painting, sketching, etc. This course is different from independent study/minor project, which are expected to be more oriented towards traditional academic topics. Also the credits for this course will not be used to count the number of credits required for the program.

MSC491 (CW) : 1 credits
Community Work
Pre-requisites:

One of the goals of technical education is to produce technologists and scientists who will also provide solutions to problems/issues in our society. As class room teaching is often devoid of direct relation with the larger civic society, this course module attempts to bridge this gap. In this course, the student is expected to contribute directly to some societal issue that he/she is really concerned about, by working in a group of like-minded people. The student can do this by working through an NGO, or any such group, of his/her choice, which is working in the area which the student is excited about. Alternatively, a group of students can work together on some issue concerning the larger civic society, and may form this group for this purpose. (If a students form a group to work for a cause, if support is needed, the institute will provide some financial support.) The credits for this course cannot be used towards the required number of credits for a program.

MSC492 (CW) : 2 credits
Community Work
Pre-requisites:

This is the 2-credit version of MSC491. One of the goals of technical education is to produce technologists and scientists who will also provide solutions to problems/issues in our society. As class room teaching is often devoid of direct relation with the larger civic society, this course module attempts to bridge this gap. In this course, the student is expected to contribute directly to some societal issue that he/she is really concerned about, by working in a group of like-minded people. The student can do this by working through an NGO, or any such group, of his/her choice, which is working in the area which the student is excited about. Alternatively, a group of students can work together on some issue concerning the larger civic society, and may form this group for this purpose. (If a students form a group to work for a cause, if support is needed, the institute will provide some financial support.) The credits for this course cannot be used towards the required number of credits for a program.


Specialization in B.Tech.

The BTech in IT program allows for limited specialization in various topics of IT streams and non-IT domains. Specialization in any area will involve taking multiple pre-specified courses in that area as listed below. It is not mandatory for a B.Tech. student to specialize in one or more areas; however they are strongly encouraged to enhance their skill set by taking advantage of the specialized course structure. Irrespective of the streams a student wishes to specialize in, these courses are open to all eligible students as long as they meet the course pre-requisites; it is not necessary to do all courses of a stream/domain if a student does not wish to specialize in that area.

The list of the currently available streams and domains are given below. These elective courses can only be taken in the 3rd and 4th year of the B.Tech. program. The courses offered is subject to change every year and new streams/domains will be added as when they are offered.

IT Streams:

Non-IT Streams:

  • Finance stream: The goal of the Finance stream is to train students in finance in a manner that leverages the CS/IT background to produce specialized manpower which is sought after by finance industry and graduate programs. I.e. this stream will build competence in those areas of finance that effectively employ the CS/IT background. Also, while keeping a fair degree of rigor, the courses in the stream should be grounded in real finance world and should contain exercises and projects using real data, applying the models, tools, and techniques on them. The stream consists of two courses.
  • Biotechnology stream: The goal of this stream is to introduce students to fundamentals of biotechnology and demonstrate how IT could help to understand and resolve problems in this domain. In principal, this stream will provide them exposure to the biotechnology space and help them develop a basic understating of why and how it is so important for a better human life. Later, they will explore how knowledge and skills of IT could be applied to solve various problems / limitation in the area of bioengineering. We want that students should get sufficient exposure to decide if they would like to do their B.Tech. project, and may be higher studies, in this incredibly promising area of IT application. The stream consists of two courses.
  • Entrepreneurship stream: The goal of this stream is to develop entrepreneurship abilities and desires in students who may have an inclination towards it. The desired outcomes of this stream on such student's capabilities and knowledge are that at the end of the stream a student will have the following skills/capabilities:
    • The entrepreneurial desire/fire within the student will have been further developed
    • Ability to conceptualize a sound entrepreneurial venture,
    • Basic knowledge (of laws, capital, organization, etc) to start and run an entrepreneurial venture
    Currently, it is envisaged as a two-course stream, to be offered to BTech students in the last two semesters of their program.