CSE Courses

CSE/ECE-3xx/5xx : Speech Recognition and Understanding (Credits: 4)

This is an introductory course on Speech Recognition and Understanding offered to undergraduate and graduate students. The goal is to develop understanding of traditional as well as contemporary speech processing techniques and enable students to develop applications using existing tools. Students will be given theory and programming assignments targeted towards solving real-world speech recognition problems. Groups of two or three will do a course project and show a demonstration at the end of the semester.

CSE101 : Introduction to Programming (Credits: 4)

Introduction of Programming is the first programming course in the college curriculum, and aims to bridge the gap between students who have prior coding experience and those who have none. The main goal of this course is to prepare students to understand basic algorithms and data structures, write organized code, and to gain practical experience with debugging, compiling and running programs.

CSE102 : Data Structures and Algorithms (Credits: 4)
Pre-requisite: CSE101 ,CSE121

This course is aimed at giving students a background in basic data structures and algorithms along with their impact in solving real life problems using a computer. The major focus will be on covering the basic data structures, b) Algorithm analysis using recurrence relations and c) problem solving using Java.

CSE111 : Digital Circuits (Credits: 4)

Analog and Digital representations of information; Logic and arithmetic; Binary variables; Basic logic operations and gates; Essentials of Boolean algebra; Expressing a logical problem as a Boolean function; Positional number systems; Arithmetic operations; Combinational circuit design using multiplexers and gates; Sequential circuits ndash; Latches, Flip-flops, Ripple counters; Sequence generator using flip-flops; Synchronous counters; Basic constituents of a processor; Simple processor architecture.

CSE112 : Computer Organization (Credits: 4)

Introduction to computer systems: General overview of computer abstraction and technology. Instruction set architecture: instruction type, format, operand, addressing mode. Computer arithmetic: addition, subtraction, multiplication and division. Floating point representation. Basics of microprocessor: pipeline, datapath and control. Data and control hazards. Parallelism: Instruction Level Parallelism (ILP). Memory hierarchy: Exploiting locality using cache memory, virtual memory. I/O and storage: performance of disk and file systems.

CSE121 : Discrete Mathematics (Credits: 4)

Discrete Mathematics is the study of mathematical structures (objects) which are discrete, distinct in nature. This course provides the mathematical basis for the understanding of computers and modern computation. It is the backbone of computer science and has a lot of applications in cryptography and engineering.

CSE131 : System Management (Credits: 4)

This course exposes the students to how a computer functions, and how they can manage their own systems. Starting with an Operating Systems installation, dual-OS installation and OS installation on a virtual machine, to knowing Linux commands, writing shell scripts, using tools such as sed and awk, connecting the machine to the network, setting up WiFi, understanding networking, setting up a website, use of Internet tools, cloud based systems, the course covers a vast ground.

CSE201 : Advanced Programming (Credits: 4)
Pre-requisite: CSE101 ,CSE102

The Advanced Programming course is a successor to the Introduction to Programming course. This course teaches some advanced programming concepts. It builds upon prior knowledge of students about programming using languages like C. This is going to be an intensive hands-on course and is going to heavily based on programming assignments, labs and practical exams. The course begins with a discussion on Introduction to Object Oriented Paradigm and Programming Concepts. Students will learn the key elements of a typical object oriented application such as objects, classes, messages, interfaces, abstraction, inheritance, encapsulation and polymorphism. We will make use of Java language to demonstrate the concepts. However, the concepts can be applied using other programming languages. After covering the basics of object oriented programming, we will cover advanced Java programming features such as the Basic Error amp; Exception handling, IO amp; Streams, Concurrent programming with Threads , GUI programming, Collections Framework, and unit testing with JUnit. Throughout the course, students will use an integrated development environment like Eclipse and learn to make use of Java documentation and also learn to create documentation, using JavaDoc, with code.

CSE202 : Fundamentals of Database Systems (Credits: 4)
Pre-requisite: CSE102

A course on fundamentals of database systems. Database Management Systems (DBMS) are an integral component of modern computing environment and applications. This is a first course in databases at the undergraduate level covering fundamentals concepts, aspects of database design, database languages and database system implementation. Students are taught concepts and algorithms in a general setting that is not tied to one particular database system. The course emphasizes both theory and application of database systems. Topics covered in the course are: introduction to the relational model, introduction to SQL, intermediate and advanced SQL, database design using entity relationship approach, data storage and querying, indexing and hashing and transaction management.

CSE222 : Analysis and Design of Algorithms (Credits: 4)
Pre-requisite: CSE102 , CSE121 ,CSE101

This is a follow-up course to DSA (Data Structures and Algorithms). The focus of this course in on the design of algorithms, proofs of correctness and methods to analyse resource requirements of their algorithms. Students learn fundamental algorithmic design paradigms such as greedy algorithms, dynamic programming, divide and conquer, etc. and also learn some more data structures. The later part of the course focuses on the limitations of algorithms. In particular, the theory of NP-completeness. Students are also required to design and implement algorithms using the techniques the learn.

CSE230 : System Administration (Credits: 2)
Pre-requisite: CSE131

This course is intended for second year B.Tech students, who wish to improve skills through hands-on experience in system administration. This course will be followed by another course on Network Administration. Students, who successfully complete these courses, will be offered part-time work for System and Network Admin in the institute and will be expected to work for at least two semesters.

CSE231 : Operating Systems (Credits: 4)
Pre-requisite: CSE102

Operating system is the interface between the hardware and the user; it is responsible for the management and coordination of activities and the sharing of the resources of the computer. Operating system offers a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. The course on Operating System has two components: theory and programming. Theory component covers the underline concepts and principles of operating system whereas programming component involves the practical implementation of theoretical concepts.

CSE232 : Computer Networks (Credits: 4)
Pre-requisite: CSE101 ,CSE102

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.

CSE233 : Network Administration (Credits: 2)

This course is intended for second year B.Tech students, who wish to improve skills through hands-on experience in network administration. This course is a follow up of the course on System Administration. Students', who successfully complete these courses, will be offered part-time work for System and Network Admin in the institute and will be expected to work for at least two semesters.

CSE234 : Computer Architecture and Operating Systems (Credits: 4)
The overall objective of this course is to provide a comprehensive overview of the basic features of a computer. It puts together basic computer organization, systems software and operating systems. The course lays the basis for more advanced topics in computer science, both hardware and software.
CSE300 : Software Engineering (Credits: 4)

A one-semester undergraduate level course in software engineering focusing on cloud computing, software as a service (SaaS), and Agile development using Extreme Programming (XP). The course curriculum takes advantage of the fact that Agile + SaaS + Cloud has not only revolutionized software, but made it easier and more effective to teach. The course will cover topics such as: SaaS, SOA, Cloud, Agile methodology, Plan and Document, Pair Programming, SCRUM, Test Driven Development, Behavior Driven Design and User Stories, Lo-Fi User Interface Sketches and Storyboards, 3-Tier Architecture & Horizontal Scaling, Rails Basics, Software Processes and Development Lifecycle, Design Patterns and Project Management.

CSE301/CSE601 : Compilers (Credits: 4)

The course covers principles of compiler design including introduction to compiler technology, overview of compiler followed by in depth study of various phases and component of compilers including lexical analysis, syntax analysis, semantic analysis, intermediate code generation, run time environment as well as machine code generation and optimization. The student will learn writing a complete working compiler in a modular fashion through intensive lab assignments and will be exposed to some advanced topics in compilers .

CSE304 : Practice of Programming (Credits: 4)

This course focus on programming techniques related to the most important activities of software development, namely, low level design, coding, debugging, and testing. In particular, the course would emphasize on techniques that would enable the students to write high-quality code for large and complex software. The techniques would be essential to achieve the required level of scalability as well as quality associated with the correctness, security, dependability, performance, portability, and maintainability of programs.

CSE312/CSE512 : Sensing Systems and Data Analytics in Building Energy Management (Credits: 4)

This course is designed to allow students to put together an end-to-end system involving software development, hardware design, data collection and data analytics for the upcoming research domain of Cyber Physical Systems (or Internet of Things as some people would prefer to call it). Specifically, the course focusses on Building Energy Consumption within the broader perspective of Cyber Physical Systems.

CSE319/CSE519 : Modern Algorithm Design (Credits: 4)

The field of algorithm design has matured and grown in scope over the last sixty years - starting with the basic algorithmic questions of sorting and searching, to algorithms for problems from various disciplines; so that neary every field of human endeavour is being revolutionized by the algorithmic viewpoint. Students of this course will learn to use these modern tools irrespective of their future field of study or specialization.

CSE320 : Advanced Algorithms (Credits: 4)

Discrete optimization problems form the basis of solutions to problems in several areas of computer science, operations research and economics. The work-horse of discrete optimization is integer and linear programming. The course will introduce the theory of linear programs, as well as algorithms for solving them. We will then look at fundamental discrete optimization problems, study LP based techniques, as well as specialized combinatorial algorithms for solving these problems. We will also briefly cover integer programming and techniques to solve them. Students may be required to write a survey paper, or do a research project.

CSE322 : Theory of Computation (Credits: 4)

The course gives an overview over basic formal grammars and abstract machine models used in Computer Science. In particular, finite automata, pushdown automata, context-free grammars and Turing machines are studied with respect to their properties and limits. Based on Turing machines the concepts of decidability and recursive enumerability are introduced.

CSE333/533 : Computer Graphics (Credits: 4)
Pre-requisite: MTH100 , CSE101 , CSE201 , CSE102 ,CSE222

This course will provide basic concepts of computer graphics including necessary mathematics and algorithms. Primary focus of this course will be to understand the basics of 2D/3D rendering. The course will also cover various aspects of the rendering pipeline and realistic image synthesis using raytracing. The standard shader based OpenGL rendering API will be introduced, and used with lab exercises, assignments, and projects. The students will learn building complete graphics systems through projects.

CSE340/CSE540 : Digital Image Processing (Credits: 4)
Pre-requisite: MTH100 ,MTH201

Course includes fundamental theories and algorithms of digital image acquisition, color representation, sampling and quantization, frequency transform via DFT, enhancement, filtering, restoration, analysis, feature extraction, segmentation, morphological transform, and compression. Practical applications such as JPEG compression will be covered.

CSE341/541 : Advanced Biometrics (Credits: 4)
Pre-requisite: MTH201

This course will introduce advanced topics in biometrics to students. The course 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.

CSE342/CSE542 : Pattern Recognition (Credits: 4)
Pre-requisite: MTH201

This course will introduce students to salient topics in pattern classification. 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/CSE543 : Machine Learning (Credits: 4)
Pre-requisite: MTH100 , MTH201 , CSE101 ,MTH203

This is an introductory course on Machine Learning (ML) that is offered to undergraduate and graduate students. The contents are designed to cover both theoretical and practical aspects of several well-established ML techniques. The assignments will contain theory and programming questions that help strengthen the theoretical foundations as well as learn how to engineer ML solutions to work on simulated and publicly available real datasets. The project(s) will require students to develop a complete Machine Learning solution requiring preprocessing, design of the classifier/regressor, training and validation, testing and evaluation with quantitative performance comparisons.

CSE344/CSE544 : Computer Vision (Credits: 4)
Pre-requisite: MTH100

This is an introductory course on Computer Vision offered to undergraduate and graduate students. The goal is to develop understanding of the fundamental concepts in computer vision and enable students to understand and develop applications using existing tools. Students will be given theoretical and programming assignments targeted towards solving real-world computer vision problems. Groups of two or three will do a course project and show a demonstration at the end of the semester.

CSE345/CSE545 : Foundations of Computer Security (Credits: 4)

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 Threat modeling; ACL mechanism, Access control list; Access Control; Matrix Types of ACL; network security, including cryptography and cryptographic protocols, firewalls, and network denial-of-service attacks and defenses; Crime-ware addressing issues like phishing, malware, social engineering; Auditing; Multilevel and multi-lateral security Information flow control, MAC, MLS; Security protocols. More advanced topics will additionally be covered as time permits, such as: Program Security; techniques to provide privacy in Internet applications; and protecting digital content (music, video, software) from unintended use.

CSE350/CSE550 : Network Security (Credits: 4)
Pre-requisite: CSE231 ,CSE232

Network security complements Security Engineering (CSE352/552) class. While Security Engineering focuses on host centered security postures, issues, and ptential defenses. Network Security approaches computer security from the point of view of network traffic flowing between communication peers, viz. confidentiality, system availability, authenticating and authorizing user accessing a networked service, access controls, anonymity and privacy.

CSE421/CSE621 : Complexity Theory (Credits: 4)

Computational problems can be studied from the point of view of computational resources (e.g., running time) required to solve them - this forms the notional of computational difficulty. Apart from the nature of the problem, the difficulty also depends on the underlying model of computation, including non-deterministic, non-uniform and randomized models. Problems can be related to each other based on their resource usage, and problems with similar difficulty can be grouped together to form a classification of computational problems into complexity classes. Computational complexity is about studying the above concepts, and is especially concerned with giving precise upper and lower bound on the amount of resources required to solve certain problems. This has had a profound impact on current algorithm design and cryptography, and still sees applications in areas outside of theoretical computer science.

CSE440 : Intelligent Systems I (Credits: 4)

The development of intelligent software systems is an area that is becoming increasingly important in applied Computer Science. The goals of this course are to enable students: (a) to understand the basic concepts and techniques underlying classical Artificial Intelligence, namely problem solving, search, representation and reasoning, decision making and learning; and (b) to read and to write programs in the Prolog programming language to help understand these concepts better.

CSE441 : Advance Biometrics (Credits: 4)
Pre-requisite: CSE340/CSE540

The course will utilize the concepts studied in Image Analysis and Pattern Recognition/Machine Learning courses. Project work will involve the implementation of advanced biometric algorithms pertaining to the face, fingerprint, iris, and multimodal modalities.

CSE501 : Designing Human-Centered Systems (Credits: 4)

Why are things so hard to use these days? Why does not this thing I just bought work? Why is this web site so hard to use? Why are users not liking my design? Why is my app not getting popular? These are frustrations that we have all faced from systems not designed with people in mind. The question this course will focus on is: how can we design human-centered systems that people find useful and usable? This course is an introduction to designing, prototyping, and evaluating user interfaces. If you take only one course in Human-Computer Interaction, this is the course for you. This course is heavily inspired by the course that Prof. Jason Hong teaches at CMU, Designing Human-Centered Systems.

CSE502 : Foundations of Parallel Programming (Credits: 4)
Pre-requisite: CSE101 , CSE102 ,CSE201

Constrained by the heat and power usage, today all computing devices are composed of multicore processors, with little or no increase in clock speed per core. In order to harness the power of the multicore processors, software applications being developed also needs to be parallelized. This makes parallel programming a very important paradigm of computing.This course introduces the fundamentals of parallel programming. It will cover both traditional approaches and new advancements in the area of parallel programming. A key aim of this course is to provide hands-on knowledge on parallel programming by writing parallel programs in different programming models taught in this course.

CSE503 : Program Analysis (Credits: 4)
Pre-requisite: CSE102 ,CSE201

This course will focus on static and dynamic program analysis techniques that can be used to perform tasks such as program verification, profiling, optimization, repair, and comprehension. The students will learn the concepts behind the techniques, and will apply their learning to develop analyses using the state-of-art tools. Ensuring program correctness can be very challenging. Programmers depend on testing to build some confidence in the expected behavior of programs. Although testing is essential, the complexity as well as the criticality of modern software demands more rigorous techniques, in addition to testing, to ensure software correctness. The properties that programs need to satisfy vary from safety properties to security properties and in terms of expressiveness from simple predicates that check the program states at specific execution points to regular expressions and context-free grammars that check the legality of traversed program paths. In this course, we will focus on program verification and the students will learn about static analysis techniques, i.e., the techniques that can be applied to programs without running the programs as well as about dynamic analysis (or runtime monitoring) techniques that analyze programs during runtime. The students will learn about the strengths and weaknesses of both techniques. In the static analysis, we will primarily focus on dataflow analysis, and learn about some standard analyses that are used in program verification and optimization. However, the course will also introduce students to some advanced static analysis topics such as symbolic execution, and will cover some topics related to security analysis. We will primarily use Java as programming language and "Soot" as a static analysis tool. In the dynamic analysis part, the students will learn to specify properties of interest mainly using regular expressions and finite state automata, and use aspects to build runtime monitors to check those properties. In the process, they will learn to develop “aspects” to instrument and monitor programs.

CSE506 : Data Mining (Credits: 4)
Pre-requisite: CSE202 , CSE101 , MTH100 ,MTH201

Data mining aims at finding the useful patterns in large data sets. Interest in the field is motivated by the growth of computerized data collection due to ubiquity of Internet enabled devices. This course will cover a set of techniques designed to be used for finding interesting patterns from the data. The techniques include classification, clustering, association rule minin and sequence mining. Students will learn and use the open source R statistical software, see http://www.r-project.org, and machine learning packages such as Weka in this course.

CSE507 : Database System Implementation (Credits: 4)
Pre-requisite: CSE102 ,CSE202

This course covers topics relating to components of a Database System including file structures, access methods, query processing and optimization, transactions, concurrency control, recovery, distributed databases, security and some trend topics (e.g., distributed databases, spatial databases, etc.)

CSE508 : Information Retrieval (Credits: 4)
Pre-requisite: CSE201 , CSE102 ,CSE202

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 also be discussed.

CSE510A : Big Data Analytics (Credits: 2)
Pre-requisite: CSE102

Distributed processing frameworks have emerged as a feasible and cost effective way of analyzing the increasing volume of data. This course provides a solid understanding of two of the most popular of distributed processing frameworks - Hadoop and a more recent incarnation called Spark. Examples and hands-on exercises will prepare those taking this course to be able to apply these frameworks in practice.

CSE511 : Computer Architecture (Credits: 4)

This course forms a strong foundation in the understanding and design of modern computing systems. Building on a computer organization base, this course explores techniques that go into designing a modern microprocessor. Fundamental understanding of computer architecture is key not only for students interested in hardware and processor design, but is a foundation for students interested in compilers, operating systems, and high performance programming. This course will explore how the computer architect can utilize the increasing number of transistors available to improve the performance of a processor. Focus will be given to architectures that can exploit different forms of parallelism, whether they be implicit or explicit. This course covers architectural techniques such as multi-issue superscalar processors, out-of-order processors, Very Long Instruction Word (VLIW) processors, advanced caching, and multiprocessor systems.

CSE521 : Logic for Computer Science (Credits: 4)
Pre-requisite: CSE322

This courses introduces formal logics and their applications in computer science. The logics considered in detail are Propositional Logic and First Order Logic for which the concepts of syntax, semantics, satisfiability, validity, and logical deductions are clarified. Proof systems and logic algorithms are studied. Applications within Computer Science are illustrated.

CSE522 : Verification of Reactive Systems (Credits: 4)
Pre-requisite: CSE322

The course introduces abstract models for concurrent, reactive, non-terminating systems which are used for verification purposes. Various concepts of correctness in terms of equivalence or compliance with formal properties expressed in a temporal logic are considered. Algorithm verifying equivalence or compliance are analysed with respect to their complexity. During the second part of the course the students will use software tools to verify simple systems.

CSE523 : Randomized Algorithms (Credits: 4)
Pre-requisite: CSE102 , CSE121 ,MTH201

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 : Theory of Modern Cryptography (Credits: 4)
Pre-requisite: MTH201 ,CSE121

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 amp; 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.

CSE525 : Introduction to Graduate Algorithms (Credits: 4)

This course is an advanced form of an introductory algorithms course, and is meant to have a thorough grounding in core Algorithms required for pursuing PG degree in Computer Science. The course covers topics such as asymptotic notation, recurrence relation, graph algorithms, heaps, dynamic programming, greedy algorithms, divide and conquer, NP-completeness where the UG contents of each topic is first reviewed (in a fast-paced manner), and is followed by some advanced content.

CSE528A : Convex Optimisation (Credits: 2)
Pre-requisite: CSE344/CSE544

This short course is to introduce students (final year UG+ PG) to the world of optimisation, specifically through convex problems. Knowing which problems are Convex will help them to quickly decide on various tools available to solve them. They will also learn about various problems in domains of signal processing, machine learning and communications.

CSE530 : Distributed Systems Security (Credits: 4)
Pre-requisite: CSE231 ,CSE232

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.

CSE531 : Multi-agent systems (Credits: 4)

Multi-agent systems is the study of interaction between multiple self-interested agents. The aim of this course is to provide an introduction to multi-agent systems, methods and algorithms to analyze several such systems under different settings. In particular, this course focuses on Game theory - cooperative and non-cooperative games, auctions and negotiation based methods. The multi-agent system techniques are general and have wide range of applications like e-commerce, robotics, health management, etc. The main application domain for this course is multi-robot systems.

CSE535 : Mobile Computing (Credits: 4)

The course prepares and trains the students to program mobile devices with understanding on constaints and opportunites that mobile devices offer. This course will cover challenges in mobile systems. It will also cover latest research in the field of Mobile Computing.

CSE538 : Wireless Networks (Credits: 4)

The course provides an in depth introduction to the state-of-the-art modeling of wireless networks, their simulation, and experimentation.

CSE541 : Advance Biometrics (Credits: 4)

The course will utilize the concepts studied in Image Analysis and Pattern Recognition/Machine Learning courses. Project work will involve the implementation of advanced biometric algorithms pertaining to the face, fingerprint, iris, and multimodal modalities.

CSE546 : Applied Cryptography (Credits: 4)
Pre-requisite: CSE121

In this course on Applied cryptography, we will learn about the following topics:

  1. Security notions, adversary powers, Perfect security
  2. Stream ciphers, block ciphers, hash functions
  3. Message authentication
  4. Public key cryptography
  5. Some interesting Cryptograhic protocols

Some mathematics will be required, and will be taught as needed. No background is necessary. Interest in mathematics and theoretical computer science is a prerequisite.

CSE552 : Security Engineering (Credits: 4)
Pre-requisite: CSE231

This course is designed to present the students a "host" centric approach to various aspects of computer software security. Broadly, the course would cover: Traditional multi-level security models (Bell La-Padula, Biba etc.), access controls, security in traditional computer programs and attacks against them (buffer/heap overflow attacks), defences against such attacks, writing secure programs (Secure Coding), Viruses/Malware and Trojans, OS level hardening, application and system level security primitives and APIs, cryptographic system primitives and APIs (how to (not) use (and break) them), system level authentication frameworks, introduction to allied topics-IDS, network security etc.

CSE555 : Introduction to Spatial Computing (Credits: 4)
Pre-requisite: CSE202 ,CSE102

This course introduces fundamental ideas underlying geo-spatial science, systems and services. These include spatial concepts and data models, spatial query languages, spatial storage and indexing, query processing and optimization, spatial networks and spatial data mining.

CSE556 : Natural Language Processing (Credits: 4)

This course will cover a broad range of topics related to NLP, including basic text processing (such as tokenization, stemming), language modeling, morphology, syntax, dependency parsing, distributional and lexical Semantics, sense disambiguation, information extraction etc. We will also introduce underlying theory from probability, statistics, machine learning that are essential to understand fundamental algorithms in NLP such as language modeling, HMM etc. This course will end with more advanced topics in NLP such as stylometry analysis, sentiment analysis, named-entity disambiguation, machine translation etc. The term projects will provide opportunity to the students to get hands-on experience on designing different real-world NLP models.

CSE560 : GPU Computing (Credits: 4)
Pre-requisite: CSE101 ,CSE102

This course will introduce parallel computing paradigms with focus on GPU programming to harness the massively parallel GPU architecture in solving computationally demanding tasks. The NVIDIA CUDA and industry standard OpenCL frameworks will be introduced and used with most of the labs. This is a project based course where the students will work on scientific computational problems.

CSE561 : Probabilistic Graphical Models (Credits: 4)
Pre-requisite: MTH201

This course will introduce the basic concepts of probabilistic graphical models. Graphical Models are a unified framework that allow to express and manipulate complex probability distributions in a compact and efficient way. They allow to one to reach mathematically sound conclusions in presence of limited and noisy observations. Many machine learning applications are tackled by the use of these models.

CSE562 : Advanced Computer Vision (Credits: 4)

This course will cover advanced topic in computer vision. We will examine data sources, features, and learning algorithms useful for understanding and manipulating visual data. The emphasis will be on scalability issues as well as acquiring the knowhow to work on interdisciplinary problems. The goal of this course is to give students the background and skills necessary to perform research in computer vision and its application domains such as robotics, healthcare, and forensics. Students should understand the strengths and weaknesses of current approaches to research problems and identify interesting open questions and future research directions.

CSE563 : Multimedia Computing and Applications (Credits: 4)

By the end of the course, the students will be familiar with the common computing fundamentals employed in a variety of multimedia and social media applications such as content-based multimedia processing, mining, retrieval and summarization, multimodal-based semantic and sentiment detection, and recommendations on social networks. The students will be exposed to the core techniques and algorithms spanning across the common and emerging multimedia applications such as the analysis of social media contents, users and their social relationships, and multimodal semantic and sentiment analysis. They will have experience in applying these techniques to novel situations and will be able to do analytical as well as empirical performance evaluation of the particular technique in the overall application context.

CSE565 : Software Defined Networking (Credits: 4)
Pre-requisite: CSE232

Traditionally, networking equipments consists of proprietary switching hardware with embedded software. This not only made manageability of networks complex but also stymied innovation. SDN paradigm proposed to change this, primarily by separating networking software into data and control planes. The data plane's goal is to do switching in distributed hardware equipments. The control plane centrally governs what will be the switching rules at the data plane. As the control plane is separated from the switching hardware, it is easier to change its software, thereby speeding up software development cycle and in turn lowering the barrier for innovation. The separation of planes and centralization of control plane simplifies manageability of networks. In addition to these two benefits, SDN also facilitates network virtualization, which is a key enabler Cloud Computing. In this course, we will begin by getting familiarized to the aforementioned functions in the traditional networks. We will then learn how SDN changes the way networks will function now. We will look at open source technologies that enable deployment of SDN on real hardware and in simulation. We will see how all of networking functions, e.g. switching, routing, firewall, load balancers, and VPN, are instrumented in the new paradigm. We will explore SDN via lectures from the instructor, assignments, presentations of research papers by students, and a course project.

CSE570 : Virtual Reality (Credits: 4)

This course will introduce fundamentals of virtual reality (VR) systems. This will include fundamentals of real-time rendering, geometric modelling, display optics, sensors and tracking, vestibular systems and interface design. Advanced areas of VR including telepresence, procedural modelling of large virtual worlds, and designing multi-model interactions and interfaces for VR will also be discussed. This will be a project-based course using game engine based VR development.

CSE576 / ECE576 : Smart Sensing for Internet of Things (Credits: 4)

This course will introduce students to sensors and sensing systems that are in the "real-world" and are increasingly connected to the internet and are accessible via web technologies. The objective of the course is to understand IoT sensing systems, protocols, and technologies. An integral part of the course will be a IoT project that the students will have to design, build and demonstrate. The final project will span the full research cycle - from problem formulation to obtaining & analyzing results to paper writing.

CSE577 : Advanced Internet of Things (Credits: 4)

This course will be dealing with advanced topics in Internet of Things. This course is a sequel of the Internet of Things course which introduced students to basics of foundational IoT technologies. This course delves deeper into some of the technologies pertinent to IoT. Students are expected to learn by implementing protocols etc. in their programmming assignments. They will be exposed to some of the latest research findings in IoT and expected to perform thought exercises by writing research project proposals extending the frontiers of current IoT research. Finally, students will implement working prototypes of IoT systems inspired by algorithms proposed in research papers.

CSE5OM : Ontology Modelling (Credits: 4)

Knowledge Graphs (semantic descriptions of entities and their relationships) are heavily used in knowledge enabled applications across several domains such as life science, geoscience, healthcare, Internet of Things, smart cities etc. Commercial enterprises such as Google, Microsoft, Amazon, LinkedIn, IBM, GE, Siemens, Accenture, etc., use knowledge graphs in several of their applications. Ontologies encode knowledge of a domain in a machine processable form and act as the schema for the data in the knowledge graphs. In this course, we will learn how to design ontologies to capture domain knowledge and use them to power intelligent applications.

CSE5SD : Systems Analysis, Design and Requirements Engineering (Credits: 4)

System analysis, design and requirements engineering course deals with planning the development of software systems through analysing, understanding, specifying and designing the different components of the software system and how they work together. Software development teams usually solve business problems through analyzing the requirements and designing systems by applying analysis and design techniques. This course deals with the concepts, skills, taxonomies, techniques, theories, and cognitive perspectives essential for the same.

Students would understand various theories of software engineering and apply them in analyzing and designing software systems. Requirements derived will be used to develop abstraction of user-centered designs at conceptual level with focus on human psychological (cognitive) aspects. Emphasis is mainly placed on the various software engineering process theories and taxonomies that would help explain and understand (and sometimes predict) how and when an (SE) entity changes and develops.

CSE5TAC : Topics in Adaptive Cybersecurity (Credits: 4)
Pre-requisite: CSE345/CSE545 ,CSE350/CSE550

This course focuses on providing students an interactive discussion based learning platform for exploration of topics in adaptive cyber security. The learning will be through instruction, course project and more importantly through discussions on student(s) presentation of assigned research papers. The instruction part of the course will cover basic contents required to understand the course materials, including topics such as threat intelligence, situational awareness and real-time adaptive security. Through this course, students can learn the state of the art and open problems in adaptive cyber security, thus enhancing their potential to perform research or pursue a career in this emerging area.

CSE5xx : Approximation Algorithms (Credits: 4)

A large number of scenarios arising in communication, transportation, e-commerce, logistics etc. can be modeled as combinatorial optimization problems. Since most of these problem are NP-hard, one needs to design heuristics which run fast and find sufficiently good solutions. The goal of this course is to introduce a systematic study of such heuristics, called approximation algorithms, and develop a mathematical tool kit to analyze their worst case performances. The lectures also cover some barriers to approximability of problems.

CSE5xx/ECE5xx : Reinforcement Learning (Credits: 4)

The course will introduce reinforcement learning as an approximate dynamic programming problem. We will consider exact versions of value and policy iteration, followed by approximations based on gradient methods, temporal difference based methods, and last but not least, simulation based methods like Q-learning.

CSE600A/ECE600A : Object Oriented Programming and Design (Credits: 2)

It is a 2 credit postgraduate level core course in advanced object oriented programming, designed to improve programming skills, and ability to use contemporary software development practices and tools. The course curriculum focuses on large software development, collaborative development environment, automatic testing and deployment, common libraries and continuous integration. It also aims to enhance the quality of design in terms of scalability and maintainability with design principles and design patterns. Along with course, students get an opportunity to learn development tools like IDEs and common frameworks.

CSE601 : Compilers (Credits: 4)
Pre-requisite: MTH100 , CSE101 ,CSE201

The course covers principles of compiler design including introduction to compiler technology, overview of compiler followed by in depth study of various phases and component of compilers including lexical analysis, syntax analysis, semantic analysis, intermediate code generation, run time environment as well as machine code generation and optimization. The student will learn writing a complete working compiler in a modular fashion through intensive lab assignments and will be exposed to some advanced topics in compilers.

CSE602 : Program Optimization (Credits: 4)

With the emergence of many new computing platforms such as multi-core, GPUs etc. automatic program optimization has taken on a renewed importance. In this course, students will analyze programs and find and leverage opportunities to improve performance, memory footprint, locality etc. The course will cover optimizations such as redundancy elimination, code scheduling, vectorization, data layout and parallelization. A course project using state-of-the-art tools will give students hands-on experience in this area.

CSE606 : Data Warehousing (Credits: 4)

The international market for Business Intelligence and Data warehouse is increasing rapidly and is currently estimated to be in hundreds of billion of US dollars. A number of Indian companies, even in NCR of Delhi, are already carrying out projects in the area. Yet, there is an acute shortage of skilled human resources in the subject and the course attempts to plug this gap. Students will be taken over the development life cycle of a data warehouse starting from requirements engineering, systems design and implementation phases. The application environment in which a data warehouse is embedded shall be brought out so that the value of the new technology is clearly discernable. The course will use open source tools for development.

CSE609 : Statistical Computation (Credits: 4)
Pre-requisite: MTH201

The objective of this course is to provide knowledge about concepts and methods of statistical analysis. Data can be generated by machine or manually collected during surveys. All kinds of data-sets need analysis to the point such that we can make conclusions about the trend in the data. Hence statistical modelling and inference is often needed. Recently multiple kinds of statistical modelling approach have been suggested. Some statistical methods have been implemented as tools while some are implemented by users according to need of data-analysis. This course would provide the basics of statistical inference and methods introducing some computational techniques to perform modelling of systems. Through this course student will also learn about weakness and strength of such statistical modelling methods which could guide them to distinguish or develop suitable analysis techniques.

CSE622 : Introduction to Quantum Computing (Credits: 4)
Pre-requisite: MTH101 , MTH201 ,CSE222

This is an introductory course about designing solutions for computation problems using the quantum computing models. It has been shown that these models allow us to solve certain problems more efficiently compared to classical platforms (like Digital circuits or Turing machines). On the other hand, there are certain scenarios where this model is siimlar or even worse than classical platforms. In this course a student will learn about the models and interesting solutions (circuits, algorithms) for some problems from the perspective of computer science. The first half of the course will introduce the postulates of quantum computing, operations and operators and basic structure of circuits and algorithms on the circuit model and the Turing machine model. We will also cover some simple but amazing solutions like quantum teleportation, super-dense coding and Deutsch-Jozsa algorithm. The second half of the course will cover important algorithmic tools like the quantum Fourier transformation, amplitude amplification and eigenvalue estimation and discuss important algorithms like Grover's search, Shor's factoring, BB84 protocol which bring significant efficiency compared to classical algorithms. Depending upon time and interest, some recent advances will be covered. Students may have to read a recent/classical research paper and/or simulate some of their algorithms and circuits on some quantum circuit simulator (e.g., Microsoft LIQUi simulator) to get a better feel about the system.

CSE631 : Advanced Operating Systems (Credits: 4)

The objective of this course is to study existing approaches for building an OS kernel. We aim to discuss monolithic kernels, lightweight kernels, embedded OS, distributed OS, etc. We will discuss the pros and cons of each of these design decisions. We will see how modern languages play a crucial role in designing the end to end software stack. Students are expected to read research papers before the class discussions.

CSE633 : Robotics (Credits: 4)

The goal of this course is to provide comprehensive knowlege is robotic from theory to implementation. The course will cover transformations, planning in discrete and continuous spaces, collision avoidance, localization, and vision-based control. We will use ROS as the software platform on which the simulations will be carried out and the projects can be carried on hardware. ROS allows seemless integration from simulation to real-world implementation.

CSE635 : Programming Cloud Services for Mobile Applications (Credits: 4)
Pre-requisite: CSE231 , CSE232 ,CSE535

Mobile and Cloud Systems are evolving very fast and have now become very complex system comprising of web services, database integration etc. A knowledge of Cloud Mobile systems and ability to build complete end-to-end systems is essential. Building upon the foundations of mobile computing course, this course aims to provide a thorough understanding of Cloud Mobile systems and also develop capability to build end-to-end systems using a combination of web technologies e.g. JSON, NoSQL databases, REST, HTTP, OAuth etc.

CSE638 : Wireless Networks (Credits: 4)

A brief introduction to different applications and their requirements in terms of typical metrics of interest like throughput and delay is followed by lectures on the wireless channel and physical layer (OSI layer 1) technologies, with emphasis on their abstractions as relevant to understanding OSI layers 2 and above in 802.11 like wireless networks. Medium access techniques, for example, as specified in 802.11, a distributed network of nodes (for example, a network of vehicles or sensors in a field) can use to share the wireless medium are taught. Power and rate control, spatial reuse, self-organization, and scheduling in ad hoc wireless networks are taught. Time permitting common routing protocols and TCP over wireless are covered. Most topics involve a mix of analysis and experimentation.

CSE640 : Collaborative Filtering (Credits: 4)
Pre-requisite: MTH100

Recommender systems have around for sometime. But in recent times with the boom of retail online trade recommendation systems and the hype around the NetFlix competition has made recommender systems a major topic in data mining. In this course we will learn about different aspects of recommender systems with particular emphasis on its algorithms.

CSE641 : Deep Learning (Credits: 4)

Recent advances in machine learning and specifically deep learning techniques have made it a popular and often a default option in many problem domains. The objective of this course is to introduce students through some of the latest techniques in deep learning. The focus of the course will be hands on and the students should be able to design intelligent deep learning systems for solving the problems in the area of their interests.

CSE642 : Advanced Pattern Recognition and Machine Learning (Credits: 4)
Pre-requisite: CSE342/CSE542 ,CSE343/CSE543

This is an advanced course on Pattern Recognition and Machine Learning. It is intended for senior undergraduate and graduate students who already have background in PR or ML. The course is designed as a set of special topics that will be covered through research papers and books. The course will focus on algorithms and models along with providing a good perspective of different real world applications.

CSE643 : Artificial Intelligence (Credits: 4)
Pre-requisite: CSE102

This is an introductory course in Artificial Intelligence. This course introduces the students to various search techniques, knowledge representation, reasoning, and learning.

CSE645 : Digital and Cyber Forensics (Credits: 4)

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

CSE650 : Privacy in Location-based Services (Credits: 4)
Pre-requisite: CSE102

Personalised services for mobile devices are currently hot on wheels due to the ubiquity of these devices and the increasing popularity of personalised services. The most popular form of these services enable us to obtain information on-the-go, information which depend on the spatio-temporal location and the identity of the requesting user. No wonder these services have caught the fancy of global population, and currently, there are many commercial ventures engaged in large business around the world. On the other hand, privacy advocates claim that such services come with an inherent risk of privacy breach in the sense that service is provided based on private information. This course will focus on issues related to these risks of privacy breach from various perspectives such as privacy threats in location based services, different computational notions of privacy, mechanisms to mitigate privacy attacks, tradeoff in privacy and utility in different types of location based services, database algorithms to execute private queries.Students will be assigned some papers each week which they have to present as well as review and implement.

CSE694F : Multimedia Security (Credits: 4)
Pre-requisite: CSE340/CSE540 ,ECE350

Media Security course introduces the multimedia fundamentals and security related issues such as rights protection, authentication, traitor tracing, forensics, adversarial signal processing, covert communication and surveillance. Overview of different aspects of multimedia security and compression techniques, architectures and standards will be discussed. Some of the course topics are information hiding and its applications, media compression, robustness analysis, encryption, passive forensics, source identification, multimedia signatures and egocentric video forensics, adversarial signal processing, Discrete Fourier/Wavelet Transform, electrical network frequency estimation, visual surveillance, steganography and steganalysis.

CSE734 : Advanced Topics in Mobile Computing (Credits: 4)
Pre-requisite: CSE231

Mobile Computing research is progressing at a fast pace. While the initial research challenges were about enabling "information anywhere, anytime", we have largely achieved that aim today with mobile devices providing ubiquitous email and web access. With initial goals achieved, mobile computing research now routinely involves use of several other technologies, e.g. cloud computing, sensing and activity inference, opportunistic communications, etc. to create the next-generation mobile computing systems. In this course, through latest research papers, several of these technologies, e.g. external sensor integration, power consumption and analysis, cross-platform applications etc., are studied.

CSE749 : Network Anonymity and Privacy (Credits: 4)

Overview of topics to be covered: Historical network anonymity and privacy protocols ndash; MIXes and MIXnets, various theoretical and practical attack strategies against high and low-latency anonymity networks, practical traffic analysis against modern anonymity systems like Tor, Freenet, GNUnet, JAP, defenses against traffic analysis attacks, performance vs anonymity trade-offs, side-channel attacks, covert channel communications, pseudonymity and privacy, Anonymous P2P communication systems (e.g. Oneswarm), traffic analysis against anonymous VoIP communications, Internet censorship and censorship resistance tools and strategies, large-scale Internet surveillance and anti-surveillance, decoy routing.

Course structure:
Good part of the first half of the class (about 5 weeks) would involve the instructor giving lectures to students in topics pertinent to the research areas. The remainder of the classes would involve the students presenting relevant papers (of their choice) to everyone in the class. Students (other than the presenter) would be expected to participate in productive discussion about to various challenges of the research topic being discussed. Moreover every week, each student would be expected to submit a weekly write-up which would mostly be either a review or critique of a paper, or some design questions, relevant to the topics covered in the class (e.g. what do you think could be vulnerabilities in the XYZ system that the authors didnrsquo;t mention upfront in the paper and could you suggest ways to defend the system against those vulnerabilities). There would be a mid-term where the students would be tested on topics covered during the lectures. For finals, the students would be expected to write a survey paper, reviewing several papers on a chosen topic.

CSE793A : Topics in Cryptanalysis (Credits: 4)

This course aims for analyzing the security of various cryptosystems. The course will befocusing mainly on the fundamentals of cryptanalysis techniques as mentioned: Differential Cryptanalyis; Linear Cryptanalysis; Meet in the Middle Attack; Rebound Attack; Time-Memory Trade-off Attack; Hash function attacks (Damgaard's MD4 attack, Wang's attack on MD4, MD5, SHA-1); Attacks against RSA, Number Field Sieve; Side channel attacks (Cache timing, Fault attacks, Memory remanence); Algebraic attacks; Quantum Attacks (Shor's algorithm, Grover's algorithm) etc.

CSE798B : Special Topics in Database Management: Algorithms in Spatial Databases (Credits: 4)
Pre-requisite: CSE102 , CSE202 ,CSE201

This course introduces algorithms in spatial databases dealing with storing, retrieving, and reasoning over objects with spatial attributes. The most widely used spatial attribute of a spatial object is its location. Spatial objects may also have extent, such as a line segment or a polygonal area. This course covers index structures and algorithms for solving queries such as NN, RNN, Aggregate NN, Aggregate RNN, Spatial Join, and Skyline Queries.

CSExxx/DESxxx : Introduction to Media Computing (Credits: 4)

This course introduces students to:

  1. The fundamental principles, theory, algorithms, and data structures behind digital representation, compression, synchronization, and processing of image, audio, and video data types, and
  2. Challenges and issues in developing media-rich applications, such as media streaming and media retrieval. Students will be exposed to the workings of common media file format and common manipulation techniques on media data.

ECE Courses

CSE111/ECE111 : Digital Circuits (Credits: 4)
Pre-requisite: ECE113

Introduction to Digital Circuits. The aim of the course is to get the students thrugh the process of Digital Circuit Design after introducing the students to signal representation,Boolean Algebra, Logic Gates and Design with Logic Gates. Give them the awareness of Combinational and Sequential Circuits and their Design approaches. The students will be exposed to Pipelining concepts and an introduction to Semiconductor Memories.

CSE536 / ECE580 : Robotic Systems (Credits: 4)

This is an online course offered by University of Pennsylvania (UPenn) as part of robotics specialization in coursera . The course will have three modules - Perception, Estimation and Learning, and Aerial Robotics. Each module lasts for 4 weeks. The course will have a project using robots (simulated or hardware) which is monitored at IIITD. In the Aerial robotics module, the basics of quadrotor flying and how to control it are the main components. In the perception module, some essential elements of computer vision applied to aerial robots are taught, while in estimation and learning module - designing estimation filters for localization and mapping along with their implementation are taught. Each module has several assignments.

ECE112 : Computer Organization (Credits: 4)

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.

ECE113 : Basic Electronics (Credits: 4)

The course introduces the topics of

  • (a) Circuit elements - active, passive, time-variant, time - invariant, linear, non-linear, unilateral, bilateral;
  • (b) Sources - independent and dependent;
  • (c) Electric circuit and analysis - Ohm's law, Kirchhoff's laws, loop and node analyses, limitations of lumped circuit analysis;
  • (d) Network theorems - Superposition, Thevenin, Norton, Maximum power transfer;
  • (e) Natural and forced responses to DC excitation - RL, RC and RLC circuits; Sinusoidal steady state analysis;
  • (f) Designing basic circuits using operational amplifiers;
  • (g) Basic circuits using diodes

ECE214 : Integrated Electronics (Credits: 4)
Pre-requisite: CSE111/ECE111 , ECE113 ,DES130

The course focuses on building the ability to analyze and design electronic circuits. This course starts with an overview of semiconductor technology. Subsequently it covers Bipolar Junction Transistor (BJT), Small Signal BJT models, BJT based amplifiers, Metal Oxide Field Effect Transistors (MOSFET), Small Signal MOS models, MOSFET based amplifiers; and analog and digital circuits and applications. Design and lab exercises are also significant components of the course.

ECE215 : Circuit Theory and Devices (Credits: 4)

This course intends to develop problem solving skills and understanding of circuit theory through the application of techniques and principles of electrical circuit analysis to common circuit problems. Subsequently, most common aspects such as filter realization and stability will be elaborated through frequency response analysis, feedback topologies etc. Broadly, the goals of the course are to inculcate understanding of: (a) waveforms, signals, transient, and steady-state responses of RLC circuits, (b) the ability to apply circuit analysis to AC circuits, and (c) advanced mathematical methods such as Laplace and Fourier transforms along with linear algebra and differential equations techniques for solving circuits problems.

ECE230 : Fields and Waves (Credits: 4)
Pre-requisite: MTH100

This is an introductory course to electrodynamics (along with electrostatics and magnetostatics). This course will serve as a foundational course for students interested in working in RF and micro-wave, millimeter wave and optical systems.

ECE240 : Principles of Communication Systems (Credits: 4)
Pre-requisite: ECE250 ,MTH201

The course is intended to be a broad introduction to Communication Systems. The course will develop understanding of the principles underlying communication systems, describe basic methods for communication and develop requisite mathematical background required for noise analysis of communication systems. The lectures will be supplemented by PyLab simulation exercises, a final term paper/project.

ECE250 : Signals & Systems (Credits: 4)
Pre-requisite: MTH100

This course introduces the concepts of continuous and discrete time signal representation, Linear Time Invariant Systems (LTI), Fourier series representation of periodic signals, continuous and discrete time Fourier transform, Laplace and Z-transforms and their application.

ECE270 : Embedded Logic Design (Credits: 4)

This course will introduce students to the various programmable logic devices (PLDs) available in the market and get them started with how to program such devices to develop simple applications. First half of this course will cover FPGA programming using Verilog and second half will focus on ARM processor programming using C followed by an integration of ARM with FPGA using Zynq board.

ECE314 / ECE514 : Digital VLSI Design (Credits: 4)

This course introduces students to CMOS circuits, develops first-order current-voltage and capacitance-voltage models for transistors, transfer characteristics of CMOS inverter, performance estimation for circuits through logical effort, interconnects, combinational circuit design, circuit families, sequential circuit design including clocking and latching techniques, design of datapath subsystems (adders, shifters, multipliers etc.), design of memory subsystems. A course project using state-of-the-art computer aided design (CAD) tools in VLSI gives students hands-on exposer to the most current technology/process.

ECE315/ECE515 : Analog CMOS Circuit Design (Credits: 4)

This course introduces the basic analog building blocks and quantifies their performance parameters. More advanced circuits are derived from these basic building blocks. Concepts of feedback and stability are introduced to enable analysis of complex circuits. The course also includes a self-learning lab component in which the students are expected to learn circuit simulation and design tools such as LTSpice, Eldo, Cadence Analog Suite etc. A design project is an essential component of this course.

ECE340 : Digital Communication Systems (Credits: 4)
Pre-requisite: ECE240

This course will introduce students to the fundamental blocks that constitute a digital communication system. Starting with the analog to digital conversion block, the students will study the functionalities of the blocks such as Digital Modulator/ Digital Demodulator, Channel Encoder-Decoder.
The performance of various digital modulation schemes in AWGN channel will also be studied. Moreover, the course will also highlight the trade-off associated with bandwidth and power for various channel coding and digital modulation schemes. The course will also lay a foundation for designing optimum receivers for digital communication system in presence of AWGN channel

ECE343 : Mobile Communications (Credits: 4)
Pre-requisite: ECE240

The wireless telecommunications industry has grown tremendously since first cellular system was developed in 1983. Systems evolved from providing voice (2G) to all-IP data networks (4G), creating a need for researchers and engineers with knowledge about cellular radio systems and digital wireless communications techniques. Wireless systems that provide personal and M2M communications constitute a major research area of vital importance. The course will provide important knowledge to students who wish to work in wireless communications or wish to enter the telecommunications industry. The course is mainly focused at physical layer and includes fundamental theory, design trade-offs and practical issues of high capacity cellular communications systems. Trunking, RF propagation, frequency reuse, co channel interference management, hand-off, dropped calls and design of CDMA systems.

ECE344/ECE544 : Embedded Logic Design (Credits: 4)

This is an introductory course on Computer Vision offered to undergraduate and graduate students. The goal is to develop understanding of the fundamental concepts in computer vision and enable students to understand and develop applications using existing tools. Students will be given theoretical and programming assignments targeted towards solving real-world computer vision problems. Groups of two or three will do a course project and show a demonstration at the end of the semester.

ECE351 : Digital Signal Processing (Credits: 4)
Pre-requisite: ECE250

Course includes the fundamentals of discrete-time signal and systems; sampling and quantization theory; transform domain techniques -DTFT, z-Transform, DFT and DCT, and their relationships; fast computation algorithms via FFT; IIR and FIR filter design techniques; filter implementation structures.

ECE431/ECE631 : Antenna Theory and Design (Credits: 4)
Pre-requisite: ECE230

The course aims to introduce the principles of antenna theory and design as well as wave propagation to senior undergraduate and graduate students who have a background in fundamental electromagnetics. The course will enable the students to understand the operation of common antennas and provide them an opportunity to design and test antennas. Thus the course will combine both the theoretical and practical aspects of antenna design. This course may be useful to students interested in implementing wireless systems (communications and radar).

ECE432 /ECE632 : Radar Systems (Credits: 4)

The course aims to introduce the principles of radar systems to senior undergraduate and graduate students. The course will combine system perspectives, radar phenomenology concepts such as radar cross-section and clutter, and popular waveform design and signal processing techniques. The course will conclude with a brief discussion of common radar applications (weather radar, police radar, air traffic control etc.)

ECE452/ECE552 : Statistical Signal Processing (Credits: 4)
Pre-requisite: MTH101 ,ECE501

This post graduate course is designed to cover techniques for statistical signal processing, detection and parameter estimation. It will briefly review the preliminaries on linear algebra and statistics. The rest of the course is broadly divided into three parts. The first part will deal with the design, implementation and performance evaluation of detectors; this would cover composite and M-ary hypothesis testing. The second part of the course deals with estimation techniques like Maximum Likelihood, MAP and MMSE estimation. The third part introduces adaptive filtering approaches; this will cover stochastic and data-driven approach with emphasis on least squares based techniques. Homework will be a mix of theory and programming assignments.

ECE454 / ECE554 : Compressive Sensing (Credits: 4)
Pre-requisite: MTH100

This is a senior UG / PG level course on Compressed Sensing. Compressed Sensing (CS) is most talked about topic in signal processing today and is taught in all the top universities across the world. CS is the study of under-determined linear inverse problems where the solution is typically a lower dimensional many fold embedded in a higher dimensional space. The most prominent examples being - a sparse solution or a low-rank solution. Today compressed sensing permeates not only signal processing and applied maths but also encompasses a variety of topics in machine learning and computer vision. This course is open to both CS and ECE students.

ECE470/ECE670 : Robotics (Credits: 4)

The goal of this course is to provide comprehensive knowlege is robotic from theory to implementation. The course will cover transformations, planning in discrete and continuous spaces, collision avoidance, localization, and vision-based control. We will use ROS as the software platform on which the simulations will be carried out and the projects can be carried on hardware. ROS allows seemless integration from simulation to real-world implementation.

ECE501 : Probability and Random Processes (Credits: 4)
Pre-requisite: ECE240

The course will provide students with an in depth introduction to stochastic processes with applications in electrical engineering. A review of axioms of probability, single and multivariate distributions, and functions of random variables will be followed by study of fundamental theorems like Markovrsquo;s inequal-ity, Chebyshevrsquo;s inequality, Chernoffrsquo;s Bound, weak and strong law of large numbers (convergence in probability and almost sure convergence), mean-squared convergence, convergence in distribution, the central limit theorem, random waveforms, stationarity, ergodicity, linear systems with stochastic inputs, autocorrelation and the power spectrum. Along the course we will also look at examples like the Weiner process, Poisson process and Markov Chains.

ECE510 : Digital Hardware Design (Credits: 4)
Pre-requisite: ECE270

Field programmable gate arrays (FPGAs) are first choice for implementation of digital systems due to their distributed and parallel architecture. FPGAs also allow complete control over arithmetic world-lengths and dynamic partial reconfigurability thereby leading to optimal computational efficiency. Integration of FPGA with ARM processor has led to significant interests in Zynq SoC because of their usefulness in applications such as software defined radios, cellular base stations, datacenters, video processing and computer vision etc.

In this course, students will learn how to implement algorithms in an FPGA using Verilog. Though this course assumes prior knowledge of digital design and Verilog, first couple of weeks will be dedicated to revise these concepts. Labs and assignments will focus on developing working programs that use various features and ports of FPGA boards (ATLYS and Zedboard) including VGA, UART, memory etc. Couple of weeks will be dedicated to Zynq SoC which integrates ARM dual Cortex-A9 based processor system with Xilinx 7-series FPGA. Tutorials on Zynq programming using Vivado will motivate the students to take advanced FPGA courses.

ECE511 : Computer Architecture (Credits: 4)

This course forms a strong foundation in the understanding and design of modern computing systems. Building on a computer organization base, this course explores techniques that go into designing a modern microprocessor. Fundamental understanding of computer architecture is key not only for students interested in hardware and processor design, but is a foundation for students interested in compilers, operating systems, and high performance programming. This course will explore how the computer architect can utilize the increasing number of transistors available to improve the performance of a processor. Focus will be given to architectures that can exploit different forms of parallelism, whether they be implicit or explicit. This course covers architectural techniques such as multi-issue superscalar processors, out-of-order processors, Very Long Instruction Word (VLIW) processors, advanced caching, and multiprocessor systems.

ECE512 : Introduction to VLSI Design (Credits: 4)
Pre-requisite: ECE221 ,DES130

Introduction to Digital Design of integrated circuits with emphasis on high-performance (low power and high-speed).

ECE513 : VLSI Design Flow (Credits: 4)

The objective of this course is to develop a basic understanding of the methods, tools and technologies that go into transforming an "idea" into an "integrated circuit". This course is intended to give an overall perspective of the VLSI design flow, going through various stages of designing such as synthesis, floor planning, placement, routing etc. and various steps of verification such as simulation, formal methods and timing/power analysis. In this course, ample opportunities will be provided to employ the-state-of-the-art CAD tools and gain a practical understanding of the VLSI design flow. A few representative algorithms that work inside the CAD tools will also be discussed.

ECE516 : System on Chip Design and Test (Credits: 4)
Pre-requisite: ECE512

This course introduces students to design trends in deep submicron (DSM) era, including scaling trend, clock cycle and power issues; Role of interconnects in contemporary SoC Design; System-on-Chip and platform-based design ndash; IP-based design and reusability, Multiprocessor SoC platform design, 3D integration, on-chip optical and wireless communication, Design for testability (DFT), Test Access Mechanism (TAM), concept of core-based test amp; IEEE P1500 standard for SoC test; Importance of Power and Low power SoC design methodology. A course project using state-of-the-art computer aided design (CAD) tools in VLSI gives students hands-on experience of the most current technology/process.

ECE517 : Introduction to Nanoelectronics (Credits: 4)

Nanoelectronics is an interdisciplinary area of research which has a huge potential and is currently attracting a great deal of attention. The objective of this course is to understand the basic principles that govern the operation and electrical characteristics of nanoelectronic devices and become familiar with the recent research being undertaken in nanoelectronics.

ECE518 : Solid State Devices (Credits: 4)

This course provides fundamental knowledge required for many other courses in Analog, digital and Mixed signal IC design (Analog CMOS Circuit Design, Mixed Signal Design, Low Power Design and Digital VLSI Design). The course starts with an overview of semiconductors and their conduction mechanism. Then explains PN junction formation and operation of various types of two terminal semiconductor devices and BJTs. The discussion will be extended to MOSCAP and MOSFETs, which are very important elements in the modern IC design. In addition MOSFET short channel effects will also be explained as they are becoming highly significant with technology scaling. Fabrication process will also be covered.

ECE528S : Special Topics on RF Circuits Design (Credits: 4)
Pre-requisite: ECE321 ,ECE521

This course will build on the knowledge gained and skills developed in RF Circuit Design (ECE321/521). It is primarily a course that takes the participants to the latest advancements in the domain of RF components, circuits, and systems at wireless and wireline frequencies. The main emphasis of the course is on the advances in design technologies on passive and active planar RF Circuits such as coupler, switch, filter, power divider, and power amplifier. The salient feature includes a project component on ldquo;design of multi-band design techniquerdquo; using industry standard tool ADS and the subsequent fabrication and measurement. The complete design cycle will equip the students with the skills required for component prototype development and measurement/characterization.

ECE534 : Optical Communications Systems (Credits: 4)
Pre-requisite: ECE240

To introduce students to the fundamental principles of modern fiber-optic communication systems which include components and system design of optical fiber communication and apply these principles to calculate system performance. Topics include step-index fibers, graded-index fibers, fiber modes, single-mode fibers, multimode fibers, dispersion, loss mechanics, fiber fabrication, light-emission processes in semiconductors, light-emitting diodes, laser diodes, modulation response, source-fiber coupling, photo-detectors, receivers, receiver noise and sensitivity, system design, power budget and rise-time budget, Optical networks, wavelength division multiplexing (WDM) and coherent optical communications.

ECE537 : Wireless Communication : Evolution from 3G to 5G (Credits: 4)

This course will focus on past and current research issues in wireless communication, specifically evolution of techniques that led to development of cellular standards from 3G to 5G, and Wi-Fi standards from IEEE 802.11a to IEEE 802.11ac.
This course will introduce students to channel capacity in non-fading and fading channel conditions, multiple access techniques (including multiple antenna systems), cellular system design, and advanced wireless techniques such as Multiuser MIMO, Carrier Bonding/ Aggregation etc. Lectures will be based on required reading from textbook / reference book sections, magazine and journal articles or supplemental handouts. Active class participation is mandatory - required reading must be done before class, and in-class time will be divided between lectures, group discussions and on-spot presentations. The course grade will be based on class participation, several paper surveys based on the required and supplemental reading, several homework assignments based on the required reading, end semester exam and a final project.

ECE539 : Wireless System Implementation (Credits: 4)
Pre-requisite: ECE240

This course will help the students to design and implement a basic wireless communication system. Starting with the large scale propagation models, the students will study the modelling of wireless channel as a linear time varying filter, statistical multipath models and wireless Digital Modulation/ Digital Demodulation techniques. The performance of the digital modulation techniques in Rayleigh fading channel, and with different spatial diversity techniques will also be studied. Moreover, the course will also highlight the trade-off associated between single-carrier and multicarrier (e.g. OFDM) modulation techniques. . The course also involves a hardware (NI USRP) / software (using Matlab) project where the students will validate the theoretical concept studied during lectures.

ECE543 : Principles of Digital Communications (Credits: 4)
Pre-requisite: ECE240

Optimal receiver designs for digital communications using statistical communication theory principle, Using Signal Space concepts for optimum receiver design, Multiple access systems like CDMA and OFDM, Using MIMO to achieve Receive &Transmit Diversity and multiplexing gains

ECE553 : Advanced Signal Processing (Credits: 4)

This course introduces advanced time domain (statistical) and transform domain methods in signal processing. This is mainly a course on non-linear signal processing. A small portion of this course is dedicated statistical signal processing techniques like ARMA estimation, Kalman Filter and Hidden Markov Model. The main focus of this course is on inverse problems. A majority of modern signal processing problems can be recast as inverse problems - deblurring, deconvolution, denoising, reconstruction etc. to name a few. The course introduces the students to powerful optimization based non-linear inversion and filtering techniques.

ECE564 : Reinforcement Learning (Credits: 4)

The course will introduce reinforcement learning as an approximate dynamic programming problem. We will consider exact versions of value and policy iteration, followed by approximations based on gradient methods, temporal difference based methods, and last but not least, simulation based methods like Q-learning.

ECE570 : Control Theory (Credits: 4)

The goal of this course is to provide fundamental knowledge in control systems. This course covers modelling a system, analyzing the response of the system in time and frequency domain, and designing a feedback controller to control the system. The course will have an equal weight on theoretical foundations and simulation based implementation.

ECE571 : Optimal Control Systems (Credits: 4)

Optimal control systems is a topic that is widely used in several fields' like transportation, aerospace bio-informatics and economics. The goal of this course is to provide advanced knowledge in formulating an optimal control problem, analyzing its properties and then solving the problem using various linear and nonlinear optimization based techniques. The course is theoretical but has implementation and problem solving components.

ECE573 : Advanced Embedded Logic Design (Credits: 4)
Pre-requisite: CSE112 ,ECE270

In this class, you will learn and apply various methodologies and tools used in current embedded systems development industry.
Embedded systems development, like any hardware or software subsystem development, can be performed in a highly efficient manner using well researched and proven methodologies. Students will be equipped with various critical aspects of embedded system product development in this class, e.g.: -
* Using a suitable development methodology.
* Requirements specification in a manner comprehendible to all stakeholders. Good requirements statement methods have proven to drastically eliminate bugs and reduce product development effort.
* Partitioning of system design into hardware and software components in a systematic manner considering relevant trade- offs.
* SystemC for system modeling and design.
* Real-time operation implementation aspects for relevant systems.
* Using local and remote sensing and actuation mechanisms in an embedded system.
* Functionality and performance validation of developed components and entire system. Properly validated systems can prevent huge costs associated with launching of sub-standard products in the market.
* Optimization of embedded systems in terms of performance, energy consumption and cost.
A major part of this course will be devoted to enabling students to apply various learned concepts in the implementation of an embedded system using a suitable development board, i.e. Raspberry Pi or Arduino.

ECE5AD : Autonomous Driving (Credits: 2)
Pre-requisite: ECE570

The goal of this course is to provide hands-on-experience in implementing several modules of autonomous driving through software-in-the-loop and hardware-in-the-loop. This is a project-based course and covers modules on perception, path planning, and vehicle control for autonomous driving. The course is mainly designed towards implementation and hence intensive programming is involved in C++ or Python. The course will use Mahindra e20 and auto-rickshaw as the hardware testbeds.

ECE5NLR : Nonlinear Control of Robot Dynamics (Credits: 2)

This course will provide an introduction to nonlinear dynamical systems and emphasizes the role of control theory as one of the crucial components of robotics engineering. The course includes modeling the robotic system and designing controllers which include nonlinear controllers, PID, and model-based control algorithms. Theoretical analysis on the stability of the system for the developed controllers will also be covered. The course will have a descent combination of mathematical analysis and engineering design.

ECE5SN : Satelite Navigation and Sensor Fusion (Credits: 4)

Accurate position and velocity estimation i.e. navigation is an integral part of the operation of any autonomous vehicle. Advent of Global Positioning System (GPS)\Global Navigation Satellite System (GNSS) technologies have radically changed the navigation process. Satellite Navigation and Sensor Fusion course aims to make students familiar with satellite navigation, GPS\GNSS, GPS signal structure, acquisition and position computation techniques from GPS data. This course also focuses on fusion of GNSS and other available sensor observations to estimate accurate position and velocity, which is widely used for navigation of autonomous vehicles.
The course will start with an introduction to radio navigation and GPS. After discussing GPS signal structure and positioning algorithms, various position error sources will be introduced and various error correction techniques will be explained. GPS signal acquisition and receiver structure are also within the scope of this course. Effects of interference, weak signal on GPS positioning will also be discussed. New GPS signals and other global and regional satellite navigation systems will be also introduced to the students.
Inertial Measurement Unit (IMU) will be introduced in the second part of the course. The Kalman Filter (which is almost ubiquitous in navigation applications) and its non-linear variants will be discussed. Finally usage of GNSS and IMU observations in Kalman Filter framework to estimate accurate position and velocity will be explained.

ECE5WC : Wireless Communication : Evolution from 3G to 5G (Credits: 4)
Pre-requisite: ECE240

This course will focus on past and current research issues in wireless communication, specifically evolution of techniques that led to development of cellular standards from 3G to 5G, and Wi-Fi standards from IEEE 802.11a to IEEE 802.11ac. This course will introduce students to channel capacity in non-fading and fading channel conditions, multiple access techniques (including multiple antenna systems), cellular system design, and advanced wireless techniques such as Multi-user MIMO, Carrier Bonding/ Aggregation etc. Lectures will be based on required reading from textbook / reference book sections, magazine and journal articles or supplemental handouts. Active class participation is mandatory - required reading must be done before class, and in-class time will be divided between lectures, group discussions and on-spot presentations. The course grade will be based on class participation, several paper surveys based on the required and supplemental reading, several homework assignments based on the required reading, end semester exam and a final project.

ECE611 : Memory Design and Testing (Credits: 4)

The course gives a detailed view of Memory Design topics from SRAM cell design and constraints to

  1. Memory Hierarchy and Types
  2. SRAM Cell Optimization and Design Metrics
  3. Memory Read/ Write Path - Address to Q path (Decoders to Sense Amplifiers and associated timing circuits)
  4. Case Studies:
    • High Speed Memory
    • Low Voltage Memory
  5. DRAM array design and related constraints (refresh rate)
  6. DRAM interface – address decoding; pipelining; date interface; charge pumps
  7. Non Volatile Memory Cell – Basic Principle and Operation
  8. Read/ Program/ Erase Path (including)
  9. Case Study
  10. Reliability Considerations of NVM
  11. Testability, Yield and Repair

ECE612 : Mixed signal Design (Credits: 4)
Pre-requisite: ECE315/ECE515 ,ECE213

This course teaches mixed signal circuits, which are very important bolcks in many modern processors. It covers switched capacitor circuits, comparators, different types of DACs, nyquist and over sampling ADCs.

ECE636 / CSE636 : Communication Networks - An Analytical Approach (Credits: 4)
Pre-requisite: MTH201

The course introduces the student to analytical tools that help understand the performance of various aspects of a communications network. We will analyze various aspects of the layer 2 of the OSI model, including automatic repeat request, multiple access, and flow control. We will learn how to apply simple queueing models to analyze the delay and throughput performance of networks. Finally, we will analyze the performance of the transmission control protocol (TCP). It is hoped that the exposure to analysis will help us design good real world protocols.

ECE672 : Stochastic Estimation and Control (Credits: 2)
Pre-requisite: ECE501

This course deals with the estimation and control of dynamical systems. We will begin with an introduction of probability, random variables, stochastic differential equations, and basics in parameter estimation. These concepts will then be applied to state-space descriptions of linear systems following up to the Linear Quadratic Gaussian (LQG) controller and Kalman filter. Nonlinear estimation methods such as the extended Kalman filter and particle filter will be introduced.

Math Courses

MTH100 : Maths 1 (Credits: 4)

This first level math course covers basics of linear algebra including vector spaces, matrix algebra, linear transformations, eigenvalues and eigenvectors, orthogonality, properties of symmetric matrices, positive definite matrices, and SVD. The course is developed with an aim to provide a strong foundation in linear algebra which will be used in the subsequent curriculum by both CS and ECE students. Time permitting, some applications of linear algebra in engineering disciplines will be introduced. The course also attempts to increase the mathematical maturity of students by introducing proofs and mathematical rigour.

MTH201 : Probability and Statistics (Credits: 4)

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.

MTH203 : Maths III (Credits: 4)
The course is intended to cover topics in multivariable calculus, complex variables and vector calculus. The topics included are those required for concurrent or subsequent courses in signals and systems, electro-magnetic theory and mathematics which most of these students will have to take as core courses.
MTH204 : Maths IV (ODE/PDEs and Numerical Methods) (Credits: 4)

The course is intended to cover the essential topics in differential equations and numerical methods required for concurrent or subsequent courses in the ECE curriculum.

MTH210 : Discrete Structures (Credits: 4)

This is a basic course in discrete mathematics, tailored for students in the computer science and applied math program. The course is intended to give students an exposure to formal mathematical language, the notion of proofs, and basic discrete structures such as graphs and permutations, as well as discrete probability and the probabilistic method.

MTH211 : Number Theory (Credits: 4)

This course is an elementary introduction to number theory with no algebraic prerequisites. Topics covered include primes, congruences, quadratic reciprocity, diophantine equations, Arithmetic functions, Lagrange's four-squares theorem and partitions.

MTH212 : Abstract Algebra I (Credits: 4)

Algebraic structures are of fundamental importance in mathematics and play an increasingly significant role in many application areas, including computer science and communication. This course introduces the main algebraic structures: groups, rings and fields. Fundamental concepts and properties of these structures are studied, both in the abstract and in relation to concrete families of structures. Furthermore, algebra is an excellent vehicle for training students in mathematical rigour, proofs, and problem solving.

MTH240 : Real Analysis I (Credits: 4)

This course covers topics in real analysis, single-variable and multivariable calculus, and vector calculus. The course starts with the real number system, then discusses sequences and series in detail. Single-variable calculus is covered in detail with emphasis on rigour and proofs. In the final section of the course, concepts and methods of multivariable calculus are covered but with less emphais on proofs.

MTH300 : Introduction to Mathematical Logic (Credits: 4)

This is an introductory course in mathematical logic. The subject is of interest to students in both Mathematics and Computer Science. Topics covered include propositional logic, first order logic, consistency, satisfiability, soundness, completeness, and compactness. We will also discuss some basic set theory and axiomatic number theory (Peano's arithmetic). If time permits we will discuss the famous incompleteness theorems of Godel.

MTH302 : Algebra (Credits: 4)

The purpose of the course is to introduce abstract algebra and the most important algebraic structures: groups, rings and fields. Abelian groups, dihedral groups, and permutation groups are treated in some detail. The field theory portion concentrates on finite fields. Applications to number theory, computer science and other branches are introduced briefly.

MTH303 : Graph Theory (Credits: 4)

This is an introductory course on the theory of graphs. The primary focus is on understanding graph properties, learning common proof techniques and studying relations between various graph parameters. Topics include graph fundamentals, matching, trees, cuts, coloring, planar graphs etc.

MTH305/MTH505 : Linear Optimisation (Credits: 4)

This course aims at introducing students to the application of optimization techniques to various areas of CSE and ECE. We will primarily focus on linear optimization (linear programming) and learn about the structural and algorithmic aspects of optimization problems. The theoretical assignments will aim at developing the necessary skills for analysing algorithms and formulation of LPs. Computational assignments will complement the theory by modeling real-world problems as linear programs and solve them using publicly available solvers. Towards the end of the course, we will briefly discuss convex programs and semi-definite programs (SDPs) with real-world applications and point to some of the existing solvers for this class of problems.

MTH311 : Combinatorics and its Applications (Credits: 4)

The aim of this course is to familiarize students with fundamental concepts in combinatorics, especially those used in enumeration. Topics covered include permutation groups, linear codes, Stirling and Bell numbers. Generating functions are introduced and their applications are discussed. Applications of group theory to enumeration: Burnside's Lemma and Polya's theory of counting are covered. Students are introduced to error correcting codes and linear codes over finite fields.

MTH340/540 : Real Anaysis-II (Credits: 4)

Much of mathematics relies on our ability to be able to solve equations, if not in explicit exact forms, then at least in being able to establish the existence of solutions. To do this requires a knowledge of so-called "analysis", which in many respects is just Calculus in very general settings. Real Analysis-II is a course that develops this basic material in a systematic and rigorous manner in the context of real-valued functions of a real variable. Topics covered are: Real numbers and their basic properties, Sequences: convergence, subsequences, Cauchy sequences, Open, closed, and compact sets of real numbers, Continuous functions and uniform continuity. Lebesgue out measure, Lebesgue integral, sigma algebra of Lebesgue measurable sets.

MTH341/541 : Complex Analysis (Credits: 4)

This course gives students an introduction to the theory of functions of complex variables. A function of a complex variable has some remarkable properties which do not hold true necessarily for a function of a real variable. In this course, we discuss many such properties. We do so by studying complex numbers and their properties; analytic functions and their derivatives, integrals and power series expansions; singularities and zeros of a complex function. The course also covers applications to physics and engineering.

MTH371 : Stochastic Processes and Applications (Credits: 4)

This is a second course in Probability Theory and Stochastic Processes. It assumes a background in elementary probability theory which will be reviewed and overviewed initially. The course then develops the necessary mathematics and intuition to understand discrete and continuous stochastic processes. Students will learn not merely results but proofs as well. This will help students firmly understand the underlying mathematics and provide the intuition for setting up a model in a specific application or a problem. These problems can be from diverse fields such as engineering, physics, operations research, economics, finance, or statistics.

MTH373/573 : Scientific Computing (Credits: 4)

This is an overview course to be offered to 3rd and 4th year undergraduate, and postgraduate students. The course is structured to systematically build on and provide an overview of several ideas and topics that comprise the basics of discretizations of continuous mathematics. In this setup, we will concern ourselves with computational as well as stability analyses of both methods and algorithms.
We will begin with an introduction to scientific computing. Then we will analyze and study methods in numerical linear algebra: matrix factorizations, direct solution of linear systems, solutions of linear least square problems, and solutions to eigenvalue problems.
This will be followed by solutions of nonlinear equations in 1d and then more generally. We will apply this learning to unconstrained optimization in 1d and again more generally. We will also delve into some constrained optimization and nonlinear least squares problems.
The next part of the course will discuss polynomial interpolation (including using splines) of discrete data in 1d. This will be utilized in methods for numerical differentiation of sampled data, and for numerically carrying out integration in 1d (also known as quadrature).
The last part of the course will deal with numerical solutions of initial and boundary value ordinary differential equations in 1d. This will be followed by a foray into numerical solution of model partial differential equations.
A student registering for the MTH573 version of the course will be required to work on an additional Pass/No Pass project for getting the course credits. Graduate students, in particular, will not be allowed to register for the 373 listing of this course.

MTH401/MTH601 : Modeling Complex Systems (Credits: 4)
Pre-requisite: MTH101

Synchronization in fireflies, schooling in fish, and formation of snowflakes are all examples of complex patterns that emerge from a large number of components interacting through simple rules. These patterns arise in the absence of a central control and continue to do so even if existing components are removed or new ones are added. In this course, we will use mathematical models to understand the rules that give rise to such patterns. Starting with the motivation on why we should model anyway, we will simulate examples of complex systems using methods from population dynamics, self-propelled particles, networks, and cellular automata. The course will consist of weekly lectures and labs, and a final project where you will get to model a system of your choice. Knowledge of undergraduate level calculus, linear algebra, and basic programming (preferably in MATLAB) is required. The objective of this course is to help the student better understand the emergence of complexity in nature and the intuition to take a first crack at modeling a complex system.

MTH502 : Number Theory (Credits: 4)

This course provides an introduction to number theory. Topics include primes, congruences, quadratic reciprocity, diophantine equations, irrational numbers, continued fractions and elliptic curves.

MTH510 : Advanced Linear Algebra (Credits: 4)

This course is designed to enhance the understanding of the principles underlying the subject and to prepare students to take more advanced courses in Mathematics and engineering (e.g. Machine learning, Advanced Matrix Theory, Algebraic Coding Theory).

MTH512 : Algebraic Number Theory (Credits: 4)

An algebraic number field is a field obtained by adjoining to the rational numbers the roots of an irreducible rational polynomial. Algebraic number theory is the study of properties of such fields. This course will cover the following topics: number fields, rings of integers, factorization in Dedekind domains, class numbers and class groups, units in rings of integers , valuations and local fields, and if time permits decomposition of primes, and zeta functions of number fields. These tools provide solutions to several problems which are elementary to state but surprisingly difficult to resolve, including Pell's equation, quadratic reciprocity, the two squares theorem and the four squares theorem (every positive integer is a sum of four square integers).

MTH570 : Numerical Solutions Differential Equations (Credits: 4)

This course will be provide an overview of two standard numerical methods for partial differential equations (PDEs). The focus will be on essential theoretical analysis as well parabolic and hyperbolic partial differential equations. This will be followed by a short foray into linear system solvers and finite difference scheme for two-dimensional Poisson's (elliptic) problem. The second part of the course will deal with finite element methods exclusively for elliptic problems. The core ideas in functional analysis, variational formulation, error analysis, and computer implementation will be presented for the one-dimensional problem. This will be followed be a more practical treatment of two-dimensional problems. The last part will consist of an overview of the specialized topics of mixed and adaptive finite element methods.as computer implementation. The first part will be on finite difference methods. Key numerical schemes and underlying theory will be provided for one-dimensional.

MTH599 : Variational Calculus and their Applications (Credits: 4)

Variational Calculus is the simplest and the most direct means of unifying all branches under the discipline of Applied Mathematics. This course assumes very limited knowledge of vector calculus, ordinary differential equations and basic mechanics. Many new applications in applied mathematics, physics, chemistry, biology and engineering are included. This course will serve as a reference for advanced study and research in this subject as well as for its applications in the fields of neuroscience, signal processing, informatics and communications.

CB Courses

BIO213 : Introduction to Quantitative Biology (Credits: 4)

This course will discuss some fundamental aspects of cellular and molecular biology as studied by quantitative approaches. Some simple mathematical/statistical and computational tools will be taken up to carry out quantitative analysis of biological systems. In addition, studnets will be introduced to systems biology, network biology and biomedical applications. Part of the learning will be achieved through study of relevant papers (and online resources) and class discussions.

BIO301/BIO501 : System Biology (Credits: 4)

According Trey Idekker, a pioneer in systems biology, explains systems biology as the use of data from genomic, proteomic and metabolomic technologies to construct mathematical models of complex biological systems and diseases. These approaches have recently become more powerful that requires tremendous skills in modeling techniques. So there is a need to provide a well rounded understanding of signalling networks, small scale genetic networks and its properties. This course aims to provide the understanding of the role of these networks and its implications in biological systems through the construction of simple mathematical models.

BIO303/BIO503 : Introduction to Mathematical Biology (Credits: 4)
Pre-requisite: MTH101 ,MTH102

The aim of this course is to introduce mathematics as applied in quantitative study of biological systems. Use of ordinary and partial differential equations (ODEs and PDEs) will be emphasized in this course. Both exact and numerical solution of ODEs will be discussed. We also plan to briefly introduce dynamical systems theory to elucidate the behavior of ODE solutions. Application of mathematical approaches in biological data analysis and to solve problems of biomedical / technological relevance will be discussed.

BIO400/BIO600 : Foundations of Biology - II (Credits: 4)
Pre-requisite: MTH201

This is the second foundational course for the minor program in computational biology. This course aims to cover the basics of molecular biology and traditional classical genetics, which are the two pillars of modern biology (Other two being cell biology and biochemistry, and these are extensively covered in FOB-I). While the molecular biology part will be qualitative in nature, the classical genetics part will be quantitative, where students will learn to use the techniques from probability and statistics to predict the occurrence of various phenotypes.

BIO505 : Introduction to Computational Neuroscience (Credits: 4)
Pre-requisite: MTH101 ,MTH102

This course is in two parts. In the first part that constitute the 2/3 of the course, students will be introduced to the human nerve cell and the analytical mathematical models used to describe the a) mechanism of generation and propagation of action potential, b) the excitability and bursting of neurons. In the second part of the course, students will be introduced the basics of functional and structural magnetic resonance imaging (MRI), fMRI experiment design and fMRI data analysis.

BIO511 : Cell Biology and Biochemistry (Credits: 4)

The aim of this basic core course is to provide students a decent background in cell biology and biochenmistry. The major focus is to a) cover most important concepts in cell biology like structure and functions of cell, proteins, and signal transduction mechanisms b) cover biological thermodynamics, enzyme kinetics and metabolism and finally c) solve qualitative and quantitative problems.

BIO512 : Foundations of Modern Biology (Credits: 4)

The aim of this basic core course is to provide students a good background in genetics and molecular biology. The major focus is to

a) cover most important concepts in genetics like Mendelian laws, linkage and recombination
b) cover molecular mechanisms of gene expression
c) solve qualitative and quantitative problems in population and evolutionary genetics
BIO522 : Algorithms for Computational Biology (Credits: 4)

This is an introductory course on algorithms for computational biology. The goal is to make students familiar with the basics of algorithm designing techniques and their application in solving problems of molecular biology. Students will be trained for developing their own algorithms for solving real life biological problems. Hands on training will be given for commonly used softwares for genomic data analysis.

BIO523 : Chemoinformatics (Credits: 4)

The objective of this course is to provide introduction to chemoinformatics, an interdisciplinary area on the interface of chemistry, informatics and biology. The student will be provided with understanding of fundamentals of chemoinformatics and its applications. Through lectures, hands-on exercises and assignments, the student is expected to achieve a good grasp of the concepts and applications of chemoinformatics.

BIO531 : Introduction to Mathematical Biology (Credits: 4)

The aim of this course is to introduce mathematics as applied in quantitative study of biological systems and biological data analysis. Use of ordinary and partial differential equations (ODEs) will be emphasized in this course. Both exact and numerical solutions will be discussed. We also plan to briefly introduce dynamical systems analysis for ODEs.

BIO532 : Network Biology (Credits: 4)

The objective of this course is to provide introduction to network biology, an emerging interdisciplinary area which aims at graph theoretical modeling of biological complex systems and its applications. The student will be provided with conceptual understanding of complex networks and their application for modeling various biological systems. Through a combination of lectures, exercises, and assignments, the student is expected to achieve understanding of network biology.

BIO534 : Introduction to Computational Neuroscience (Credits: 4)

This introductory neuroscience provides basic understanding of neuronal systems and their respective mathematical models that describes the behavior of the neurons under various conditions. The aim of this course is to encourage Computational biology students to diversify into the area of neuroscience. This course in not about neural networks and machine learning, but about the use of the tools of dynamical systems theory to undertand oscillatory properties of single cell neurons. Nonlinear ODE and PDE models will be constructed, analyzed and simulated using MATLAB to understand different firing patterns of the neuronal systems under normal and pathalogical conditions.

BIO542 : Machine Learning for Biomedical Applications (Credits: 4)

This course is designed for students having wide range of background like biology, medical science, pharmacology, bioinformatics, computer science. This course is divided in following three sections; i) Major challenges in the field of biomedical science, ii) Introduction /implementation of machine learning techniques for developing prediction models, and iii) solving biomedical problems using machine learning techniques. This course will be help students in developing novel methods for solving real-life problems in the field of biological and health sciences. Attempt will made to bridge gap between students and world class researchers, studentds will be exposed to highly accurate methods based on machine learning techniques (research papers).

BIO543 : Big Data Mining in Healthcare (Credits: 4)

There is a exponential growth of data in the field of biological, medical and clinical scineces. Aim of this course is to taught implementation of data mining techniques in healthcare, to solve health-related problems. In this course, students will learn techniques for managing and mining big data. It will be broadly divided in four parts; first part will cover various repositories or databases in the field of medical and biological data. In second part, students will be introduced with techniques comonly used to analyze and manage big data. Implementation of techniques using Python and R will be covered in third phase of this course. Finally, students will learn how to solve health-related problems using knowledge based discovery approach.

BIO562 : Stochastic Simulations in Systems Biology and Biophysics (Credits: 4)

This course will introduce students to stochastic simulations as used in solving biological probelms. It will emphasize kinetic Monte Carlo simulations that are able to capture dynamical aspects (such as in cellular phenotype generation), complex details in biological problems (such as spatial heterogeneity) and fluctuation effects. We plan to discuss stochastic modeling of important cellular (as mediated by regulatory networks) and immunological processes and biomedical applications.

BIO571 : Network Science (Credits: 4)

The objective of this course is to provide introduction to network science, an emerging interdisciplinary discipline with applications to various disciplines including social sciences, security and biomedical sciences. The student will be provided with understanding of fundamentals of network science and its applications. Through lectures, hands-on exercises and assignments, the student is expected to achieve a good grasp of the concepts and applications of network science.

BIO5SPSB : Stochastic Simulations in Systems Biology & Biophysics (Credits: 4)
Pre-requisite: MTH201

This course will introduce students to stochastic simulation techniques as used in solving biological problems. Theoretical basis of stochastic simulations (master equation based approaches) will be elucidated. Monte Carlo simulations will be introduced as a tool to obtain solution of master equations. Kinetic Monte Carlo approaches will be discussed in the context of dynamical problems and single cell biology. Data analysis for Monte Carlo simulations and single cell biology will be part of this course. Hybrid simulation techniques will be taken up as applied to solve problems in biology and immunology. We will also discuss biomedical / technological applications of stochastic modeling such as for vaccine design and cancer therapy.

Design Courses

DES130 : Introduction to Engineering Design (Credits: 4)

Introduction to Engineering Design is a core, multidisciplinary course offered with an aim to ignite the young minds with concepts in design and innovation. Using the tools and skills learnt in the lab, the students participate in a project challenge to build functional prototypes in the field of intelligent buildings, automotive, and robotics which will provide solutions to real life problems. The students are supported with a seed money from the institute for this project. Without going into much complexity, multiple faculty members familiarize students with foundation into three domains; electronic design, wireless communication and robotics. The labs are structured to provide the building blocks of modern electronic gadgets where students learn and use characteristics of active and passive electronic components, solder and build their own voltage regulators PCB, solve real day to day problems while using sense-think-act paradigm to interface and program Arduino microcontroller to a variety of sensors, motors, and learn and experience real time coverage issues and wireless coding techniques.

DES1XX : Design Drawing & Visualization (Credits: 4)


Based on the premise that drawing is central to the design process this course focuses on drawing as a medium for observing, representing, conceptualizing, visualizing and communicating design ideas. The emphasis is on drawing by hand, which is the most direct and intuitive means we have to express our visual thoughts and perceptions. In direct response to our visual thoughts and perceptions, we develop an understanding of spatial concepts and the critical ability to think and visualize in three dimensions through the tactile nature of drawing.
This course fosters understanding of drawing and sketching as a means to develop observational skills through the study of the environment and as a tool for visual representation, ideation/conceptualization, visualization and communication or presentation of design ideas through sketching and drawing from both observation and memory.


Visualization is an act of thought or reflection. In design, we speculate and visualize what might be possible in the future. Drawing gives material existence to our conceptions so that they can be seen, assessed, and acted upon. The drawing out of these ideas, whether executed quickly or slowly, roughly or carefully, is necessarily speculative in nature. We can never determine beforehand precisely what the final outcome will be. The developing image on paper gradually takes on a life of its own and guides the exploration of a concept as it travels between mind and paper and back again. Drawing from the imagination addresses issues that arise as we think in a speculative manner to stimulate the design process, develop our design ideas through drawing, and plan how to present our design proposals in the best possible light. This course gives the students an overview of the generative and developmental stages of the design process and drawing as distinctly speculative in nature. Thoughts develop as a drawing progress, which can alter perceptions and suggest possibilities not yet conceived.

DES2xx : Visual Design & Communication (Credits: 4)


Based on the premise that Visual Design is a discipline of design that applies the principles of visual language for better analysis and understanding of design problem and solution, this course focuses on the elements and principles of the visual language and their semantic use. A multi-disciplinary domain, design consists of, aesthetics, architecture, products, communication, processes, systems, technology, business/commerce, ramification on environment and society and demands clear understanding of design fundamentals. Apart from the thorough knowledge of core concepts, design also requires the representation of concepts visually to make effective or functional communication and iteration of ideas. For creative skills and aesthetic sense, one must clearly understand the use of basic design elements and their applications for a particular design solution.
For a designer to communicate more concisely and in a visually appropriate manner, it is necessary to use commonly understood principles, perspective and design layout standards. Together, these conventions constitute a visual language, and help to ensure that the drawing is clear and relatively easy to understand.


The concept and science of Visual Communication is introduced as the relationship between human information processing, with emphasis on processing of visual information and design of messages. It includes visual perception, Gestalt laws of organization, semantics, working memory (STM & LTM) and their implications on.
The course also introduces students to the fundamentals of Typography and Photography. The Typography course introduces students to the fundamentals of Typography and its application in effective product interface/communication. And the Photography course introduces the students to photography as a medium of visual language and applies it to visual design. In today's world that is crowded with visual stimulus it is important to cut through the noise and be able to decipher, capture and create visual images that communicate.

DES2xx/DES5xx : Design Processes and Perspectives (Credits: 4)

This course introduces students to the theoretical and practical aspects of design evolving processes. The course presents the varied palette of design from design of physical objects, to design of human-computer interactions, to design of services, to design of micro systems and connected/complex systems. It offers tasks that initiate the process of learning fundamental skills such as observation & representation, investigation, analyisation, synthesisation, conceptualization, reflections, projection, visualization & representation.
Topics such as Design Processes, Design Perspectives, Design Context & Concerns, Problem Solving Methods, Idea Generation, User-Focused Thinking and Basic Communication are covered during the course. It also introduces students to various stages of problem solving process from problem identification to investigation and analysis of needs as well as tools and techniques used for generation, iteration, evolution and communication of ideas and design concepts.
This course helps sensitize students to study the social, cultural and physical environment in which his/her design has to operate, so that the design has a meaning or relevance to the people concerned.
Broadly, the course gives students the opportunity to develop essential design thinking skills such as exploring the designed space to identify problem, applying the design thinking process to problems, visualizing design solutions, refining final designs and communicating ideas in visually appropriate form through assignments and projects.

DES302 : Animation & Graphics (Credits: 4)

This course will take you right through the fundamentals of Graphic Design from photorealism up to the point where fantasy and imagination begins. You will understand usage of the colour wheel and its role in creating Digital Art. You will be given a grounding on Engineering Drawing principles such as making Orthographic and Isometric Drawings Through actual classroom exercises, you will be able to comprehend concepts of how to put 3D objects on a 2D paper. Visualise the physical space, create it through the computers, visualising scenes, lighting them, understanding surfaces, materials, animating anything you create, including objects, lights, cameras. Even studying the effects of weather on how you view things. For those who are creative even the sky is not your limit.

DES303 : Film Making and Radio Podcasting (Credits: 4)

You cannot be a good film maker if you don't know how to edit audio sound track and video film footage. One of the worlds greatest film maker Eisenstein stated: "Cinematography is, first and foremost, montage." Eisenstein believed that film montage could create ideas or have an impact beyond the individual images. Two or more images edited together create a "tertium quid" (third thing) that makes the whole greater than the sum of its individual parts. Similarly Alfred Hitchcock said "For me, cinema is essentially emotion. It is pieces of film joined together that create an idea, which in turn creates an emotion in the mind of the audience. Not through spoken words, but through the visuals. It's a visual medium. And montage is the main thing. All movie making is pure montage." It is believed by some that good films are made more on the editing table. This course will not only give you the basic technical skills but will also hand hold you into making a aesthetically correct decisions in assembling a film.

DES513 : Wearable Applications, Research, Devices, Interactions (WARDI) (Credits: 4)

This is a course about the current paradigm of Wearable Computing. In this course, we will cover the origins, pioneering contributions, and principles of Wearable Computing. With this foundation, we will initiate our exploration into the space by learning how to design physical (device form factor), digital (applications) as well as human (interaction techniques) aspects of Wearables. You will develop the skills needed to conduct design of these three interrelated elements and also get a chance to apply them on short assignments and student selected group projects. We will also discuss and critique both seminal and cutting-edge research in the domain to help you identify opportunities for new research that may begin with your class projects.

DES5xx : Digital Audio - (Procedural Game Audio, Algorithmic Composition & Sound Synthesis) (Credits: 4)

This hands-on project-based course will introduce students to the world of digital audio. Topics include real-time sound synthesis, machine listening, procedural game audio, algorithmic composition, digital instrument design and sound design. Students will learn to code using SuperCollider, a programming language for real-time audio synthesis. In this course the students will conduct their own audio-based research projects inspired by the current work being done in the field of computer music & sound synthesis. As listening skills are essential and need to be developed, this class will expose students to new and often very challenging music, sounds and composers. Weekly programming, reading and listening assignments will be given. Students will be evaluated on both technical and creative ability in this course.

DES5XX.. : Information systems in Public Health (Credits: 4)

This course will give an understanding of public health information systems. It will include key concepts of public health, sources of public health information, ethics in public health practice and research, and an understanding of various public health information systems in use.

DES5XX... : Game Development & Design (Credits: 4)

This hands-on project-based course will introduce students to the fundamentals of game development & design using the Unreal 4 game engine. Topics include level design, lighting, materials, particle effects, game AI, game logic, user input mappings, audio, physics and motion. Students will learn to implement custom game logic using the Blueprints Visual Scripting system. In this course students will create an architectural visualization, a shooting gallery mini-game and a basic first person shooter. Students will be evaluated on both technical and creative ability.

DES5XXX : Introduction to 3D Animation (Credits: 2)

This course introduces students to:
(i) Basics and fundamental principles of animation
(ii) Workflow of animation
(iii) Introduction to 3D Animation

Other Domain Courses

COM301A : Technical Communication (Credits: 2)

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.

ENT401 : Entrepreneurship: Managing Venture (Credits: 2)

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. The students will come prepared to the class after reading the material suggested by the instructor and the class time will mainly be used for discussions.
As part of the course students, in a group of two, 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 ldquo;on-paperrdquo;, it is hoped that the project will help students find their entrepreneurial spirit.
The topics covered are -

  1. Business Plan
  2. Marketing amp; E-business
  3. Intro to Financial Management
  4. Human Resource Management
  5. Intellectual Property
  6. Business Ethics

ENT402 : Starting an Entrepreneurial Venture (Credits: 4)

Students will learn various aspects of starting an entreprenerial venture. They would make a business plan for the idea that they used in ENT 401 to understand the process involved in starting a business.

ESC205A : Environmental Sciences (Credits: 2)

This course introduces to Environmental Science and Sustainable Development. Topics covered are: Ecology and biodiversity, natural resources, air quality management, water quality management, solid and hazardous waste management, environmental management system.

ESC2xx : Ecology, Evolution, and Environment (Credits: 4)

The goal of this course is to familiarize the students with basic concepts in Ecology, Evolution, and Environmental Science, develop in them an understanding of the current environmental issues and the need for biodiversity conservation.

MGT310 : Effective Supply Chain for E Commerce (Credits: 4)

The objective of course of ESCM covering E commerce and supply chain stream is to train students in functional and technical aspects of supply chain modeling for eCommerce businesses. Students will be able to leverage their information technology background along with supply chain knowledge gained through this course to bring specialized value proposition for prospective employers. This course will have series of rigorous practice assignments and projects from real industry business cases and will involve extensive hands on exercises dealing with real data, developing supply chain models and generating insights from several what-if scenario analysis. This will enable students an understanding of core modeling and optimization concepts to design effective supply chain network models for eCommerce businesses.
Key emphasis will be to provide functional & technical knowledge to develop supply chain models at three levels - strategic, operational and tactical (to simulate several real industry business scenarios). Classroom sessions will include course book coverage, discussion of real business case studies and practical assessments