Courses - Department of Computer Science IIT Delhi

Courses - Department of Computer Science and Engineering

IIT Delhi

Last Updated: 14 Jan 2016 - 06.48.00 IST




COL100 Introduction to Computer Science


4 credits (3-0-2)


Organization of Computing Systems. Concept of an algorithm; termination and correctness. Algorithms to programs: specification, top-down development and stepwise refinement. Problem solving using a functional style; Correctness issues in programming; Efficiency issues in programming; Time and space measures. Procedures, functions. Data types, representational invariants. Encapsulation, abstractions, interaction and modularity. Identifying and exploiting inherent concurrency. Structured style of imperative programming. Introduction to numerical methods. At least one example of large program development.




COL106 Data Structures & Algorithms


5 credits (3-0-4)

Pre-requisites: COL100


Introduction to object-oriented programming through stacks queues and linked lists. Dictionaries; skip-lists, hashing, analysis of collision resolution techniques. Trees, traversals, binary search trees, optimal and average BSTs. Balanced BST: AVL Trees, 2-4 trees, red-balck trees, B-trees. Tries and suffix trees. Priority queues and binary heaps. Sorting: merge, quick, radix, selection and heap sort, Graphs: Breadth first search and connected components. Depth first search in directed and undirected graphs. Disjkra’s algorithm, directed acyclic graphs and topological sort. Some geometric data-structures.




COL202 Discrete Mathematical Structures


4 credits (3-1-0)

Overlaps with: MTL180


Propositional logic, Predicate Calculus and Quantifiers; Proof Methods; Sets, functions, relations, Cardinality, Infinity and Diagonalization; Induction and Recursion; Modular Arithmetic, Euclid’s Algorithm, primes, Public Key Cryptography; Polynomials, finite fields and Secret Sharing; Coding Theory: Error correcting codes, Hamming codes, Hamming bound; Basic Counting - Pigeon hole principle; Advanced Counting - recurrence relations, generating functions, inclusion-exclusion; basic information theory, entropy, Kraft’s inequality, mutual information, lower bounds; Probability - sample space, conditional probability, expectation, linearity of expectation, variance, Markov, Chebychev, probabilistic methods; Graph Theory - Eulerian, Hamiltonian & planar graphs, edge and vertex coloring.




COL215 Digital Logic & System Design


5 credits (3-0-4)

Pre-requisites: COL100, ELL100

Overlaps with: ELL201


The course contents can be broadly divided into two parts. First part deals with the basics of circuit design and includes topics like circuit minimization, sequential circuit design and design of and using RTL building blocks. The second part is focused on ASIC style system design and introduces VHDL, FPGA as implementation technology, synthesis steps as well as testing techniques. Course ends with introducing the challenges of embedded design where software is becoming integral to all devices. The laboratory assignments are a key component of this course and requires students to design and implement circuits and sub-systems on FPGA kits covering almost all the topics covered in the lectures.




COL216 Computer Architecture


4 credits (3-0-2)

Pre-requisites: ELL201

Overlaps with: ELL305


History of computers, Boolean logic and number systems, Assembly language programming, ARM assembly language, Computer arithmetic, Design of a basic processor, Microprogramming, Pipelining, Memory system, Virtual memory, I/O protocols and devices, Multiprocessors.




COL226 Programming Languages


5 credits (3-0-4)

Pre-requisites: COL106


Value and state oriented paradigms. Translation. Notions of syntax and semantics of programming languages; introduction to operational/natural semantics of functional and imperative languages. Data abstractions and control constructs; block-structure and scope, principles of abstraction, qualification and correspondence; parameter passing mechanisms; runtime structure and operating environment; practical and implementation issues in run-time systems and environment; abstract machines; features of functional and imperative languages; the un-typed and simply-typed Lambda calculus, type systems for programming languages including simple types and polymorphism; objects; classes and inheritance in object-oriented languages. Interactive programming and interfaces. The laboratory activities will involve building a variety of small interpreters for core languages in various paradigms. Tools such as lex and yacc will be introduced for front-end analysis.




COP290 Design Practices


3 credits (0-0-6)

Pre-requisites: COL 106


The contents may differ each year depending on the instructor. The course should involve 2-3 large programming projects done in groups of 2-4.




COD310 Mini Project


3 credits (0-0-6)


Design / Fabrication / Implementation work under the guidance of a faculty member. Prior to registration, a detailed plan of work should be submitted by the student to the Head of the Department for approval




COR310 Professional Practices (CS)


2 credits (0-1-2)

EC - 60


The course would consist of talks by working professionals from industry, government and research organizations. It may also include site visits to various organizations.




COS310 Independent Study (CS)


3 credits (0-3-0)

EC - 60


Research oriented activities or study of subjects outside regular course offerings under the guidance of a faculty member. Prior to registration, a detailed plan of work should be submitted by the student to the Head of the Department for approval.




COP315 Embedded System Design Project


4 credits (0-1-6)

Pre-requisites: COL215, COL216 or equivalent courses

Students working in small groups of four to six are expected to deliver in one semester on an innovative solution for problems/challenges that are typical to India and perhaps other developing countries. The students would have to go through the full cycle of specification, design and prototyping/building a concept demonstrator. Key component of the assessment would be through a public demonstration of their solution.


Learning to work in groups as well as planning and delivering a large task are other expected learnings.




COL331 Operating Systems


5 credits (3-0-4)

Pre-requisites: COL106 COP290

Overlaps with: ELL405


Primary UNIX abstractions: threads, address spaces, file system, devices, inter process communication; Introduction to hardware support for OS (e.g., discuss x86 architecture); Processes and Memory; Address Translation; Interrupts and Exceptions; Context Switching; Scheduling; Multiprocessors and Locking; Condition Variables, Semaphores, Barriers, Message Passing, etc.; File system semantics, design and implementation; File system Durability and Crash recovery; Security and Access Control.




COL333 Principles of Artificial Intelligence


4 credits (3-0-2)

Pre-requisites: COL106

Overlaps with: COL671, COL770, ELL789


Philosophy of artificial intelligence, problem solving, search techniques, constraint satisfaction, game playing (minimax, expectiminimax), automated planning, knowledge representation and reasoning through logic, knowledge representation and reasoning through fuzzy logic and Bayesian networks, Markov decision processes, machine learning, neural networks, reinforcement learning, soft computing, introduction to natural language processing.




COL334 Computer Networks


4 credits (3-0-2)

Pre-requisites: COL106, COL216

Overlaps with: ELL402


Students will be exposed to common network algorithms and protocols, including physical layer modulation (analog AM/FM, digital ASK/FSK/PSK), encoding (NRZ, Manchester, 4B/5B), link layer framing, error control, medium access control (TDMA, FDMA, CSMA/CA, CSMA/CD), bridging, SDN, addressing (IPv4/v6), name resolution (DNS), routing (DV, LS, protocols RIP, OSPF, BGP), transport protocols (TCP), congestion avoidance (window based AIMD), and application design models (client-server, P2P, functioning of HTTP, SMTP, IMAP). Programming assignments will be designed to test network application design concepts, protocol design towards developing error detection and correction methods, efficient network utilization, and familiarization with basic tools such as ping, trace route, wires hark.




COL341 Fundamentals of Machine Learning


4 credits (3-0-2)

Pre-requisites: COL106, MTL106

Overlaps with: ELL409, ELL784


Supervised Learning Algorithms: 1. Logistic Regression 2.Neural Networks 3.Decision Trees 4.Nearest Neighbor 5. Support Vector Machines 6. Naive Bayes. ML and MAP estimates. Bayes’ Optimal Classifier. Introduction to Graphical Models. Generative Vs. Discriminative Models. Unsupervised learning algorithms: K-Means clustering, Expectation Maximization, Gaussian Mixture Models. PCA and Feature Selection, PAC Learnability, Reinforcement Learning. Some application areas of machine learning e.g. Natural Language Processing, Computer Vision, applications on the web. Introduction to advanced topics such as Statistical Relational Learning.




COL351 Analysis and Design of Algorithms


4 credits (3-1-0)

Pre-requisites: COL106

Overlaps with: MTL342


Checking 2-edge, 2-node and strong connectivity using DFS, Strongly connected components. Greedy algorithms, minimum spanning trees (Prim/Kruskal), Union-find data structure. Matroids. Divide and conquer algorithms. Polynomial multiplication, DFT and FFT. Dynamic Programming, All pairs shortest paths (Bellman-Ford, Floyd Warshall). s-t flows, ford-fulkerson, edmonds-karp, applications of maxflow Intractability, NP-completeness, Polynomial time reductions. String matching, KMP and Rabin-Karp. Universal hashing and applications. Geometric algorithms like convex hulls, multidimensional data structures, plane sweep paradigm.




COL352 Introduction to Automata & Theory of Computation


3 credits (3-0-0)

Pre-requisites: COL202

Overlaps with: MTL383


Regular Languages, Finite Automata, equivalence, minimization, Myhill-Nerode Theorem, introduction to non-determinism, Context free grammars, Pushdown automata, equivalence and applications. Turing machines, Recursive and Recursively enumerable sets, non-determinism, RAMs and equivalence, Universal Turing Machines, undecidability, Rice’s theorems for RE sets, Post machines, Basics of Recursive function theory. Equivalence, Church’s thesis, computational complexity, space and time complexity of Turing Machines, Relationships, Savage’s theorem, Complexity classes, Complete problems, NP-completeness, Cook-Levin theorem.




COL362 Introduction to Database Management Systems


4 credits (3-0-2)

Pre-requisites: COL106

Overlaps with: MTL710


Data models (ER, relational models, constraints, normalization), declarative querying (relational algebra, datalog, SQL), query processing/optimization (basics of indexes, logical/physical query plans, views) and transaction management (introduction to concurrency control and recovery). Overview of XML data management, text management, distributed data management. Course project to build a web-based database application.




COL380 Introduction to Parallel & Distributed Programming


3 credits (2-0-2)

Pre-requisites: COL106, COL351, COL331

Overlaps with: COL730, MTL765


Concurrency, Consistency of state and memory, Parallel architecture, Latency and throughput, Models of parallel computation, performance metrics and speedup, Message-passing and Shared-memory programming paradigms, Communication networks and primitives, Concepts of Atomicity, Consensus, Conditions and Synchronization, Security, Fault tolerance, Replication of state and memory.




COD492 B.Tech Project Part-I


6 credits (0-0-12)

Pre-requisites: EC 100


This course is a BTP- Part I (core) for all CS students. The student(s) are expected to work on a implementation based projects. At the end there would be a demonstration of the solution and possible future work on the same problem if continued for BTP-Part II.




COD494 B.Tech Project Part-II


8 credits (0-0-16)

Pre-requisites: COD492


The student(s) who work on a project are expected to work towards the goals and milestones set in COD492. At the end there would be a demonstration of the solution and possible future work on the same problem. A dissertation outlining the entire problem, including a survey of literature and the various results obtained along with their solutions is expected to be produced.




COL632: Introduction to Database Systems


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlap with: COL362, MTL710


Data models (ER, relational models, constraints, normalization), declarative querying (relational algebra, datalog, SQL), query processing/optimization (basics of indexes, logical/physical query plans, views) and transaction management (introduction to concurrency control and recovery). Overview of XML data management, text management, distributed data management. Course project to build a web-based database application.




COL633: Resource Management in Computer Systems


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlap with: COL331 EEL405, MTL358


Primary UNIX abstractions: threads, address spaces, filesystem, devices, interprocess communication; Introduction to hardware support for OS (e.g., discuss x86 architecture); Processes and Memory; Address Translation; Interrupts and Exceptions; Context Switching; Scheduling; Multiprocessors and Locking; Condition Variables, Semaphores, Barriers, Message Passing, etc.; Filesystem semantics, design and implementation; Filesystem Durability and Crash recovery; Security and Access Control




COL 671: Principles of Artificial Intelligence:


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlap with: COL333, COL770, ELL789


Problem solving, search techniques, control strategies, game playing (minimax), reasoning, knowledge representation through predicate logic, rule based systems, semantics nets, frames, conceptual dependency. Planning. Handling uncertainty: probability theory, Bayesian Networks, Dempster-Shafer theory, Fuzzy logic, Learning through Neural nets - Back propagation, radial basis functions, Neural computational models - Hopfield Nets, Boltzman machines. PROLOG programming. Expert Systems, Soft computing, introduction to natural language processing.




COL 672: Computer Networks


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlap with: COL334, ELL789


Students will be exposed to common network algorithms and protocols, including physical layer modulation (analog AM/FM, digital ASK/FSK/PSK), encoding (NRZ, Manchester, 4B/5B), link layer framing, error control, medium access control (TDMA, FDMA, CSMA/CA, CSMA/CD), bridging, SDN, addressing (IPv4/v6), name resolution (DNS), routing (DV, LS, protocols RIP, OSPF, BGP), transport protocols (TCP), congestion avoidance (window based AIMD), and application design models (clientserver,P2P, functioning of HTTP, SMTP, IMAP). Programming assignments will be designed to test network application design concepts, protocol design towards developing error detection and correction methods, efficient network utilization, and familiarization with basic tools such as ping, traceroute, wireshark.




COP701 Software Systems Laboratory


3 credits (0-0-6)


The contents may differ each year depending on the instructor. The course should involve 2-3 large programming projects done in groups of 2-4.A set of three project oriented assignments which will be announced at the start of each semester with definite submission deadlines. The set of assignments will be designed to develop skills and familarity with a majority of the following: make, configuration management tools, installation of software, archiving and creation of libraries, version control systems, documentation and literate programming systems, GUI creation, distributed state maintenance over a network, programming in different environments like desktop and handhelds, program parsing and compilation including usage of standard libraries like pthreads, numerical packages, XML and semi-structured data, simulation environments, testing and validation tools. 




COL702 Advanced Data Structures and Algorithms


4 credits (3-0-2)

Pre-requisites: COL106 or Equivalent


Review of basic data structures and their realization in object oriented Environments. Dynamic Data structures: 2-3 trees, Redblack trees, binary heaps, binomial and Fibonacci heaps, Skip lists, Universal Hashing. Data structures for maintaining ranges, intervals and disjoint sets with applications. B-trees. Tries and suffix trees. Priority queues and binary heaps. Sorting: merge, quick, radix, selection and heap sort, Graphs: Breadth first search and connected components. Depth first search in directed and undirected graphs. Disjkra’s algorithm, Directed acyclic graphs and topological sort. Some geometric data-structures. Basic algorithmic techniques like dynamic programming and divide-and-conquer. Sorting algorithms with analysis, integer sorting. Graph algorithms like DFS with applications, MSTs and shortest paths.




COL703 Logic for Computer Science


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlaps with: MTL747


Review of the principle of mathematical induction; the principle of structural induction; review of Boolean algebras; Syntax of propositional formulas; Truth and the semantics of propositional logic; Notions of satisfiability, validity, inconsistency; Deduction systems for propositional logic; Completeness of deduction sytems; First order logic (FOL) ; Proof theory for FOL; introduction to model theory; completeness and compactness theorems; First order theories. Programming exercises will include representation and evalution; conversion to normal-forms; tautology checking; proof normalization; resolution; unification; Skolemization, conversion to Horn-clauses; binary-decision diagrams. Decidability, undecidability and complexity results. Introduction to formal methods, temporal/modal logics.




COL705 Theory of Computation and Complexity


3 credits (3-0-0)

Pre-requisites: COL352 OR Equivalent


Review of Automata Theory, Turing Machines and Universal Turing Machines. Computability & Undecidability, Rice’s theorem. Computational Complexity: Time and Space hierarchy, Gap theorem, Classes P and NP, Cook-Levin theorem, PSPACE completeness, NL completeness, Immerman-Szelepcseyi theorem, Alternation, Polynomial hierarchy, Permanent and #P completeness, Oracle machines, Baker-Gill-Solovay theorem, Randomized Turing Machine, RP, ZPP, BPP, Adleman’s theorem, Yao’s minmax theorem, Derandomization.




COL718 Architecture of High Performance Computers


4 credits (3-0-2)

Pre-requisites: COL216 OR Equivalent


Classification of parallel computing structures; Instruction level parallelism - static and dynamic pipelining, improving branch performance, superscalar and VLIW processors; High performance memory system; Shared memory multiprocessors and cache coherence; Multiprocessor interconnection networks; Performance modelling; Issues in programming multiprocessors; Data parallel architectures




CCOL719 Synthesis of Digital Systems


4 credits (3-0-2)


Pre-requisites: COL215 OR Equivalent




After a basic overview of the VLSI design flow, hardware modelling principles and hardware description using the VHDL language are covered. This is followed by a study of the major steps involved in behavioural synthesis: scheduling, allocation, and binding. This is followed by register-transfer level synthesis, which includes retiming and Finite State Machine encoding. Logic synthesis, consisting of combinational logic optimisation and technology mapping, is covered next. Popular chip architectures - standard cells and FPGA are introduced. The course concludes with a brief overview of layout synthesis topics: placement and routing.




COL722 Introduction to Compressed Sensing


3 credits (3-0-0)

Pre-requisites: COL106 OR Equivalent


Sparsity, L1 minimization, Sparse regression, deterministic and probabilistic approaches to compressed sensing, restricted isometry property and its application in sparse recovery, robustness in the presence of noise, algorithms for compressed sensing. Applications in magnetic resonance imaging (MRI), applications in analog-to-digital conversion, low-rank matrix recovery, applications in image reconstruction.




COL724 Advanced Computer Networks


4 credits (3-0-2)

Pre-requisites: COL334 OR Equivalent


Review of the Internet architecture, layering; wired and wireless MAC; intra- and inter-domain Internet routing, BGP, MPLS, MANETs; error control and reliable delivery, ARQ, FEC, TCP; congestion and flow control; QoS, scheduling; mobility, mobile IP, TCP and MAC interactions, session persistence; multicast; Internet topology, economic models of ISPs/CDNs/content providers; future directions.




COL726 Numerical Algorithms


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlaps with: MTL704


Number representation, fundamentals of error analysis, conditioning, stability, polynomials and root finding, interpolation, singular value decomposition and its applications, QR factorization, condition number, least squares and regression, Gaussian elimination, eigenvalue computations and applications, iterative methods, linear programming, elements of convex optimization including steepest descent, conjugate gradient, Newton’s method.




COL728 Compiler Design


4.5 credits (3-0-3)

Pre-requisites: COL 216, COL 226 OR Equivalent


Compilers and translators; lexical and syntactic analysis, top-down and bottom up parsing techniques; internal form of source programs; semantic analysis, symbol tables, error detection and recovery, code generation and optimization. Type checking and static analysis. Static analysis formulated as fixpoint of simultaneous semantic equations. Data flow. Abstract interpretation. Correctness issues in code optimizations. Algorithms and implementation techniques for type-checking, code generation and optimization. Students will design and implement translators, static analysis, type-checking and optimization. This is a praxis-based course. Students will use a variety of software tools and techniques in implementing a complete compiler.




COL729 Compiler Optimization


4.5 credits (3-0-3)

Pre-requisites: COL 216, COL 216 OR Equivalent

Overlaps with: COL728


Program representation – symbol table, abstract syntax tree; Control flow analysis; Data flow analysis; Static single assignment; Def-use and Use-def chains; Early optimizations – constant folding, algebraic simplifications, value numbering, copy propagation, constant propagation; Redundancy Elimination – dead code elimination, loop invariant code motion, common sub-expression elimination; Register Allocation; Scheduling – branch delay slot scheduling, list scheduling, trace scheduling, software pipelining; Optimizing for memory hierarchy – code placement, scalar replacement of arrays, register pipelining; Loop transformations – loop fission, loop fusion, loop permutation, loop unrolling, loop tiling; Function inlining and tail recursion; Dependence analysis; Just-in-time compilation; Garbage collection. Laboratory component would involve getting familiar with internal representations of compilers; profiling and performance evaluation; and the design and implementation of novel compiler optimizations.




COL730 Parallel Programming


4 credits (3-0-2)

Pre-requisites: COL106, COL331


Parallel computer organization, Parallel performance analysis, Scalability, High level Parallel programming models and framework, Load distribution and scheduling, Throughput, Latency, Memory and Data Organizations, Inter-process communication and synchronization, Shared memory architecture, Memory consistency, Interconnection network and routing, Distributed memory architecture, Distributed shared memory, Parallel IO, Parallel graph algorithms, Parallel Algorithm techniques: Searching, Sorting, Prefix operations, Pointer Jumping, Divide-and-Conquer, Partitioning, Pipelining, Accelerated Cascading, Symmetry Breaking, Synchronization (Locked/Lock-free).




COL732 Virtualization and Cloud Computing


4 credits (3-0-2)

Pre-requisites: COL331


Introduction to Virtualization and Cloud Computing; Binary Translation; Hardware Virtualization; Memory Resource Management in Virtual Machine Monitor; Application of Virtualization; Cloud-scale Data Management and Processing; I/O Virtualization.




COL733 Cloud Computing Technology Fundamentals


4 credits (3-0-2)

Pre-requisites: COL331


Overview of Cloud Computing, Virtualisation of CPU, Memory and I/O Devices; Storage Virtualisation and Software Defined Storage (SDS), Software Defined Networks (SDN) and Network Virtualisation, Data Centre Design and interconnection Networks, Cloud Architectures, Public Cloud Platforms (Google App Engine, AWS,Azure), Cloud Security and Trust Management, Open Source Clouds (Baadal, Open Stack, Cloud Stack), Cloud Programming and Software Environments (Hadoop, GFS, Map Reduce, NoSQL systems, Big Table, HBase, Libvirt, OpenVswitch), Amazon (Iaas), Azure(PaaS), GAE (PaaS)




COL740 Software Engineering


4 credits (3-0-2)

Pre-requisites: COL106, COL226


Introduction to Software Engineering, Software Life Cycle models and Processes, Requirement Engineering, System Models, Architectural Design, Abstraction & Modularity, Structured Programming, Object-oriented techniques, Design Patterns, Service Oriented Architecture, User Interface Design, Verification and Validation, Reliability, Software Evolution, Project Management & Risk Analysis, Software Quality Management, Configuration Management,Software Metrics, Cost Analysis and Estimation, Manpower Management, Organization and Management of large Software Projects.




COD745 Minor Project


3 credits (0-0-6)

Pre-requisites: 60


Research and development oriented projects based on problems of practical and theoretical interest. Evaluation done based on periodic presentations, student seminars, written reports, and evaluation of the developed system (if applicable).




COP745 Digital System Design Laboratory


3 credits (0-0-6)

Pre-requisites: COL215 OR Equivalent


Being primarily a laboratory course, it would consist of a series of assignments that would increase in complexity in terms of designs to be carried out. Each assignment would involve learning to translate starting from natural language specifications to HDL design representation. The students would use modern synthesis techniques to realize these designs on FPGA boards before testing them for functionality as well as performance. Students would also be required to specify and implement a project (small system design) as part of the course.




COL750 Foundations of Automatic Verification


4 credits (3-0-2)

Pre-requisites: COL226, COL352 OR Equivalent


A selection from the following topics, and experiments with the mentioned tools: Review of first-order logic, syntax and semantics. Resolution theorem proving. Binary Decision Diagrams (BDDs) and their use in representing systems. (Programming exercises coding and using logic programming frameworks). Transition systems, automata and transducers. Buechi and other automata on infinite words; Linear Time Temporal Logic (LTL), and specifying properties of systems in LTL; the relationship between temporal logic and automata on infinite words, LTL Model checking (exercises using Spin or similar tools); Computational Tree Logic (CTL and CTL*); CTL model checking (exercises); Process calculi such as CSP and CCS. Notions of program equivalence -- traces, bisimulation and other notions. Hennessy-Milner Logic (HML) and Mu calculus (exercises using tools such as CWB -- Concurrency Work Bench). Symbolic model checking, exercises using tools such as SMV. Sat-based model checking and Davis-Putnam procedure; (exercises using tools such as nuSMV). Possible additional topics include: equational logic frameworks, real-time frameworks, reactive frameworks, pi-calculus (exercises using tools such as the Mobility Workbench), Tree automata and Weak Second-order Logic with k successors (WSkS), (exercises using Mona or similar tools).




COL751 Algorithmic Graph Theory


3 credits (3-0-0)

Pre-requisites: COL351 OR Equivalent

Overlaps with: MTL468


Algorithms for computing maximum s-t flows in graphs: augmenting path, blocking flow, push-relabel, capacity scaling etc. Max-flow min-cut theorem and its applications. Algorithms for computing min-cuts in graphs, structure of min-cuts. Min-cost flows and applications: cycle cancelling algorithms, successive shortest paths, strongly polynomial algorithms. Maximum matching in bipartite and general graphs: Hall’s theorem, Tutte’s theorem, Gallai-Edmonds decomposition. Weighted bipartite matching, Edmonds Algorithm for Weighted Non-Bipartite Matching,T-joins and applications. Factor-Critical Graphs, Ear Decompositions, Graph orientations, Splitting Off, k-Connectivity Orientations and Augmentations, Arborescences and Branchings, Edmonds therorem for disjoint arborescences. Planar graphs, algorithms for checking planarity, planar-separator theorem and its applications. Intersection graphs, perfect graphs: polyhedral characterization, the strong perfect graph theorem, kinds of perfect graphs and algorithms on them. Treewidth, algorithm for computing tree width, algorithms on graphs with bounded tree width.




COL752 Geometric Algorithms


4 credits (3-0-2)

Pre-requisites: COL351 OR Equivalent


Geometric Fundamentals: Models of computation, lower bound techniques, geometric primitives, geometric transforms Convex hulls: Planar convex hulls, higher dimensional convex hulls, randomized, output-sensitive, and dynamic algorithms, applications of convex hull, Intersection detection: segment intersection, line sweep, map overlay, halfspace intersection, polyhedra intersection, Geometric searching: segment, interval, and priority-search trees, point location, persistent data structure, fractional cascading, range searching, nearest-neighbor searching Proximity problems: closest pair, Voronoi diagram, Delaunay triangulation and their subgraphs, spanners, well separated pair decomposition Arrangements: Arrangements of lines and hyperplanes, sweep-line and incremental algorithms, lower envelopes, levels, and zones, applications of arrangementsTriangulations: monotone and simple polygon triangulations, point-set triangulations, optimization criteria, Steiner triangulation, Delaunay refinementGeometric sampling: random sampling and ε-nets, ε-approximation and discrepancy, cuttings, coresetsGeometric optimization: linear programming, LP-type problems, parametric searching, approximation techniques. Implementation Issues: robust computing, perturbation techniques, floating-point filters, rounding techniques.




COL753 Complexity Theory


3 credits (3-0-0)

Pre-requisites: COL352, COL705 OR Equivalent


Modeling computation (Finite state machines, Non-determinism, Turing machines, class P etc.), NP and NP-completeness, Diagonalization (Time hierarchy and Ladner's theorem), Space complexity (PSPACE, NL, Savitch's theorem, Immerman-Szelepcsényi theorem etc.), Polynomial hierarchy, Boolean circuits (P/poly), Randomized classes (RP, BPP, ZPP, Adleman's Theorem, Gács-Sipser-Lautemann Theorem), Interactive proofs (Arthur-Merlin, IP=PSPACE), Cryptography (one-way functions, pseudorandom generators, zero knowledge), PCP theorem and hardness of approximation, Circuit lower bounds (Hastad's switching lemma), Other topics (#P, Toda's theorem, Average-case complexity, derandomization, pseudorandom construction)




COL754 Approximation Algorithms


3 credits (3-0-0)

Pre-requisites: COL351 OR Equivalent


NP-hardness and approximation algorithms. Different kinds of approximability. Greedy algorithm and local search with applications in facility location, TSP and scheduling. Dynamic programming with applications in knapsack, Euclidean TSP, bin packing. Linear programming, duality and rounding. Applications in facility location, Steiner tree and bin packing. Randomized rounding with applications. Primal-dual algorithms and applications in facility location and network design. Cuts and metrics with applications to multi-commodity flow. Semi-definite programming and applications: max-cut, graph coloring. Hardness of approximation.




COL756 Mathematical Programming


3 credits (3-0-0)

Pre-requisites: COL351 OR Equivalent

Overlaps with: MTL103, MTL704


Linear programming: introduction, geometry, duality, sensitivity analysis. Simplex method, Large scale optimization, network simplex. Ellipsoid method, problems with exponentially many constraints, equivalence of optimization and separation. Convex sets and functions – cones, hyperplanes, norm balls, generalized inequalities and convexity, perspective and conjugate functions. Convex optimization problems – quasi-convex, linear, quadratic, geometric, vector, semi-definite. Duality – Lagrange, geometric interpretation, optimality conditions, sensitivity analysis. Applications to approximation, fitting, statistical estimation, classification. Unconstrained minimization, equality constrained minimization and interior point methods. Integer Programming: formulations, complexity, duality. Lattices, geometry, cutting plane and branch and bound methods. Mixed integer optimization.




COL757 Model Centric Algorithm Design


4 credits (3-0-2)

Pre-requisites: COL351 OR Equivalent

The RAM model and its limitations, Introduction to alternate algorithmic models Parallel models like PRAM and Interconnection networks; Basic problems like Sorting, Merging, Routing, Parallel Prefix and applications, graph algorithms like BFS, Matching

Memory hierarchy models; Caching, Sorting, Merging, FFT, Permutation, Lower bounds Data Structures - searching, Priority queues

Streaming Data models: Distinct items, frequent items, frequency moments, estimating norms, clustering


On line algorithms: competitive ratio, list accessing, paging, k-server, load-balancing, lower-bounds.




COL758 Advanced Algorithms


4 credits (3-0-2)

Pre-requisites: COL351 OR Equivalent


Advanced data structures: self-adjustment, persistence and multidimensional trees. Randomized algorithms: Use of probabilistic inequalities in analysis, Geometric algorithms: Point location, Convex hulls and Voronoi diagrams, Arrangements applications using examples. Graph algorithms: Matching and Flows. Approximation algorithms: Use of Linear programming and primal dual, Local search heuristics. Parallel algorithms: Basic techniques for sorting, searching, merging, list ranking in PRAMs and Interconnection networks.




COL759 Cryptography & Computer Security


3 credits (3-0-0)

Pre-requisites: COL351 MTL106 OR Equivalent


Overlaps with: MTL730




Part 1: Foundations: Perfect secrecy and its limitations, computational security, pseudorandom generators and one time encryption, pseudorandom functions, one way permutations, message authentication and cryptographic hash functions.


Part 2: Basic Constructions and proofs: Some number theory, symmetric key encryption, public key encryption, CPA and CCA security, digital signatures, oblivious transfer, secure multiparty computation.


Part 3: Advanced Topics: Zero knowledge proofs, identity based encryption, broadcast encryption, homomorphic encryption, lattice based cryptography.




COL760 Advanced Data Management


4 credits (3-0-2)

Pre-requisites: COL362 OR Equivalent


Storage and file structures, advanced query processing and optimization for single server databases, distributed data management (including distributed data storage, query processing and transaction management), web-data management (including managing the web-graph and implementation of web-search), big data systems.




COL762 Database Implementation


4 credits (3-0-2)

Pre-requisites: COL362 OR Equivalent


Review of Relational Model, Algebra and SQL, File structures, Constraints and Triggers, System Aspects of SQL, Data Storage, Representing Data Elements, Index, Multi dimensional and Bit-map Indexes, Hashing, Query Execution, Query Compiler.




COL765 Intro. To Logic and Functional Programming


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent


Introduction to declarative programming paradigms. The functional style of programming, paradigms of developments of functional programs, use of higher order functionals and pattern-matching. Introduction to lambda calculus. Interpreters for functional languages and abstract machines for lazy and eager lambda calculi, Types, type-checking and their relationship to logic. Logic as a system for declarative programming. The use of pattern-matching and programming of higher order functions within a logic programming framework. Introduction to symbolic processing. The use of resolution and theorem-proving techniques in logic programming. The relationship between logic programming and functional programming.




COL768 Wireless Networks


4 credits (3-0-2)

Pre-requisites: COL334 OR Equivalent


Radio signal propagation, advanced modulation and coding, medium access techniques, self-configurable networks, mesh networks, cognitive radio and dynamic spectrum access networks, TCP over wireless, wireless security, emerging applications.




COL770 Advanced Artificial Intelligence


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlap with: COL333, COL770, ELL789


Philosophy of artificial intelligence, fundamental and advanced search techniques (A*, local search, suboptimal heuristic search, search in AND/OR graphs), constraint optimization, temporal reasoning, knowledge representation and reasoning through propositional and first order logic, modern game playing (UCT), planning under uncertainty (Topological value iteration, LAO*, LRTDP), reinforcement learning, introduction to robotics, introduction to probabilistic graphical models (Bayesian networks, Hidden Markov models, Conditional random fields), machine learning, introduction to information systems (information retrieval, information extraction).




COL772 Natural Language Processing


4 credits (3-0-2)

Pre-requisites: COL106 OR Equivalent

Overlaps with: MTL785

NLP concepts: Tokenization, lemmatization, part of speech tagging, noun phrase chunking, named entity recognition, co-reference resolution, parsing, information extraction, sentiment analysis, question answering, text classification, document clustering, document summarization, discourse, machine translation.


Machine learning concepts: Naïve Bayes, Hidden Markov Models, EM, Conditional Random Fields, MaxEnt Classifiers, Probabilistic Context Free Grammars.




COL774 Machine Learning


4 credits (3-0-2)

Pre-requisites: MTL106 OR Equivalent

Overlaps with: COL341 ELL784, ELL888

Supervised learning algorithms: Linear and Logistic Regression, Gradient Descent, Support Vector Machines, Kernels, Artificial Neural Networks, Decision Trees, ML and MAP Estimates, K-Nearest Neighbor, Naive Bayes, Introduction to Bayesian Networks. Unsupervised learning algorithms: K-Means clustering, Gaussian Mixture Models, Learning with Part


ially Observable Data (EM). Dimensionality Reduction and Principal Component Analysis. Bias Variance Trade-off. Model Selection and Feature Selection. Regularization. Learning Theory. Introduction to Markov Decision Processes. Application to Information Retrieval, NLP, Biology and Computer Vision. Advanced Topics.




COL776 Learning Probabilistic Graphical Models


4 credits (3-0-2)

Pre-requisites: MTL106 OR Equivalent


Basics: Introduction. Undirected and Directed Graphical Models. Bayesian Networks. Markov Networks. Exponential Family Models. Factor Graph Representation. Hidden Markov Models. Conditional Random Fields. Triangulation and Chordal Graphs. Other Special Cases: Chains, Trees. Inference: Variable Elimination (Sum Product and Max-Product). Junction Tree Algorithm. Forward Backward Algorithm (for HMMs). Loopy Belief Propagation. Markov Chain Monte Carlo. Metropolis Hastings. Importance Sampling. Gibbs Sampling. Variational Inference. Learning: Discriminative Vs. Generative Learning. Parameter Estimation in Bayesian and Markov Networks. Structure Learning. EM: Handling Missing Data. Applications in Vision, Web/IR, NLP and Biology. Advanced Topics: Statistical Relational Learning, Markov Logic Networks.




COL780 Computer Vision


4 credits (3-0-2)

Pre-requisites: EC 80

Overlaps with: ELL793


Camera models. Calibration, multi-views projective geometry and invariants. Feature detection, correspondence and tracking. 3D structure/motion estimation. Application of machine learning in object detection and recognition, category discovery, scene and activity interpretation.




COL781 Computer Graphics


4.5 credits (3-0-3)

Pre-requisites: COL106 OR Equivalent

Overlaps with: ELL792


Graphics pipeline; Graphics hardware: Display devices, Input devices; Raster Graphics: line and circle drawing algorithms; Windowing and 2D/3D clipping: Cohen and Sutherland line clipping, Cyrus Beck clipping method; 2D and 3D Geometrical Transformations: scaling, translation, rotation, reflection; Viewing Transformations: parallel and perspective projection; Curves and Surfaces: cubic splines, Bezier curves, B-splines, Parametric surfaces, Surface of revolution, Sweep surfaces, Fractal curves and surfaces; Hidden line/surface removal methods; illuminations model; shading: Gouraud, Phong; Introduction to Ray-tracing; Animation; Programming practices with standard graphics libraries like openGL.




COL783 Digital Image Analysis


4.5 credits (3-0-3)

Pre-requisites: COL106, ELL205 OR Equivalent

Overlap with: ELL715


Digital Image Fundamentals; Image Enhancement in Spatial Domain: Gray Level Transformation, Histogram Processing, Spatial Filters; Image Transforms: Fourier Transform and their properties, Fast Fourier Transform, Other Transforms; Image Enhancement in Frequency Domain; Color Image Processing; Image Warping and Restoration; Image Compression; Image Segmentation: edge detection, Hough transform, region based segmentation; Morphological operators; Representation and Description; Features based matching and Bayes classification; Introduction to some computer vision techniques: Imaging geometry, shape from shading, optical flow; Laboratory exercises will emphasize development and evaluation of image processing methods.




COL786 Advanced Functional Brain Imaging


4 credits (3-0-2)


Introduction to human Neuro-anatomy, Hodgkin Huxley model, overview of brain imaging methods, introduction to magnetic resonance imaging, detailed fMRI, fMRI data analysis methods, general linear model, network analysis, machine learning based methods of analysis.




COL788 Advanced Topics in Embedded Computing


3 credits (3-0-0)

Pre-requisites: COL216, COL331 OR Equivalent

Overlaps with: ELL782

Embedded Platforms , Embedded processor architectures, System initialization, Embedded operating systems (linux) , DSP and graphics acceleration, Interfaces, Device Drivers, Network, Security, Debug support, Performance tuning.


The course would involve substantial programming assignments on embedded platforms.




COS799 Independent Study


3 credits (0-3-0)


The student will be tasked with certain reading assignments and related problem solving in a appropriate area of research in Computer Science under the overall guidance of a CSE Faculty member. The work will be evaluated through term paper.




COL812 System Level Design and Modelling


3 credits (3-0-0)

Pre-requisites: COL719


Embedded systems and system-level design, models of computation, specification languages, hardware/software co-design, system partitioning, application specific processors and memory, low power design.




COL818 Principles of Multiprocessor Systems


4 credits (3-0-2)

Pre-requisites: COL216, COL351, COL331 OR Equivalent


Mutual Exclusion, Coherence and Consistency, Register Constructions , Power of Synchronization Operations , Locks and Monitors, Concurrent queues, Futures and Work-Stealing, Barriers, Basics of Transactional Memory (TM), Regular Hardware TMs, Unbounded HadwareTMs, Software TMs




COL819 Advanced Distributed Systems


4 credits (3-0-2)

Pre-requisites: COL331 COL334 COL380 OR Equivalent


Epidemic/Gossip based algorithms, Peer to peer networks, Distributed hash tables, Synchronization, Mutual exclusion, Leader election, Distributed fault tolerance, Large scale storage systems, Distributed file systems, Design of social networking systems.




COL821 Reconfigurable Computing


3 credits (3-0-0)

Pre-requisites: COL719


FPGA architectures, CAD for FPGAs: overview, LUT mapping, timing analysis, placement and routing, Reconfigurable devices - from fine-grained to coarse-grained devices, Reconfiguration modes and multi-context devices, Dynamic reconfiguration, Compilation from high level languages, System level design for reconfigurable systems: heuristic temporal partitioning and ILP-based temporal partitioning, Behavioral synthesis, Reconfigurable example systems’ tool chains.




COL829 Advanced Computer Graphics


4 credits (3-0-2)

Pre-requisites: COL781


Rendering: Ray tracing, Radiosity methods, Global illumination models, Shadow generation, Mapping, Anti-aliasing, Volume rendering, Geometrical Modeling: Parametric surfaces, Implicit surfaces, Meshes, Animation: spline driven, quarternions, articulated structures (forward and inverse kinematics), deformation- purely geometric, physically-based, Other advanced topics selected from research papers.




COL830 Distributed Computing


3 credits (3-0-0)

Pre-requisites: COL226 OR Equivalent

Models of Distributed Computing; Basic Issues: Causality, Exclusion, Fairness, Independence, Consistency; Specification of Distributed Systems: Transition systems, petri nets, process algebra properties: Safety, Liveness, stability.

COL831 Semantics of Programming Languages

3 credits (3-0-0)

Pre-requisites: COL226, COL352


Study of operational, axiomatic and denotational semantics of procedural languages; semantics issues in the design of functional and logic programming languages, study of abstract data types.




COL832 Proofs and Types


3 credits (3-0-0)

Pre-requisites: COL226, COL352


Syntax and semantic foundations: Ranked algebras, homomorphisms, initial algebras, congruences. First-order logic review: Soundness, completeness, compactness. Herbrand models and Herbrand’s theorem, Horn-clauses and resolution. Natural deduction and the Sequent calculus. Normalization and cut elimination. Lambda-calculus and Combinatory Logic: syntax and operational semantics (beta-eta equivalence), confluence and Church-Rosser property. Introduction to Type theory: The simply-typed lambda-calculus, Intuitionistic type theory. Curry-Howard correspondence. Polymorphism, algorithms for polymorphic type inference, Girard and Reynolds’ System F. Applications: type-systems for programming languages; modules and functors; theorem proving, executable specifications.




COL851 Special Topics in Operating Systems


3 credits (3-0-0)

Pre-requisites: COL331 Or Equivalent


To provide insight into current research problems in the area of operating systems. Topics may include, but are not limited to, OS design, web servers, Networking stack, Virtualization, Cloud Computing, Distributed Computing, Parallel Computing, Heterogeneous Computing, etc.




COL852 Special Topics in COMPILER DESIGN


3 credits (3-0-0)

Pre-requisites: COL728/COL729


Special topic that focuses on state of the art and research problems of importance in this area.




COL860 Special Topics in Parallel Computation


3 credits (3-0-0)


The course will focus on research issues in areas like parallel computation models, parallel algorithms, Parallel Computer architectures and interconnection networks, Shared memory parallel architectures and programming with OpenMP and Ptheards, Distributed memory message-passing parallel architectures and programming, portable parallel message-passing programming using MPI. This will also include design and implementation of parallel numerical and non-numerical algorithms for scientific and engineering, and commercial applications. Performance evaluation and benchmarking high-performance computers.




COL861 Special Topics in Hardware Systems


3 credits (3-0-0)


Under this topic one of the following areas will be covered: Fault Detection and Diagnosability. Special Architectures. Design Automation Issues. Computer Arithmetic, VLSI.




COL862 Special Topics in Software Systems


3 credits (3-0-0)


Special topic that focuses on state of the art and research problems of importance in this area.




COL863 Special Topics in Theoretical Computer Science


3 credits (3-0-0)

Pre-requisites: COL351


Under this topic one of the following areas will be covered: Design and Analysis of Sequential and Parallel Algorithms. Complexity issues, Trends in Computer Science Logic, Quantum Computing and Bioinformatics, Theory of computability. Formal Languages. Semantics and Verification issues.




COL864 Special Topics in Artificial Intelligence


3 credits (3-0-0)

Pre-requisites: COL333 / COL671 / Equivalent


Potential topics or themes which may be covered (one topic per offering) include: information extraction, industrial applications of AI, advanced logic-based AI, Markov Decision Processes, statistical relational learning, etc.




COL865 Special Topics in Computer Applications


3 credits (3-0-0)

Pre-requisites: Permission of the Instructor


Special topic that focuses on special topics and research problems of importance in this area.




COL866 Special Topics in Algorithms


3 credits (3-0-0)

Pre-requisites: COL 351 OR Equivalent


The course will focus on specialized topics in areas like Computational Topology, Manufacturing processes, Quantum Computing, Computational Biology, Randomized algorithms and other research intensive topics.




COL867 Special Topics in High Speed Networks


3 credits (3-0-0)

Pre-requisites: COL334 OR COL672


The course will be delivered through a mix of lectures and paper reading seminars on advanced topics in Computer Networks. Hands-on projects will be conceptualized to challenge students to take up current research problems in areas such as software defined networking, content distribution, advanced TCP methodologies, delay tolerant networking, data center networking, home networking, green networking, clean state architecture for the Internet, Internet of things, etc.




COL868 Special topics in Database Systems


3 credits (3-0-0)

Pre-requisites: COL334 / COL672 / Equivalent


The contents would include specific advanced topics in Database Management Systems in which research is currently going on in the department. These would be announced every time the course is offered.




COL869 Special topics in Concurrency


3 credits (3-0-0)


The course will focus on research issues in concurrent, distributed and mobile computations. Models of Concurrent, Distributed and Mobile computation. Process calculi, Event Structures, Petri Nets an labeled transition systems. Implementations of concurrent and mobile, distributed programming languages. Logics and specification models for concurrent and mobile systems.Verification techniques and algorithms for model checking.Type systems for concurrent/mobile programming languages.Applications of the above models and techniques.




COL870 Special Topics in Machine Learning


3 credits (3-0-0)

Pre-requisites: COL341 OR Equivalent


Contents may vary based on the instructor’s expertise and interests within the broader area of Machine Learning. Example topics include (but not limiting to) Statistical Relational Learning, Markov Logic, Multiple Kernel Learning, Multi-agent Systems, Multi-Class Multi-label Learning, Deep Learning, Sum-Product Networks, Active and Semi-supervised Learning, Reinforcement Learning, Dealing with Very High-Dimensional Data, Learning with Streaming Data, Learning under Distributed Architecture.




COL871 Special Topics in programming languages & Compilers


3 credits (3-0-0)

Pre-requisites: COL728 / COL729 / Equivalent


Contents may vary based on the instructor’s interests within the broader area of Programming Languages and Compilers.




COL872 Special Topics in Cryptography


3 credits (3-0-0)

Pre-requisites: COL759 OR Equivalent


Contents may vary based on the instructor’s interests within the broader area of Cryptography. Examples include CCA secure encryption, multiparty computation, leakage resilient cryptography, broadcast encryption, fully homomorphic encryption, obfuscation, functional encryption, zero knowledge, private information retrieval, byzantine agreement, cryptography against extreme attacks etc.




COV877 Special Module on Visual Computing


1 credit (1-0-0)


The course will be a seminar-based course where the instructor would present topics in a selected theme in the area of visual computing through research papers. Students will also be expected to participate in the seminar.




COV878 Special Module in Machine Learning


1 credit (1-0-0)


Contents may vary based on the instructor’s expertise and interests within the broader area of Machine Learning. Example topics include (but not limiting to) Statistical Relational Learning, Markov Logic, Multiple Kernel Learning, Multi-agent Systems, Multi-Class Multi-label Learning, Deep Learning, Sum-Product Networks, Active and Semi-supervised Learning, Reinforcement Learning, Dealing with Very High-Dimensional Data, Learning with Streaming Data, Learning under Distributed Architecture.




COV879 Special Module in Financial Algorithms


1 credits (1-0-0)

Pre-requisites: MTL106 OR Equivalent

Overlap with: MTL 732 & MTL 733


Special module that focuses on special topics and research problems of importance in this area.




COV880 Special Module in Parallel Computation


1 credit (1-0-0)

Pre-requisites: Permission of Instructor


Special module that focuses on special topics and research problems of importance in this area.




COV881 Special Module in Hardware Systems


1 credit (1-0-0)

Pre-requisites: Permission of Instructor


Special module that focuses on special topics and research problems of importance in this area.




COV882 Special Module in Software Systems


1 credit (1-0-0)


Special module that focuses on special topics and research problems of importance in this area.




COV883 Special Module in Theoretical Computer Science


1 credit (1-0-0)

Pre-requisites: COL 351 OR equivalent


Special module that focuses on special topics and research problems of importance in this area.




COV884 Special Module in Artificial Intelligence


1 credit (1-0-0)

Pre-requisites: COL333 / COL671 / Equivalent


Special module that focuses on special topics and research problems of importance in this area.




COV885 Special Module in Computer Applications


1 credit (1-0-0)


Special module that focuses on special topics and research problems of importance in this area.




COV886 Special Module in Algorithms


1 credit (1-0-0)

Pre-requisites: COL351 OR Equivalent


Special module that focuses on special topics and research problems of importance in this area.




COV887 Special Module in High Speed Networks


1 credit (1-0-0)

Pre-requisites: COL 334 OR COl 672


The course will be delivered through a mix of lectures and paper reading seminars on advanced topics in Computer Networks. Students will be introduced to topics such as software defined networking, content distribution, advanced TCP methodologies, delay tolerant networking, data center networking, home networking, green networking, clean state architecture for the Internet, Internet of things, etc.




COV888 Special Module in Database Systems


1 credit (1-0-0)

Pre-requisites: COL362 OR COL632 OR Equivalent


Potential topics or themes which may be covered (one topic per offering) include: data mining, big data management, information retrieval and database systems, semantic web data management, etc




COV889 Special Module in Concurrency


1 credit (1-0-0)

Pre-requisites: MTL106 OR Equivalent


Special module that focuses on special topics and research problems of importance in this area.




COD891 M.Tech Minor Project


3 credits (0-0-6)


Research and development oriented projects based on problems of practical and theoretical interest. Evaluation done based on periodic presentations, student seminars, written reports, and evaluation of the developed system (if applicable). Students are generally expected to work towards the goals and mile stones set for Minor Project COP 891.




COD892 M.Tech Project Part-I


7 credits (0-0-14)


It is expected that the problem specification and milestones to be achieved in solving the problem are clearly specified. Survey of the related area should be completed. This project spans also the course COP892. Hence it is expected that the problem specification and the milestones to be achieved in solving the problem are clearly specified.




COD893 M.Tech Project Part-II


14 credits (0-0-28)

Pre-requisites: COD 892

The student(s) who work on a project are expected to work towards the goals and milstones set in COP893. At the end there would be a demonstration of the solution and possible future work on the same problem. A dissertation outlining the entire problem, including a survey of literature and the various results obtained along with their solutions is expected to be produced by each student.