[go: up one dir, main page]

0% found this document useful (0 votes)
29 views11 pages

DepartmentOfCSE Course Description

Uploaded by

pitonib499
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views11 pages

DepartmentOfCSE Course Description

Uploaded by

pitonib499
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Department of Computer Science and Engineering

COL100 Introduction to Computer Science COL226 Programming Languages


4 Credits (3-0-2) 5 Credits (3-0-4)
Organization of Computing Systems. Concept of an algorithm; Pre-requisite(s): COL106
termination and correctness. Algorithms to programs: specification,
top-down development and stepwise refinement. Problem solving Overlaps with: COL765
using a functional style; Correctness issues in programming; Efficiency Value and state oriented paradigms. Translation. Notions of syntax and
issues in programming; Time and space measures. Procedures, semantics of programming languages; introduction to operational/
functions. Data types, representational invariants. Encapsulation, natural semantics of functional and imperative languages. Data
abstractions, interaction and modularity. Identifying and exploiting abstractions and control constructs; block-structure and scope,
inherent concurrency. Structured style of imperative programming. principles of abstraction, qualification and correspondence; parameter
Introduction to numerical methods. At least one example of large passing mechanisms; runtime structure and operating environment;
program development. practical and implementation issues in run-time systems and
environment; abstract machines; features of functional and imperative
COL106 Data Structures & Algorithms languages; the un-typed and simply-typed Lambda calculus, type
systems for programming languages including simple types and
5 Credits (3-0-4)
polymorphism; objects; classes and inheritance in object-oriented
Pre-requisite(s): COL100 languages. Interactive programming and interfaces. The laboratory
Introduction to object-oriented programming through stacks queues activities will involve building a variety of small interpreters for core
and linked lists. Dictionaries; skip-lists, hashing, analysis of collision languages in various paradigms. Tools such as lex and yacc will be
resolution techniques. Trees, traversals, binary search trees, optimal introduced for front-end analysis.
and average BSTs. Balanced BST: AVL Trees, 2-4 trees, red-black
trees, B-trees. Tries and suffix trees. Priority queues and binary COP290 Design Practices
heaps. Sorting: merge, quick, radix, selection and heap sort, Graphs: 3 Credits (0-0-6)
Breadth first search and connected components. Depth first search
in directed and undirected graphs. Pre-requisite(s): COL 106
The contents may differ each year depending on the instructor.
Disjkra’s algorithm, directed acyclic graphs and topological sort. Some
The course should involve 2-3 large programming projects done in
geometric data-structures.
groups of 2-4.
COL202 Discrete Mathematical Structures
COD300 Design Project
4 Credits (3-1-0)
2 Credits (0-0-4)
Overlaps with: MTL180 Basic design methodology – introduction to the steps involved,
Propositional logic, Predicate Calculus and Quantifiers; Proof Methods; Familiarization with software practices, tools and techniques, software
Sets, functions, relations, Cardinality, Infinity and Diagonalization; project involving conceptualization, design analysis, implementation
Induction and Recursion; Modular Arithmetic, Euclid’s Algorithm, and testing using the tools and techniques learnt.
primes, Public Key Cryptography; Polynomials, finite fields and Secret
Sharing; Coding Theory: Error correcting codes, Hamming codes, COD310 Mini Project
Hamming bound; Basic Counting - Pigeon hole principle; Advanced 3 Credits (0-0-6)
Counting - recurrence relations, generating functions, inclusion-
Design/fabrication/implementation work under the guidance of a
exclusion; basic information theory, entropy, Kraft’s inequality,
faculty member. Prior to registration, a detailed plan of work should be
mutual information, lower bounds; Probability - sample space,
submitted by the student to the Head of the Department for approval.
conditional probability, expectation, linearity of expectation, variance,
Markov, Chebychev, probabilistic methods; Graph Theory - Eulerian,
Hamiltonian & planar graphs, edge and vertex coloring.
COR310 Professional Practices (CS)
2 Credits (1-0-2)
COL215 Digital Logic & System Design EC - 60
5 Credits (3-0-4) The course would consist of talks by working professionals from
industry, government and research organizations. It may also include
Pre-requisite(s): COL100, ELL101
site visits to various organizations.
Overlaps with: ELL201
The course contents can be broadly divided into two parts. First part COS310 Independent Study (CS)
deals with the basics of circuit design and includes topics like circuit
3 Credits (0-3-0)
minimization, sequential circuit design and design of and using RTL
building blocks. The second part is focused on ASIC style system EC - 60
design and introduces VHDL, FPGA as implementation technology, Research oriented activities or study of subjects outside regular
synthesis steps as well as testing techniques. Course ends with course offerings under the guidance of a faculty member. Prior to
introducing the challenges of embedded design where software is registration, a detailed plan of work should be submitted by the
becoming integral to all devices. The laboratory assignments are a student to the Head of the Department for approval.
key component of this course and requires students to design and
implement circuits and sub-systems on FPGA kits covering almost all COP315 Embedded System Design Project
the topics covered in the lectures.
4 Credits (0-1-6)
COL216 Computer Architecture Pre-requisite(s): COL215, COL216 or equivalent courses
4 Credits (3-0-2) Students working in small groups of four to six are expected to
deliver in one semester on an innovative solution for problems/
Pre-requisite(s): ELL201 challenges that are typical to India and perhaps other developing
Overlaps with: ELL305 countries. The students would have to go through the full cycle of
History of computers, Boolean logic and number systems, Assembly specification, design and prototyping/building a concept demonstrator.
language programming, ARM assembly language, Computer Key component of the assessment would be through a public
arithmetic, Design of a basic processor, Microprogramming, Pipelining, demonstration of their solution.
Memory system, Virtual memory, I/O protocols and devices, Learning to work in groups as well as planning and delivering a large
Multiprocessors. task are other expected learnings.

220
Courses of Study 2023-2024 Computer Science and Engineering

COL331 Operating Systems matching, KMP and Rabin-Karp. Universal hashing and applications.
5 Credits (3-0-4) Geometric algorithms like convex hulls, multidimensional data
structures, plane sweep paradigm.
Pre-requisite(s): COL106 COP290
COL352 Introduction to Automata & Theory of
Overlaps with: ELL405
Computation
Primary UNIX abstractions: threads, address spaces, file system,
devices, inter process communication; Introduction to hardware 3 Credits (3-0-0)
support for OS (e.g., discuss x86 architecture); Processes and Pre-requisite(s): COL202
Memory; Address Translation; Interrupts and Exceptions; Context Regular Languages, Finite Automata, equivalence, minimization,
Switching; Scheduling; Multiprocessors and Locking; Condition Myhill-Nerode Theorem, introduction to non-determinism, Context
Variables, Semaphores, Barriers, Message Passing, etc.; File system free grammars, Pushdown automata, equivalence and applications.
semantics, design and implementation; File system Durability and Turing machines, Recursive and Recursively enumerable sets, non-
Crash recovery; Security and Access Control. determinism, RAMs and equivalence, Universal Turing Machines,
COL333 Principles of Artificial Intelligence undecidability, Rice’s theorems for RE sets, Post machines, Basics of
Recursive function theory. Equivalence, Church’s thesis, computational
4 Credits (3-0-2) complexity, space and time complexity of Turing Machines,
Pre-requisite(s): COL106 Relationships, Savage’s theorem, Complexity classes, Complete
problems, NP-completeness, Cook-Levin theorem.
Overlaps with: COL671, COL770, ELL789
Philosophy of artificial intelligence, problem solving, search techniques, COL362 Introduction to Database Management Systems
constraint satisfaction, game playing (minimax, expectiminimax), 4 Credits (3-0-2)
automated planning, knowledge representation and reasoning
through logic, knowledge representation and reasoning through fuzzy Pre-requisite(s): COL106
logic and Bayesian networks, Markov decision processes, machine Data models (ER, relational models, constraints, normalization),
learning, neural networks, reinforcement learning, soft computing, declarative querying (relational algebra, datalog, SQL), query
introduction to natural language processing. processing/optimization (basics of indexes, logical/physical
query plans, views) and transaction management (introduction
COL334 Computer Networks to concurrency control and recovery). Overview of XML data
4 Credits (3-0-2) management, text management, distributed data management.
Course project to build a web-based database application.
Pre-requisite(s): COL106, COL216
Overlaps with: ELL402 COL380 Introduction to Parallel & Distributed
Students will be exposed to common network algorithms and Programming
protocols, including physical layer modulation (analog AM/FM, 3 Credits (2-0-2)
digital ASK/FSK/PSK), encoding (NRZ, Manchester, 4B/5B), link layer
Pre-requisite(s): COL106, COL351, COL331
framing, error control, medium access control (TDMA, FDMA, CSMA/
CA, CSMA/CD), bridging, SDN, addressing (IPv4/v6), name resolution Overlaps with: COL730
(DNS), routing (DV, LS, protocols RIP, OSPF, BGP), transport protocols Concurrency, Consistency of state and memory, Parallel architecture,
(TCP), congestion avoidance (window based AIMD), and application Latency and throughput, Models of parallel computation, performance
design models (client-server, P2P, functioning of HTTP, SMTP, metrics and speedup, Message-passing and Shared-memory
IMAP). Programming assignments will be designed to test network programming paradigms, Communication networks and primitives,
application design concepts, protocol design towards developing error Concepts of Atomicity, Consensus, Conditions and Synchronization,
detection and correction methods, efficient network utilization, and Security, Fault tolerance, Replication of state and memory.
familiarization with basic tools such as ping, trace route, wires hark.
COD492 B.Tech. Project Part-I
COL341 Fundamentals of Machine Learning 6 Credits (0-0-12)
4 Credits (3-0-2) Pre-requisite(s): EC 100
Pre-requisite(s): COL106, MTL106 Overlaps with: COD490
Overlaps with: ELL409, ELL784 This course is part-1 of a large project and is designed for CSE B.Tech.
Supervised Learning Algorithms: 1. Logistic Regression 2.Neural students seeking department specialization. This project is done
Networks 3.Decision Trees 4.Nearest Neighbour 5. Support individually, or sometimes in small groups, under the supervision of
Vector Machines 6. Naive Bayes. ML and MAP estimates. Bayes’ one or more faculty member of the computer science department.
Optimal Classifier. Introduction to Graphical Models. Generative Vs. This project spans also the course COD494. Hence it is expected
Discriminative Models. Unsupervised learning algorithms: K-Means that the problem specification and the milestones to be achieved
clustering, Expectation Maximization, Gaussian Mixture Models. PCA in solving the problem are clearly specified. Students not seeking
and Feature Selection, PAC Learnability, Reinforcement Learning. specialization may takes this course of if they are interested in the
Some application areas of machine learning e.g. Natural Language COD490-COD492 sequence.
Processing, Computer Vision, applications on the web. Introduction
to advanced topics such as Statistical Relational Learning. COD494 B.Tech. Project Part-II
8 Credits (0-0-16)
COL351 Analysis and Design of Algorithms
Pre-requisite(s): COD492, EC 100
4 Credits (3-1-0)
The student(s) who work on a project are expected to work towards
Pre-requisite(s): COL106 the goals and milestones set in COD492. At the end there would
Overlaps with: MTL342, COL702 be a demonstration of the solution and possible future work on the
Checking 2-edge, 2-node and strong connectivity using DFS, Strongly same problem. A dissertation outlining the entire problem, including
connected components. Greedy algorithms, minimum spanning a survey of literature and the various results obtained along with
trees (Prim/Kruskal), Union-find data structure. Matroids. Divide and their solutions is expected to be produced.
conquer algorithms. Polynomial multiplication, DFT and FFT. Dynamic COL632: Introduction to Database Systems
Programming, All pairs shortest paths (Bellman-Ford, Floyd Warshall).
s-t flows, Ford-Fulkerson, Edmonds-Karp, applications of maxflow 4 Credits (3-0-2)
Intractability, NP-completeness, Polynomial time reductions. String Pre-requisite(s): COL106 OR Equivalent
221
Computer Science and Engineering Courses of Study 2023-2024

Overlap with: COL362 COL702 Advanced Data Structures and Algorithms


Data models (ER, relational models, constraints, normalization), 4 Credits (3-0-2)
declarative querying (relational algebra, datalog, SQL), query
processing/optimization (basics of indexes, logical/physical
Pre-requisite(s): COL106 OR Equivalent
query plans, views) and transaction management (introduction Overlaps with: COL351
to concurrency control and recovery). Overview of XML data Review of basic data structures and their realization in object oriented
management, text management, distributed data management. Environments. Dynamic Data structures: 2-3 trees, Redblack trees,
Course project to build a web-based database application. binary heaps, binomial and Fibonacci heaps, Skip lists, Universal
Hashing. Data structures for maintaining ranges, intervals and disjoint
COL633: Resource Management in Computer Systems sets with applications. B-trees. Tries and suffix trees. Priority queues
4 Credits (3-0-2) and binary heaps. Sorting: merge, quick, radix, selection and heap
sort, Graphs: Breadth first search and connected components. Depth
Pre-requisite(s): COL106 OR Equivalent first search in directed and undirected graphs. Disjkra’s algorithm,
Overlap with: COL331, EEL405 Directed acyclic graphs and topological sort. Some geometric data-
Primary UNIX abstractions: threads, address spaces, filesystem, structures. Basic algorithmic techniques like dynamic programming and
devices, interprocess communication; Introduction to hardware divide-and-conquer. Sorting algorithms with analysis, integer sorting.
support for OS (e.g., discuss x86 architecture); Processes and Graph algorithms like DFS with applications, MSTs and shortest paths.
Memory; Address Translation; Interrupts and Exceptions; Context
COL703 Logic for Computer Science
Switching; Scheduling; Multiprocessors and Locking; Condition
Variables, Semaphores, Barriers, Message Passing, etc.; Filesystem 4 Credits (3-0-2)
semantics, design and implementation; Filesystem Durability and Pre-requisite(s): COL106 OR Equivalent
Crash recovery; Security and Access Control
Overlaps with: COL765 & COL226
Review of the principle of mathematical induction; the principle
COL671: Principles of Artificial Intelligence:
of structural induction; review of Boolean algebras; Syntax of
4 Credits (3-0-2) propositional formulas; Truth and the semantics of propositional logic;
Pre-requisite(s): COL106 OR Equivalent Notions of satisfiability, validity, inconsistency; Deduction systems for
propositional logic; Completeness of deduction systems; First order
Overlap with: COL333, COL770, ELL789 logic (FOL); Proof theory for FOL; introduction to model theory;
Problem solving, search techniques, control strategies, game playing completeness and compactness theorems; First order theories.
(minimax), reasoning, knowledge representation through predicate Programming exercises will include representation and evaluation;
logic, rule based systems, semantics nets, frames, conceptual conversion to normal-forms; tautology checking; proof normalization;
dependency. Planning. Handling uncertainty: probability theory, resolution; unification; Skolemization, conversion to Horn-clauses;
Bayesian Networks, Dempster-Shafer theory, Fuzzy logic, Learning binary-decision diagrams. Decidability, undecidability and complexity
through Neural nets - Back propagation, radial basis functions, Neural results. Introduction to formal methods, temporal/modal logics.
computational models - Hopfield Nets, Boltzman machines. PROLOG
programming. Expert Systems, Soft computing, introduction to natural COL707 Introduction to Ethical Issues in Computer
language processing. Science
4 credits (3-0-2)
COL672: Computer Networks
Pre-requisite(s): COL351 or COL702
4 Credits (3-0-2)
systems – consequentialism, deontological, virtue ethics; Known
Pre-requisite(s): COL106 OR Equivalent concerns that arise at different layers in an information system –
Overlap with: COL334, ELL402 user interface design, data and privacy, algorithms and artificial
intelligence, multi-stakeholder system design, and management
Students will be exposed to common network algorithms and
policies; Methods to address these concerns; Assignments to analyze
protocols, including physical layer modulation (analog AM/FM,
various layers in information systems through the lenses of different
digital ASK/FSK/PSK), encoding (NRZ, Manchester, 4B/5B), link layer
ethical theories; Design methods such as participatory design and
framing, error control, medium access control (TDMA, FDMA, CSMA/
action research; Application of design methods to formulate new
CA, CSMA/CD), bridging, SDN, addressing (IPv4/v6), name resolution
information systems or improve existing ones; Political economy of
(DNS), routing (DV, LS, protocols RIP, OSPF, BGP), transport protocols
technology; Theories of technology determinism and Social control
(TCP), congestion avoidance (window based AIMD), and application
of technology.
design models (clientserver,P2P, functioning of HTTP, SMTP,
IMAP). Programming assignments will be designed to test network COL718 Architecture of High Performance Computers
application design concepts, protocol design towards developing error
detection and correction methods, efficient network utilization, and
4 Credits (3-0-2)
familiarization with basic tools such as ping, traceroute, wireshark. Pre-requisite(s): COL216 OR Equivalent
Classification of parallel computing structures; Instruction level
COP701 Software Systems Laboratory parallelism - static and dynamic pipelining, improving branch
3 Credits (0-0-6) performance, superscalar and VLIW processors; High performance
memory system; Shared memory multiprocessors and cache
The contents may differ each year depending on the instructor.
coherence; Multiprocessor interconnection networks; Performance
The course should involve 2-3 large programming projects done in
modelling; Issues in programming multiprocessors; Data parallel
groups of 2-4. A set of three project oriented assignments which will
architectures.
be announced at the start of each semester with definite submission
deadlines. The set of assignments will be designed to develop skills COL719 Synthesis of Digital Systems
and familarity with a majority of the following: make, configuration
4 Credits (3-0-2)
management tools, installation of software, archiving and creation
of libraries, version control systems, documentation and literate Pre-requisite(s): COL215 OR Equivalent
programming systems, GUI creation, distributed state maintenance After a basic overview of the VLSI design flow, hardware modelling
over a network, programming in different environments like desktop principles and hardware description using the VHDL language are
and handhelds, program parsing and compilation including usage of covered. This is followed by a study of the major steps involved in
standard libraries like pthreads, numerical packages, XML and semi- behavioural synthesis: scheduling, allocation, and binding. This is
structured data, simulation environments, testing and validation tools. followed by register-transfer level synthesis, which includes retiming

222
Courses of Study 2023-2024 Computer Science and Engineering

and Finite State Machine encoding. Logic synthesis, consisting Data flow. Abstract interpretation. Correctness issues in code
of combinational logic optimisation and technology mapping, is optimizations. Algorithms and implementation techniques for type-
covered next. Popular chip architectures - standard cells and FPGA checking, code generation and optimization. Students will design and
are introduced. The course concludes with a brief overview of layout implement translators, static analysis, type-checking and optimization.
synthesis topics: placement and routing. This is a praxis-based course. Students will use a variety of software
tools and techniques in implementing a complete compiler.
COL720 Real Time Systems
4 Credits (3-0-2) COL729 Compiler Optimization
Pre-requisite(s): COL331, COL216 4.5 Credits (3-0-3)
Types of real time systems; hard and soft real time systems; Pre-requisite(s): COL 216, COL 226 OR Equivalent
reference models; priority driven approaches for real time Program representation – symbol table, abstract syntax tree;
scheduling; clock based scheduling, schedulability tests; scheduling Control flow analysis; Data flow analysis; Static single assignment;
aperiodic and sporadic jobs; slack stealing; resource access control Def-use and Use-def chains; Early optimizations – constant folding,
mechanics; priority ceiling protocols; multiprocessor scheduling; algebraic simplifications, value numbering, copy propagation, constant
scheduling flexible computations; real time communication; real propagation; Redundancy Elimination – dead code elimination,
time operating systems; real time embedded systems. loop invariant code motion, common sub-expression elimination;
Register Allocation; Scheduling – branch delay slot scheduling, list
COL722 Introduction to Compressed Sensing
scheduling, trace scheduling, software pipelining; Optimizing for
3 Credits (3-0-0) memory hierarchy – code placement, scalar replacement of arrays,
Pre-requisite(s): COL106 OR Equivalent register pipelining; Loop transformations – loop fission, loop fusion,
Sparsity, L1 minimization, Sparse regression, deterministic and loop permutation, loop unrolling, loop tiling; Function inlining and tail
probabilistic approaches to compressed sensing, restricted recursion; Dependence analysis; Just-in-time compilation; Garbage
isometry property and its application in sparse recovery, collection. Laboratory component would involve getting familiar with
robustness in the presence of noise, algorithms for compressed internal representations of compilers; profiling and performance
sensing. Applications in magnetic resonance imaging (MRI), evaluation; and the design and implementation of novel compiler
applications in analog-to-digital conversion, low-rank matrix optimizations.
recovery, applications in image reconstruction.
COL730 Parallel Programming
COL724 Advanced Computer Networks
4 Credits (3-0-2)
4 Credits (3-0-2)
Pre-requisite(s): COL106, COL331
Pre-requisite(s): COL334 OR Equivalent Parallel computer organization, Parallel performance analysis,
Review of the Internet architecture, layering; wired and wireless Scalability, High level Parallel programming models and framework,
MAC; intra- and inter-domain Internet routing, BGP, MPLS, MANETs; Load distribution and scheduling, Throughput, Latency, Memory and
error control and reliable delivery, ARQ, FEC, TCP; congestion and Data Organizations, Inter-process communication and synchronization,
flow control; QoS, scheduling; mobility, mobile IP, TCP and MAC Shared memory architecture, Memory consistency, Interconnection
interactions, session persistence; multicast; Internet topology, network and routing, Distributed memory architecture, Distributed
economic models of ISPs/CDNs/content providers; future directions. shared memory, Parallel IO, Parallel graph algorithms, Parallel
Algorithm techniques: Searching, Sorting, Prefix operations, Pointer
COL726 Numerical Algorithms
Jumping, Divide-and-Conquer, Partitioning, Pipelining, Accelerated
4 Credits (3-0-2) Cascading, Symmetry Breaking, Synchronization (Locked/Lock-free).
Pre-requisite(s): COL106 OR Equivalent
COL731 Advanced Compiler Techniques for Optimization,
Overlaps with: MTL704
Safety and Security
Number representation, fundamentals of error analysis, conditioning,
stability, polynomials and root finding, interpolation, singular value 4 Credits (3-0-2)
decomposition and its applications, QR factorization, condition Pre-requisite(s): COL729 or equivalent
number, least squares and regression, Gaussian elimination, Polyhedral analysis for locality and parallelism transformations. The
eigenvalue computations and applications, iterative methods, linear topics will include the affine transform theory in the polyhedral
programming, elements of convex optimization including steepest framework, space-partitioning constraints and associated code-
descent, conjugate gradient, Newton’s method. generation algorithms, primitive affine transformations, and pipelining.
Lab work will include experimentation and development within
COL727 Rapid Mixing in Markov Chains existing polyhedral analysis tools, such as LLVM's Polly; Undefined
Credits: 3 (3-0-0) Behaviour will be discussed in the context of performance-sensitive
Pre-requisite(s): MTL106 programming languages such as C/C++/Rust/etc. The manifestation
of Undefined Behaviour at the Intermediate Representation (IR) level
Basic of finite Markov chains; classical Markov Chains including
will be discussed through examples of real-world IRs such as LLVM
Coupon collection, Gambler’s Ruin, Polya’s um, Birth and Death
IR; Symbolic analysis approaches based on dataflow analysis/abstract
chains; Total Variation Distance; the Convergence Theorem; Mixing
interpretation will be introduced. Hoare logic and associated predicate
Time; bounding mixing time via couplings; bounding mixing time via
transformers (weakest-precondition, strongest-postcondition) will
strong stationary times; random walks on networks; bounding mixing
be introduced. Optionally, algorithms for automatic inference of
time via hitting times; cover times; spectral bounds on mixing time;
inductive invariants and bisimulations may be discussed. Optionally,
mixing time bounds via comparison between chains.
superoptimization techniques may be discussed too.
COL728 Compiler Design
4.5 Credits (3-0-3) COL732 Virtualization and Cloud Computing
Pre-requisite(s): COL 216, COL 226 OR Equivalent 4 Credits (3-0-2)
Compilers and translators; lexical and syntactic analysis, top-down Pre-requisite(s): COL331
and bottom up parsing techniques; internal form of source programs; Introduction to Virtualization and Cloud Computing; Binary
semantic analysis, symbol tables, error detection and recovery, code Translation; Hardware Virtualization; Memory Resource Management
generation and optimization. Type checking and static analysis. Static in Virtual Machine Monitor; Application of Virtualization; Cloud-scale
analysis formulated as fixpoint of simultaneous semantic equations. Data Management and Processing; I/O Virtualization.

223
Computer Science and Engineering Courses of Study 2023-2024

COL733 Cloud Computing Technology Fundamentals COL751 Algorithmic Graph Theory


4 Credits (3-0-2) 3 Credits (3-0-0)
Pre-requisite(s): COL331 Pre-requisite(s): COL351 OR Equivalent
Overview of Cloud Computing, Virtualisation of CPU, Memory and I/O Algorithms for computing maximum s-t flows in graphs: augmenting
Devices; Storage Virtualisation and Software Defined Storage (SDS), path, blocking flow, push-relabel, capacity scaling etc. Max-flow
Software Defined Networks (SDN) and Network Virtualisation, Data min-cut theorem and its applications. Algorithms for computing
Centre Design and interconnection Networks, Cloud Architectures, min-cuts in graphs, structure of min-cuts. Min-cost flows and
Public Cloud Platforms (Google App Engine, AWS, Azure), Cloud applications: cycle cancelling algorithms, successive shortest paths,
Security and Trust Management, Open Source Clouds (Baadal, Open strongly polynomial algorithms. Maximum matching in bipartite and
Stack, Cloud Stack), Cloud Programming and Software Environments general graphs: Hall’s theorem, Tutte’s theorem, Gallai-Edmonds
(Hadoop, GFS, Map Reduce, NoSQL systems, Big Table, HBase, Libvirt, decomposition. Weighted bipartite matching, Edmonds Algorithm
OpenVswitch), Amazon (Iaas), Azure (PaaS), GAE (PaaS) for Weighted Non-Bipartite Matching,T-joins and applications.
Factor-Critical Graphs, Ear Decompositions, Graph orientations,
COL740 Software Engineering Splitting Off, k-Connectivity Orientations and Augmentations,
4 Credits (3-0-2) Arborescences and Branchings, Edmonds theorem for disjoint
arborescences. Planar graphs, algorithms for checking planarity,
Pre-requisite(s): COL106, COL226 planar-separator theorem and its applications. Intersection graphs,
Introduction to Software Engineering, Software Life Cycle models and perfect graphs: polyhedral characterization, the strong perfect graph
Processes, Requirement Engineering, System Models, Architectural theorem, kinds of perfect graphs and algorithms on them. Treewidth,
Design, Abstraction & Modularity, Structured Programming, Object- algorithm for computing tree width, algorithms on graphs with
oriented techniques, Design Patterns, Service Oriented Architecture, bounded tree width.
User Interface Design, Verification and Validation, Reliability, Software
Evolution, Project Management & Risk Analysis, Software Quality COL752 Geometric Algorithms
Management, Configuration Management,Software Metrics, Cost
4 Credits (3-0-2)
Analysis and Estimation, Manpower Management, Organization and
Management of large Software Projects. Pre-requisite(s): COL351 OR Equivalent
Geometric Fundamentals: Models of computation, lower bound
COD745 Minor Project techniques, geometric primitives, geometric transforms Convex hulls:
3 Credits (0-0-6) Planar convex hulls, higher dimensional convex hulls, randomized,
Pre-requisite(s): EC 75 output-sensitive, and dynamic algorithms, applications of convex
hull, Intersection detection: segment intersection, line sweep, map
Research and development projects based on problems of practical
overlay, halfspace intersection, polyhedra intersection, Geometric
and theoretical interest. Evaluation will be based on periodic
searching: segment, interval, and priority-search trees, point location,
presentations, student seminars, written reports, and evaluation of
persistent data structure, fractional cascading, range searching,
the developed system (if applicable).
nearest-neighbor searching Proximity problems: closest pair, Voronoi
COP745 Digital System Design Laboratory diagram, Delaunay triangulation and their subgraphs, spanners,
well separated pair decomposition Arrangements: Arrangements
3 Credits (0-0-6) of lines and hyperplanes, sweep-line and incremental algorithms,
Pre-requisite(s): COL215 OR Equivalent lower envelopes, levels, and zones, applications of arrangements
Being primarily a laboratory course, it would consist of a series Triangulations: monotone and simple polygon triangulations,
of assignments that would increase in complexity in terms of point-set triangulations, optimization criteria, Steiner triangulation,
designs to be carried out. Each assignment would involve learning Delaunay refinement Geometric sampling: random sampling and
to translate starting from natural language specifications to HDL ε-nets, ε-approximation and discrepancy, cuttings, coresetsGeometric
design representation. The students would use modern synthesis optimization: linear programming, LP-type problems, parametric
techniques to realize these designs on FPGA boards before testing searching, approximation techniques. Implementation Issues: robust
them for functionality as well as performance. Students would also computing, perturbation techniques, floating-point filters, rounding
be required to specify and implement a project (small system design) techniques.
as part of the course.
COL753 Complexity Theory
COL750 Foundations of Automatic Verification 3 Credits (3-0-0)
4 Credits (3-0-2)
Pre-requisite(s): COL352 OR Equivalent
Pre-requisite(s): COL226, COL352 OR Equivalent Modeling computation (Finite state machines, Non-determinism, Turing
A selection from the following topics, and experiments with the machines, class P etc.), NP and NP-completeness, Diagonalization
mentioned tools: Review of first-order logic, syntax and semantics. (Time hierarchy and Ladner’s theorem), Space complexity (PSPACE,
Resolution theorem proving. Binary Decision Diagrams (BDDs) and NL, Savitch’s theorem, Immerman-Szelepcsényi theorem etc.),
their use in representing systems. (Programming exercises coding and Polynomial hierarchy, Boolean circuits (P/poly), Randomized classes
using logic programming frameworks). Transition systems, automata (RP, BPP, ZPP, Adleman’s Theorem, Gács-Sipser-Lautemann Theorem),
and transducers. Buechi and other automata on infinite words; Linear Interactive proofs (Arthur-Merlin, IP=PSPACE), Cryptography (one-way
Time Temporal Logic (LTL), and specifying properties of systems in functions, pseudorandom generators, zero knowledge), PCP theorem
LTL; the relationship between temporal logic and automata on infinite and hardness of approximation, Circuit lower bounds (Hastad’s
words, LTL Model checking (exercises using Spin or similar tools); switching lemma), Other topics (#P, Toda’s theorem, Average-
Computational Tree Logic (CTL and CTL*); CTL model checking case complexity, derandomization, pseudorandom construction).
(exercises); Process calculi such as CSP and CCS. Notions of program
equivalence -- traces, bisimulation and other notions. Hennessy-Milner COL754 Approximation Algorithms
Logic (HML) and Mu calculus (exercises using tools such as CWB 3 Credits (3-0-0)
-- Concurrency Work Bench). Symbolic model checking, exercises
using tools such as SMV. Sat-based model checking and Davis-Putnam Pre-requisite(s): COL351 OR Equivalent
procedure; (exercises using tools such as nuSMV). Possible additional NP-hardness and approximation algorithms. Different kinds of
topics include: equational logic frameworks, real-time frameworks, approximability. Greedy algorithm and local search with applications
reactive frameworks, pi-calculus (exercises using tools such as the in facility location, TSP and scheduling. Dynamic programming
Mobility Workbench), Tree automata and Weak Second-order Logic with applications in knapsack, Euclidean TSP, bin packing. Linear
with k successors (WSkS), (exercises using Mona or similar tools). programming, duality and rounding. Applications in facility location,

224
Courses of Study 2023-2024 Computer Science and Engineering

Steiner tree and bin packing. Randomized rounding with applications. Pre-requisite(s): COL351, MTL106 OR Equivalent
Primal-dual algorithms and applications in facility location and network
Overlaps with: MTL730
design. Cuts and metrics with applications to multi-commodity flow.
Semi-definite programming and applications: max-cut, graph coloring. Part 1: Foundations: Perfect secrecy and its limitations, computational
Hardness of approximation. security, pseudorandom generators and one time encryption,
pseudorandom functions, one way permutations, message
COL755 Algorithmic Game Theory authentication and cryptographic hash functions.
3 Credits (3-0-0) Part 2: Basic Constructions and proofs: Some number theory,
symmetric key encryption, public key encryption, CPA and CCA security,
Pre-requisite(s): COL351 digital signatures, oblivious transfer, secure multiparty computation.
Games, Strategies, Costs, Payoff, Solution Concepts. Pure and Part 3: Advanced Topics: Zero knowledge proofs, identity based
Mixed Nash Equilibria. Two player Zero-Sum Games and Proof of encryption, broadcast encryption, homomorphic encryption, lattice
Nash Equilibria using Linear Programming Duality. Nash's theorem based cryptography.
using FPT's. Complexity of finding Nash Equilibrium, Lemke Howson
Algorithm, The Class PPAD. Hierarchy of Equilibria, Best-case and COL760 Advanced Data Management
strong Nash Equilibria, Best-response dynamics, and no-regret
4 Credits (3-0-2)
dynamics. Social Choice, Arrow's and Gibbard-Satherthwaite
theorems. Auctions and Optimal Mechanism Design, Myerson's Pre-requisite(s): COL362 OR Equivalent
lemma, VCG mechanisms. Revenue maximizing Auctions. Inefficiency Storage and file structures, advanced query processing and
of Equilibria. Price of Anarchy in network routing games, Atomic optimization for single server databases, distributed data management
routing games, Potential function games. Mechanism Design without (including distributed data storage, query processing and transaction
money: Stable matchings. Market equilibria and their computation, management), web-data management (including managing the web-
Fisher's and Arrow-Debreu Models, Eisenberg-Gale convex program. graph and implementation of web-search), big data systems.

COL756 Mathematical Programming COL761 Data Mining


3 Credits (3-0-0) 4 Credits (3-0-2)
Pre-requisite(s): COL351 OR Equivalent Pre-requisite(s): COL106 OR Equivalent
Overlaps with: MTL103, MTL704 Association rule-mining, FP-tree, Prefix-span, Multi-support rule
Linear programming: introduction, geometry, duality, sensitivity mining, Frequent subgraph mining (gSpan and FSG), Clustering
analysis. Simplex method, Large scale optimization, network simplex. (Agglomerative clustering, k-means, k-medoid, DBSCAN, OPTICS,
Ellipsoid method, problems with exponentially many constraints, CURE, BFR, MCL). Data streams (FM sketch, Reservoir sampling, top
equivalence of optimization and separation. Convex sets and functions k-counting), Anomaly detection (Density based techniques, chi-square
– cones, hyperplanes, norm balls, generalized inequalities and tests, p-values), Influence maximization in social networks, SimRank,
convexity, perspective and conjugate functions. Convex optimization random walk with restarts, PageRank, HITS.
problems – quasi-convex, linear, quadratic, geometric, vector, semi-
definite. Duality – Lagrange, geometric interpretation, optimality COL762 Database Implementation
conditions, sensitivity analysis. Applications to approximation, fitting, 4 Credits (3-0-2)
statistical estimation, classification. Unconstrained minimization,
Pre-requisite(s): COL362 OR Equivalent
equality constrained minimization and interior point methods.
Integer Programming: formulations, complexity, duality. Lattices, Review of Relational Model, Algebra and SQL, File structures,
geometry, cutting plane and branch and bound methods. Mixed Constraints and Triggers, System Aspects of SQL, Data Storage,
integer optimization. Representing Data Elements, Index, Multi dimensional and Bit-map
Indexes, Hashing, Query Execution, Query Compiler.
COL757 Model Centric Algorithm Design
4 Credits (3-0-2) COL764 Information Retrieval and Web Search
Pre-requisite(s): COL351 OR Equivalent 4 Credits (3-0-2)
Retrieval models (Boolean, vector-space, probabilistic, language-
The RAM model and its limitations, Introduction to alternate
model, Markov random fields, diversity-aware); Design of test
algorithmic models Parallel models like PRAM and Interconnection
collections (TREC, crowd-sourcing) and retrieval effectiveness
networks; Basic problems like Sorting, Merging, Routing, Parallel
measures (micro-/macro-F measure, nDCG, BPref); Collection models
Prefix and applications, graph algorithms like BFS, Matching Memory
(multinomial repr.; topic mixtures) and topic modeling (LSA/LSI,
hierarchy models; Caching, Sorting, Merging, FFT, Permutation,
LDA); Search engine architecture (crawling, indexing, and web-page
Lower bounds Data Structures - searching, Priority queues Streaming
ranking); Learning to rank; Knowledge graphs; Responsible IR (e.g.,
Data models: Distinct items, frequent items, frequency moments,
handling bias and fake-news, privacy, etc.).
estimating norms, clustering On line algorithms: competitive ratio,
list accessing, paging, k-server, load-balancing, lower-bounds.
COL765 Intro. To Logic and Functional Programming
COL758 Advanced Algorithms 4 Credits (3-0-2)
4 Credits (3-0-2) Pre-requisite(s): COL106 OR Equivalent
Pre-requisite(s): COL351 OR Equivalent Overlaps with: COL226 & COL703
Advanced data structures: self-adjustment, persistence and Introduction to declarative programming paradigms. The functional
multidimensional trees. Randomized algorithms: Use of probabilistic style of programming, paradigms of developments of functional
inequalities in analysis, Geometric algorithms: Point location, Convex programs, use of higher order functionals and pattern-matching.
hulls and Voronoi diagrams, Arrangements applications using Introduction to lambda calculus. Interpreters for functional languages
examples. Graph algorithms: Matching and Flows. Approximation and abstract machines for lazy and eager lambda calculi, Types,
algorithms: Use of Linear programming and primal dual, Local search type-checking and their relationship to logic. Logic as a system
heuristics. Parallel algorithms: Basic techniques for sorting, searching, for declarative programming. The use of pattern-matching and
merging, list ranking in PRAMs and Interconnection networks. programming of higher order functions within a logic programming
framework. Introduction to symbolic processing. The use of
COL759 Cryptography & Computer Security resolution and theorem-proving techniques in logic programming. The
3 Credits (3-0-0) relationship between logic programming and functional programming.

225
Computer Science and Engineering Courses of Study 2023-2024

COL768 Wireless Networks Networks (GANs). Graph Convolutional Networks, Graph Attention
4 Credits (3-0-2) Networks, and variations. Deep Reinforcement Learning - basics of
(Deep) RL, More Advanced topics such as visual question answering,
Pre-requisite(s): COL334 OR Equivalent Neuro-symbolic reasoning, self-supervised learning, Explainability and
Radio signal propagation, advanced modulation and coding, medium Fairness, Domain Adaptation etc.
access techniques, self-configurable networks, mesh networks,
cognitive radio and dynamic spectrum access networks, TCP over COL776 Learning Probabilistic Graphical Models
wireless, wireless security, emerging applications. 4 Credits (3-0-2)
COL770 Advanced Artificial Intelligence Pre-requisite(s): MTL106 OR Equivalent
Basics: Introduction. Undirected and Directed Graphical Models.
4 Credits (3-0-2) Bayesian Networks. Markov Networks. Exponential Family Models.
Pre-requisite(s): COL106 OR Equivalent Factor Graph Representation. Hidden Markov Models. Conditional
Overlap with: COL333, ELL789 Random Fields. Triangulation and Chordal Graphs. Other Special
Cases: Chains, Trees. Inference: Variable Elimination (Sum Product
Philosophy of artificial intelligence, fundamental and advanced search
and Max-Product). Junction Tree Algorithm. Forward Backward
techniques (A*, local search, suboptimal heuristic search, search
Algorithm (for HMMs). Loopy Belief Propagation. Markov Chain Monte
in AND/OR graphs), constraint optimization, temporal reasoning,
Carlo. Metropolis Hastings. Importance Sampling. Gibbs Sampling.
knowledge representation and reasoning through propositional
Variational Inference. Learning: Discriminative Vs. Generative
and first order logic, modern game playing (UCT), planning under
Learning. Parameter Estimation in Bayesian and Markov Networks.
uncertainty (Topological value iteration, LAO*, LRTDP), reinforcement
Structure Learning. EM: Handling Missing Data. Applications in Vision,
learning, introduction to robotics, introduction to probabilistic
Web/IR, NLP and Biology. Advanced Topics: Statistical Relational
graphical models (Bayesian networks, Hidden Markov models,
Learning, Markov Logic Networks.
Conditional random fields), machine learning, introduction to
information systems (information retrieval, information extraction).
COL777 Deep Reinforcement Learning
COL772 Natural Language Processing 4 Credits (3-0-2)
4 Credits (3-0-2) Pre-requisite(s): Any one of EEL409/EEL784/COL774/COL341/
Pre-requisite(s): COL106 OR Equivalent COL333/COL671
Overlaps with: MTL785 Overlaps with: AIL722, ELL729
NLP concepts: Tokenization, lemmatization, part of speech tagging, Introduction and Basics of RL, Markov Decision Processes (MDPs),
noun phrase chunking, named entity recognition, co-reference Dynamic Programming, Monte Carlo Methods (Prediction), Temporal
resolution, parsing, information extraction, sentiment analysis, difference Methods (Prediction), Monte Carlo, TD Method (Control),
question answering, text classification, document clustering, N-step TD, Eligibility Traces, Model based RL, (Action-)Value Function
document summarization, discourse, machine translation. Approximation, Value Function Approximation, Policy Gradient, Policy
Gradient, Recent Applications, Misc./Advanced Topics.
Machine learning concepts: Naïve Bayes, Hidden Markov Models, EM,
Conditional Random Fields, MaxEnt Classifiers, Probabilistic Context COL778 Principles of Autonomous Systems
Free Grammars.
Credits: 4 (3-0-2)
COL774 Machine Learning Pre-requisite(s): Any one of COL333 / COL774 / ELL784 /
4 Credits (3-0-2) ELL409
Intelligent Agent/Robot Representation. Software and simulation
Pre-requisite(s): MTL106 OR Equivalent
tools. Classical Planning. Anytime and incremental search. Decision-
Overlaps with: COL341 ELL784, ELL888 making under Uncertainty. Reinforcement Learning. Imitation learning.
Supervised learning algorithms: Linear and Logistic Regression, State Estimation using Bayesian Networks. Particle Filtering. World
Gradient Descent, Support Vector Machines, Kernels, Artificial Neural Representations. Map representations. Exploration and coverage.
Networks, Decision Trees, ML and MAP Estimates, K-Nearest Neighbor, Interaction and Intent Inference. Execution and monitoring. Advanced
Naive Bayes, Introduction to Bayesian Networks. Unsupervised epics and case study. Programming Assignments.
learning algorithms: K-Means clustering, Gaussian Mixture Models,
Learning with Partially Observable Data (EM). Dimensionality COL780 Computer Vision
Reduction and Principal Component Analysis. Bias Variance Trade- 4 Credits (3-0-2)
off. Model Selection and Feature Selection. Regularization. Learning
Theory. Introduction to Markov Decision Processes. Application Pre-requisite(s): EC 80
to Information Retrieval, NLP, Biology and Computer Vision. Overlaps with: ELL793
Advanced Topics. Camera models. Calibration, multi-views projective geometry and
invariants. Feature detection, correspondence and tracking. 3D
COL775 Deep Learning structure/motion estimation. Application of machine learning in
4 Credits (3-0-2) object detection and recognition, category discovery, scene and
activity interpretation.
Pre-requisite(s): Any one of ELL 409/ELL 774 / COL 341/ COL
333/ COL 671 COL781 Computer Graphics
Overlaps with: AIL721, APL745 4.5 Credits (3-0-3)
B asics: Introduction, Why Deep Learning, Multi-layered
Pre-requisite(s): COL106 OR Equivalent
Perceptron, Neural Networks as Universal Function Approximators,
Backpropagation, Regularization, Ll-L2 Norms, Early Stopping, Overlaps with: ELL792
Dropouts. Optimization: Stochastic Gradient Descent, First-order Graphics pipeline; Graphics hardware: Display devices, Input devices;
and second order methods, Algorithms such as RMSProp, Adams, Raster Graphics: line and circle drawing algorithms; Windowing and
AdaGrad. Other Topics on Advanced Optimization. Convolutional 2D/3D clipping: Cohen and Sutherland line clipping, Cyrus Beck
Networks (CNNs) - kernels, pooling operations, Applications to clipping method; 2D and 3D Geometrical Transformations: scaling,
Computer Vision. Recurrent Neural Networks, LSTMs, Attention, translation, rotation, reflection; Viewing Transformations: parallel
Transformers, Language models: BERT, GPT2 etc. Applications in NLP. and perspective projection; Curves and Surfaces: cubic splines,
Generative Models: Variational Auto-encoders, Generative Adversarial Bezier curves, B-splines, Parametric surfaces, Surface of revolution,

226
Courses of Study 2023-2024 Computer Science and Engineering

Sweep surfaces, Fractal curves and surfaces; Hidden line/surface Mutual Exclusion, Coherence and Consistency, Register Constructions ,
removal methods; illuminations model; shading: Gouraud, Phong; Power of Synchronization Operations , Locks and Monitors, Concurrent
Introduction to Ray-tracing; Animation; Programming practices with queues, Futures and Work-Stealing, Barriers, Basics of Transactional
standard graphics libraries like openGL. Memory (TM), Regular Hardware TMs, Unbounded HadwareTMs,
Software TMs.
COL783 Digital Image Analysis
4.5 Credits (3-0-3) COL819 Advanced Distributed Systems
4 Credits (3-0-2)
Pre-requisite(s): COL106, ELL205 OR Equivalent
Pre-requisite(s): COL331, COL334, COL380 OR Equivalent
Overlap with: ELL715
Epidemic/Gossip based algorithms, Peer to peer networks, Distributed
Digital Image Fundamentals; Image Enhancement in Spatial Domain:
hash tables, Synchronization, Mutual exclusion, Leader election,
Gray Level Transformation, Histogram Processing, Spatial Filters;
Distributed fault tolerance, Large scale storage systems, Distributed
Image Transforms: Fourier Transform and their properties, Fast Fourier
file systems, Design of social networking systems.
Transform, Other Transforms; Image Enhancement in Frequency
Domain; Color Image Processing; Image Warping and Restoration; COP820 Processor Design Laboratory
Image Compression; Image Segmentation: edge detection, Hough
transform, region based segmentation; Morphological operators; 4 Credits (0-0-8)
Representation and Description; Features based matching and Bayes Pre-requisite(s): COL718
classification; Introduction to some computer vision techniques: This is a pure laboratory course that invloves the following activities.
Imaging geometry, shape from shading, optical flow; Laboratory Design of branch predictors, instruction fetch logic, Decode and
exercises will emphasize development and evaluation of image rename logic, Instruction window and scheduler, Select logic, Load-
processing methods. square queue, ALUs and by-pass paths, Instruction commit logic,
Misprediction and recovery techniques, Selective replay techniques.
COL785 Virtual and Augmented Reality
4 Credits (3-0-2) COL821 Reconfigurable Computing
3 Credits (3-0-0)
Pre-requisite(s): COL106
Modeling of VR environments, Basics of lighting and shading, VR/ Pre-requisite(s): COL719
AR devices and technology, software modules in a VR application, FPGA architectures, CAD for FPGAs: overview, LUT mapping, timing
Interaction and manipulation techniques, Locomotion, wayfinding, analysis, placement and routing, Reconfigurable devices - from
and orientation in 3D, Multi-user VR and Social interaction. fine-grained to coarse-grained devices, Reconfiguration modes
and multi-context devices, Dynamic reconfiguration, Compilation
COL786 Advanced Functional Brain Imaging from high level languages, System level design for reconfigurable
4 Credits (3-0-2) systems: heuristic temporal partitioning and ILP-based temporal
partitioning, Behavioral synthesis, Reconfigurable example systems’
Introduction to human Neuro-anatomy, Hodgkin Huxley model,
tool chains.
overview of brain imaging methods, introduction to magnetic
resonance imaging, detailed fMRI, fMRI data analysis methods,
COL828 Advanced Computer Vision
general linear model, network analysis, machine learning based
methods of analysis. 4 Credits (3-0-2)
Pre-requisite(s): COL780 or COL783 or ELL793 or ELL715
COL788 Advanced Topics in Embedded Computing Advanced topic in computer vision: data sources, features, and
3 Credits (3-0-0) learning algorithms useful for understanding and manipulating visual
data. Advanced architectures for image classification and visualization
Pre-requisite(s): COL216, COL331 OR Equivalent of CNNs for image analysis, traditional and modern techniques for
Overlaps with: ELL782 object detection, image segmentation, image synthesis, and object
Embedded Platforms, Embedded processor architectures, System tracking. Attack and defense techniques for computer vision systems.
initialization, Embedded operating systems (linux) , DSP and graphics Contemporary. Interdisciplinary topics (vision+x) such as vision and
acceleration, Interfaces, Device Drivers, Network, Security, Debug language.
support, Performance tuning. The course would involve substantial
programming assignments on embedded platforms. COL829 Advanced Computer Graphics
4 Credits (3-0-2)
COS799 Independent Study Pre-requisite(s): COL781
3 Credits (0-3-0) Rendering: Ray tracing, Radiosity methods, Global illumination
The student will be tasked with certain reading assignments and models, Shadow generation, Mapping, Anti-aliasing, Volume
related problem solving in a appropriate area of research in Computer rendering, Geometrical Modeling: Parametric surfaces, Implicit
Science under the overall guidance of a CSE Faculty member. The surfaces, Meshes, Animation: spline driven, quarternions, articulated
work will be evaluated through term paper. structures (forward and inverse kinematics), deformation- purely
geometric, physically-based, Other advanced topics selected from
research papers.
COL812 System Level Design and Modelling
3 Credits (3-0-0) COL830 Distributed Computing
Pre-requisite(s): COL719 3 Credits (3-0-0)
E m b e d d e d s y s t e m s a n d s y s t e m - l e ve l d e s i g n , m o d e l s o f Pre-requisite(s): COL226 OR Equivalent
computation, specification languages, hardware/software co-
Models of Distributed Computing; Basic Issues: Causality, Exclusion,
design, system partitioning, application specific processors and
Fairness, Independence, Consistency; Specification of Distributed
memory, low power design.
Systems: Transition systems, petri nets, process algebra properties:
Safety, Liveness, stability.
COL818 Principles of Multiprocessor Systems
4 Credits (3-0-2) COL831 Semantics of Programming Languages
Pre-requisite(s): COL216, COL351, COL331 OR Equivalent 3 Credits (3-0-0)
227
Computer Science and Engineering Courses of Study 2023-2024

Pre-requisite(s): COL226, COL352 COL864 Special Topics in Artificial Intelligence


Study of operational, axiomatic and denotational semantics of 3 Credits (3-0-0)
procedural languages; semantics issues in the design of functional
and logic programming languages, study of abstract data types.
Pre-requisite(s): COL333 / COL671 / Equivalent
Potential topics or themes which may be covered (one topic per
COL832 Proofs and Types offering) include: information extraction, industrial applications of
AI, advanced logic-based AI, Markov Decision Processes, statistical
3 Credits (3-0-0) relational learning, etc.
Pre-requisite(s): COL226, COL352
Syntax and semantic foundations: Ranked algebras, homomorphisms, COL865 Special Topics in Computer Applications
initial algebras, congruences. First-order logic review: Soundness,
3 Credits (3-0-0)
completeness, compactness. Herbrand models and Herbrand’s
theorem, Horn-clauses and resolution. Natural deduction and the Pre-requisite(s): Permission of the Instructor
Sequent calculus. Normalization and cut elimination. Lambda-calculus Special topic that focuses on special topics and research problems
and Combinatory Logic: syntax and operational semantics (beta-eta of importance in this area.
equivalence), confluence and Church-Rosser property. Introduction
to Type theory: The simply-typed lambda-calculus, Intuitionistic type COL866 Special Topics in Algorithms
theory. Curry-Howard correspondence. Polymorphism, algorithms
for polymorphic type inference, Girard and Reynolds’ System
3 Credits (3-0-0)
F. Applications: type-systems for programming languages; modules Pre-requisite(s): COL 351 OR Equivalent
and functors; theorem proving, executable specifications. The course will focus on specialized topics in areas like Computational
Topology, Manufacturing processes, Quantum Computing,
COL851 Special Topics in Operating Systems Computational Biology, Randomized algorithms and other research
3 Credits (3-0-0) intensive topics.

Pre-requisite(s): COL331 Or Equivalent


COL867 Special Topics in High Speed Networks
To provide insight into current research problems in the area
of operating systems. Topics may include, but are not limited 3 Credits (3-0-0)
to, OS design, web servers, Networking stack, Virtualization, Pre-requisite(s): COL334 OR COL672
Cloud Computing, Distributed Computing, Parallel Computing, The course will be delivered through a mix of lectures and paper
Heterogeneous Computing, etc. reading seminars on advanced topics in Computer Networks. Hands-
on projects will be conceptualized to challenge students to take
COL852 Special Topics in COMPILER DESIGN up current research problems in areas such as software defined
3 Credits (3-0-0) networking, content distribution, advanced TCP methodologies,
Pre-requisite(s): COL728/COL729 delay tolerant networking, data center networking, home networking,
green networking, clean state architecture for the Internet, Internet
Special topic that focuses on state of the art and research problems
of things, etc.
of importance in this area.

COL860 Special Topics in Parallel Computation COL868 Special topics in Database Systems
3 Credits (3-0-0) 3 Credits (3-0-0)
The course will focus on research issues in areas like parallel Pre-requisite(s): COL334 / COL672 / Equivalent
computation models, parallel algorithms, Parallel Computer
The contents would include specific advanced topics in Database
architectures and interconnection networks, Shared memory
Management Systems in which research is currently going on in
parallel architectures and programming with OpenMP and Ptheards,
the department. These would be announced every time the course
Distributed memory message-passing parallel architectures and
is offered.
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 COL869 Special topics in Concurrency
engineering, and commercial applications. Performance evaluation 3 Credits (3-0-0)
and benchmarking high-performance computers.
The course will focus on research issues in concurrent, distributed
and mobile computations. Models of Concurrent, Distributed and
COL861 Special Topics in Hardware Systems
Mobile computation. Process calculi, Event Structures, Petri Nets
3 Credits (3-0-0) an labeled transition systems. Implementations of concurrent and
Under this topic one of the following areas will be covered: mobile, distributed programming languages. Logics and specification
Fault Detection and Diagnosability. Special Architectures. Design models for concurrent and mobile systems. Verification techniques
Automation Issues. Computer Arithmetic, VLSI. and algorithms for model checking. Type systems for concurrent/
mobile programming languages. Applications of the above models
COL862 Special Topics in Software Systems and techniques.
3 Credits (3-0-0)
Special topic that focuses on state of the art and research problems COL870 Special Topics in Machine Learning
of importance in this area. 3 Credits (3-0-0)
COL863 Special Topics in Theoretical Computer Science Pre-requisite(s): COL341 OR Equivalent
Contents may vary based on the instructor’s expertise and interests
3 Credits (3-0-0)
within the broader area of Machine Learning. Example topics include
Pre-requisite(s): COL351 (but not limiting to) Statistical Relational Learning, Markov Logic,
Under this topic one of the following areas will be covered: Design Multiple Kernel Learning, Multi-agent Systems, Multi-Class Multi-
and Analysis of Sequential and Parallel Algorithms. Complexity label Learning, Deep Learning, Sum-Product Networks, Active and
issues, Trends in Computer Science Logic, Quantum Computing and Semi-supervised Learning, Reinforcement Learning, Dealing with
Bioinformatics, Theory of computability. Formal Languages. Semantics Very High-Dimensional Data, Learning with Streaming Data, Learning
and Verification issues. under Distributed Architecture.

228
Courses of Study 2023-2024 Computer Science and Engineering

COL871 Special Topics in Programming Languages COV877 Special Module on Visual Computing
3 Credits (3-0-0) 1 Credit (1-0-0)
Pre-requisite(s): COL765 or (COL226+COL202) The course will be a seminar-based course where the instructor would
present topics in a selected theme in the area of visual computing
The course will focus on one or more specialised research topics
through research papers. Students will also be expected to participate
such as Operational and Denotational Semantics, Domain Specific
in the seminar.
Languages, Types Systems, Flow Analysis, Abstract Interpretation,
Static Analysis, Program Synthesis, etc.
COV878 Special Module in Machine Learning
COL872 Special Topics in Cryptography 1 Credit (1-0-0)
3 Credits (3-0-0) Contents may vary based on the instructor’s expertise and interests
Pre-requisite(s): COL759 OR Equivalent within the broader area of Machine Learning. Example topics include
(but not limiting to) Statistical Relational Learning, Markov Logic,
Contents may vary based on the instructor’s interests within
Multiple Kernel Learning, Multi-agent Systems, Multi-Class Multi-
the broader area of Cryptography. Examples include CCA secure
label Learning, Deep Learning, Sum-Product Networks, Active and
encryption, multiparty computation, leakage resilient cryptography,
Semi-supervised Learning, Reinforcement Learning, Dealing with
broadcast encryption, fully homomorphic encryption, obfuscation,
Very High-Dimensional Data, Learning with Streaming Data, Learning
functional encryption, zero knowledge, private information retrieval,
under Distributed Architecture.
byzantine agreement, cryptography against extreme attacks etc.

COL873 Special Topics in Natural Language Processing COV879 Special Module in Financial Algorithms
3 Credits (3-0-0) 1 Credit (1-0-0)
Pre-requisite(s): COL772 Pre-requisite(s): MTL106 OR Equivalent
The course will focus on one or two specialised research topics such Overlap with: MTL 732 & MTL 733
as conversational systems, question answering, semantic parsing, Special module that focuses on special topics and research problems
representation learning, linguistics in machine learning, automated of importance in this area.
summarisation systems, etc.
COV880 Special Module in Parallel Computation
COL874 Special Topics in Compilers and Language
Implementation 1 Credit (1-0-0)
3 Credits (3-0-0) Pre-requisite(s): Permission of Instructor
Special module that focuses on special topics and research problems
Pre-requisite(s): COL765 or (COL226+COL202)
of importance in this area.
The course will focus on one or more specialised research topics such
as Runtime Environments, Dynamic Analysis, Runtime Monitoring and
Verification, Code Optimisation, Code Generation, Machine Program COV881 Special Module in Hardware Systems
Synthesis, etc. 1 Credit (1-0-0)
Pre-requisite(s): Permission of Instructor
COL876 Special Topics in Formal Methods
Special module that focuses on special topics and research problems
3 Credits (3-0-0) of importance in this area.
Pre-requisite(s): COL765 or (COL703+COL226)
The course will focus on one or more specialised research topics COV882 Special Module in Software Systems
in: Model-checking; theorem-proving; rewriting; abstractions and 1 Credit (1-0-0)
abstraction refinement; formal frameworks for specification and Special module that focuses on special topics and research problems
modelling; game-theoretic techniques; verification of probabilistic of importance in this area.
systems; Markov decision processes; symbolic-, abstraction-
and automata-based methods and algorithms for the verification
of hardware, software, hybrid, real-time, concurrent and COV883 Special Module in Theoretical Computer Science
distributed systems. 1 Credit (1-0-0)
Pre-requisite(s): COL 351 OR equivalent
COL886 Special Topics in Operating Systems Special module that focuses on special topics and research problems
3 Credits (3-0-0) of importance in this area.
Special topic that focuses on the state of the art and research
problems of importance in this area. COV884 Special Module in Artificial Intelligence
1 Credit (1-0-0)
COV876 Special Module on Automated Reasoning
Methods for Program Analysis Pre-requisite(s): COL333 / COL671 / Equivalent
Course Categories: DE for CSI. PE for CS5. PE(SS) for MCS. Special module that focuses on special topics and research problems
of importance in this area.
1 Credit (1-0-0)
Pre-requisite(s): EC100 for UG COV885 Special Module in Computer Applications
Through the course students will (1) get exposure to fundamental 1 Credit (1-0-0)
concepts in building automated reasoning tools to support deployment Special module that focuses on special topics and research problems
of formal methods for software and cyber physical systems, (2) get of importance in this area.
an overview of the advanced state of the art approaches towards
building automated reasoning tools, (3) learn about foundational COV886 Special Module in Algorithms
aspects so as to prepare them to pursue these topics and related 1 Credit (1-0-0)
literature independently for research and use in system design and
other applications and (4) become aware of exciting new directions Pre-requisite(s): COL351 OR Equivalent
in research on software and system analysis, particularly techniques Special module that focuses on special topics and research problems
for automatically generating invariant properties. of importance in this area.

229
Computer Science and Engineering Courses of Study 2023-2024

COV887 Special Module in High Speed Networks practical and theoretical interest. Evaluation done based on periodic
1 Credit (1-0-0) presentations, student seminars, written reports, and evaluation of
the developed system (if applicable). Students are generally expected
Pre-requisite(s): COL 334 OR COl 672 to work towards the goals and mile stones set for Minor Project
The course will be delivered through a mix of lectures and paper COP 891.
reading seminars on advanced topics in Computer Networks.
Students will be introduced to topics such as software defined
COD892 M.Tech. Project Part-I
networking, content distribution, advanced TCP methodologies,
delay tolerant networking, data center networking, home 7 Credits (0-0-14)
networking, green networking, clean state architecture for the It is expected that the problem specification and milestones to be
Internet, Internet of things, etc. achieved in solving the problem are clearly specified. Survey of the
related area should be completed. This project spans also the course
COV888 Special Module in Database Systems COP892. Hence it is expected that the problem specification and the
1 Credit (1-0-0) milestones to be achieved in solving the problem are clearly specified.

Pre-requisite(s): COL362 OR COL632 OR Equivalent


COD893 M.Tech. Project Part-II
Potential topics or themes which may be covered (one topic per
offering) include: data mining, big data management, information 14 Credits (0-0-28)
retrieval and database systems, semantic web data management, etc. Pre-requisite(s): COD 892
The student(s) who work on a project are expected to work towards
COV889 Special Module in Concurrency the goals and milstones set in COP893. At the end there would be a
1 Credit (1-0-0) demonstration of the solution and possible future work on the same
Special module that focuses on special topics and research problems problem. A dissertation outlining the entire problem, including a
of importance in this area. survey of literature and the various results obtained along with their
solutions is expected to be produced by each student.
COD891 M.Tech. Minor Project
3 Credits (0-0-6) COD895 MS Research Project
Research and development oriented projects based on problems of 36 Credits (0-0-72)

230

You might also like