IIT Kanpur: Computer Science Course List

Return to IIT Kanpur Subjects List

CS 100: Introduction to Profession

Course Information

No Description

No book has been referred

Semester: Spring 2008

 

CS 201: Discrete Mathematics

Course Information

Notion of proof: proof by counter-example, the contrapositive, proof by contradiction, inductive proofs.

Algebra: Motivation of algebraic structures; review of basic group theory with emphasis to finite groups: subgroups and group homomorphism, Lagrange's theorem. Commutative rings, ideals. Finite fields and their elementary properties. Some CS applications (e.g., RSA, error correcting codes).

Combinatorics: Basic counting techniques, pigeon-hole principle, recurrence relations, generating functions, Polya's counting theorem. Basics of graph theory. Introduction to probabilistic method in combinatorics.

Formal logic: Propositional logic: proof system, semantics, completeness, compactness. Length of proofs, polynomial size proofs, efficiency of proof systems. First order logic: models, proof system, compactness. Examples of formal proofs in, say, number theory or group theory. Some advanced topics. E.g., CS application of logic, introduction to modal and temporal logics, Or, formal number theory including incompleteness theorem, Or, elements of proof theory including cut elimination, Or zero-one law for first order logic.

No book has been recommended.

Semester: Spring 2008

 

CS 210: Data Structures and Algorithms

Course Information

Order Analysis: Objectives of time analysis of algorithms; Big-oh and Theta notations.

Elementary Data Structures: Arrays, Linked lists, Stacks (example: expression evaluation), and Queues. Binary search trees. Red-Black trees. Hash tables.

Sorting and Divide and Conquer Strategy: Merge-sort; D-and-C with Matrix Multiplication as another example. Quick-sort with average case analysis. Heaps and heap-sort. Lower bound on comparison-based sorting and Counting sort. Radix sort.

B-trees.

Dynamic Programming: methodology and examples (Fibonacci numbers, matrix sequence multiplication, longest common subsequence, convex polygon triangulation).

Greedy Method: Methodology, examples (lecture scheduling, process scheduling) and comparison with DP (more examples to come later in graph algorithms).

No book has been recommended.
Graph Algorithms: Basics of graphs and their representations. BFS. DFS. Topological sorting. Minimum spanning trees (Kruskal and Prim's algorithms and brief discussions of disjoint set and Fibonacci heap data structures). Shortest Paths (Dijkstra, Bellman-Ford, Floyd-Warshall).

Books and References:

Semester: Spring 2008

 

CS 220: Introduction to Computer Organisation

Course Information

Introduction: Overview of basic digital building blocks; truth tables; basic structure of a digital computer.

Number representation: Integer - unsigned, signed (sign magnitude, 1's complement, 2's complement, r's complement); Characters - ASCII coding, other coding schemes; Real numbers - fixed and floating point, IEEE754 representation.

Assembly language programming for some processor.

Basic building blocks for the ALU: Adder, Subtractor, Shifter, Multiplication and division circuits.

CPU Subblock: Datapath - ALU, Registers, CPU buses; Control path - microprogramming (only the idea), hardwired logic; External interface.

Memory Subblock: Memory organization; Technology - ROM, RAM, EPROM, Flash, etc. Cache; Cache coherence protocol for uniprocessor (simple).

I/O Subblock: I/O techniques - interrupts, polling, DMA; Synchronous vs. Asynchronous I/O; Controllers.

Peripherals: Disk drives; Printers - impact, dot matrix, ink jet, laser; Plotters; Keyboards; Monitors.

Advanced Concepts: Pipelining; Introduction to Advanced Processors.

No Book has been recommended

Semester: Spring 2008

 

CS 315: Principles of Data Base Systems

Required Books

This book is also used at:

  • CSU Sacramento
Abraham Silberschatz

New: $92.83 , Used: $35.00
from Amazon.com or look for it on EBay

Recommended Books

Course Information

Overview of file organisation techniques: sequential, direct, indexed, hashed, inverted, B-trees.

Data models: relational, network, hierarchical.

Relational model: algebra, calculus, normal forms. Implementation of query languages, security and protection of data recovery methods.

Concurrent operations on data bases, introduction to distributed data base systems, case studies.

Semester: Spring 2008

 

CS 335: Principles of Compiler Design

Course Information

Compiler structure: analysis-synthesis model of compilation, various phases of a compiler, tool based approach to compiler construction.

Lexical analysis: interface with input, parser and symbol table, token, lexeme and patterns. Difficulties in lexical analysis. Error reporting. Implementation. Regular definition, Transition diagrams, LEX.

Syntax analysis: CFGs, ambiguity, associativity, precedence, top down parsing, recursive descent parsing, transformation on the grammars, predictive parsing, bottom up parsing, operator precedence grammars, LR parsers (SLR, LALR, LR), YACC.

Syntax directed definitions: inherited and synthesized attributes, dependency graph, evaluation order, bottom up and top down evaluation of attributes, L- and S-attributed definitions.

Type checking: type system, type expressions, structural and name equivalence of types, type conversion, overloaded functions and operators, polymorphic functions.

Run time system: storage organization, activation tree, activation record, parameter passing, symbol table, dynamic storage allocation.

Intermediate code generation: intermediate representations, translation of declarations, assignments, control flow, boolean expressions and procedure calls. Implementation issues.

Code generation and instruction selection: issues, basic blocks and flow graphs, register allocation, code generation, dag representation of programs, code generation from dags, peep hole optimization, code generator generators, specifications of machine.

Book List:
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques and Tools , Addison-Wesley, 1988.
C. Fischer and R. LeBlanc. Crafting a Compiler , Benjamin Cummings, 1991.
C. Fischer and R. LeBlanc. Crafting a Compiler in C , Benjamin Cummings.
A. C. Holub. Compiler Design in C , Prentice-Hall Inc., 1993.
Appel. Modern Compiler Implementation in C: Basic Design , Cambridge Press.
Appel. Modern Compiler Implementation in Java: Basic Design , Cambridge Press.
Fraser and Hanson. A Retargetable C Compiler: Design and Implementation , Addison-Wesley.
Dhamdhere. Compiler Construction , McMillan India.
Holmes. Object Oriented Compiler Construction , Prentice Hall.
Holmes. Building your own Compiler with C++ , Prentice Hall.
Wirth. Compiler Construction , Addison-Wesley.
Wilhelm and Maurer. Compiler Design , Addison-Wesley.
Any other book on Compilers: check central library
Reference to Programming Languages: search central library.
You may look at comp.compilers newsgroup from time to time: http://www.iecc.com/compiler .


Semester: Spring 2008

 

CS 340: Theory of Computation

Required Books

This book is also used at:

  • Stanford University
  • UC Berkeley

Course Information

Models of computation -- classification, properties and equivalences.

Regular languages models: finite state machines (deterministic and non-deterministic), regular grammars, regular expressions, equivalence of deterministic and non-deterministic machines and of the three models. Properties: closure, decidability, minimality of automata, iteration theorems.

Recursive and recursively enumerable sets models: turing machines, grammars, recursive functions, their equivalence. Church's thesis. Properties: closure, decidability, undecidablity/non-computability, notion of reductions.

Context-free languages models: grammars (including different normal forms), pushdown automata, and their equivalence. Properties: closure, iteration theorems, parsing.

Semester: Spring 2008

 

CS 345: Algorithms II

Required Books

Course Information

Max Flows: Max Flows (Ford-Fulkerson and bipartite matching).
Linear Algebra: LUP decomposition, inverting matrices.
Fast Fourier Transform. Polynomial multiplication, integer multiplication and division.
Number-theoretic Algorithms: GCD, Modulo arithmetic, Chinese remaindering, RSA.
Linear Programming: formulation, simplex, primal-dual.

Geometric algorithms: convex hull, closest pair, intersection of line segments, polygon triangulation.
Randomized Algorithms: identity testing, primality and min-cut.
Approximation Algorithms: max-cut, tsp, vertex-cover etc.
Backtracking.

Other topics: these may include string matching, parallel algorithms, amortized analysis, etc.

Semester: Spring 2008

 

CS 350: Principles of Programming Languages

Course Information

The basic thrust of this course will be on learning the distinctive techniques in the different paradigms and what semantic and compiling issues come up in the various languages considered.

Imperative Languages: block structure, scope rules, parameter passing, constructs like coroutines, tasks etc.

Functional programming: functions, recursion, macros, user-defined control constructs, higher order constructs, types, data abstraction, polymorphism, semantics, implementation issues.

Declarative programming: declarative programming, Horn clauses, procedural interprettation of Horn clauses, SLD-resolution including unification, the logical variable, implementation issues: abstract machines and compiling to abstract machines.

Object-oriented programming: objects and programming with objects, classes and instances, hierarchies and inheritance, encapsulation, semantics of OO languages and implementation issues.

Books list:
D. A. Watt. Programming Languages and Paradigms , Prentice-Hall, 1990.
J. LLoyd. Foundations of Logic Programming , Springer Verlag, 1984.
M. Hennessey. The Semantics of Programming Languages , John Wiley, 1990.
Luca Cardelli and P. Wegner. On Understanding Types, Data Abstraction and Polymorphism , Computing Surveys, 17(4), pp 471, 1985.
C. Reade. Elements of Functional Programming , Addison Wesley, 1989.
L. C. Paulson. ML for Working Programmer , Cambridge University Press, 1991.
B. Stroustrup. The C++ Programming Language , Addison Wesley.

Semester: Spring 2008

 

CS 355: Programming Tools and Techniques

Course Information

Software mangement tools such as SCCS and make; Programming tools such as Perl, Tcl/Tk; Proramming in the windows environment; Document preparation systems such as tex and metafont; Programming pearls.


Books list: Various on-line and other manuals.

Semester: Spring 2008

 

CS 360: Introduction to Computer Graphics and Simulation

Recommended Books

This book is also used at:

  • UC Berkeley
David F. Rogers

New: $103.70 , Used: $22.49
from Amazon.com or look for it on EBay

Course Information

Introduction to Picture Synthesis and Analysis. Conceptual Framework of an Interactive Graphical Simulation System.
Graphics hardware. Basic Raster Graphics Algorithms. Introduction to Simple Raster Graphics Package (SRGP).
Graphics Entities. Geometric Transformations. Object hierarchy. Segmentation. Interaction Techniques.
Geometric Modeling in 3-D. Viewing in 3-D. Concept of Synthetic Camera.
Dialogue Design. Graphics User Interfaces. Windowing Systems.

Graphical Modeling of Discrete events. Simulation of Discrete Event Displays. Animation Techniques. Basic Rules for Animation. Graphical Simulation of continuous motion. Role of Virtual Reality in Graphical Simulation.

Semester: Spring 2008

 

CS 365: Artificial Intelligence

Recommended Books

Eugene & McDermott, Drew Charniak

New: $0.00 , Used: $16.45
from Amazon.com or look for it on EBay

Patrick Henry Winston

New: $0.00 , Used: $9.95
from Amazon.com or look for it on EBay

Course Information

Introduction to AI. Agents and environments. Problem solving by search; uninformed search, informed ("heuristic") search, constrained satisfaction problems, adversarial search, Knowledge representation and reasoning; rule based representations, logical formalisms, frames or object oriented systems, network based approaches and mixed representations. Theorem-proving. Knowledge bases and expert systems. Overview of LISP and PROLOG. Reasoning in uncertain environments. Planning communication and multiagent systems. Learning. Vision. Natural Language Processing.

Semester: Spring 2008

 

CS 397: Special Topics in Computer Science

Course Information

This course is meant for a 3rd year BTech (CSE) student to study a topic of their interest, somewhat independently. A student may also carry out a project in this course.

In this course, there will be a faculty member associated with each student whose responsibility will be to suggest reading material, hold discussion sessions, monitor the progress of the student, examine the student, and give a grade at the end of the semester.

No Book has been recommended here.

Semester: Spring 2008

 

CS 422: Computer Architecture

Course Information

Introduction: Overview of Computer Architecture, Performance evaluation of processors, pipelining, super-pipelines, Advanced pipelines, static and dynamic scheduling, instruction-level parallelism, loop unrolling, VLIW and Super scalar processors, Vector processing and array processing.

Memory: bandwith issues, memory organization, cache coherence, Symmetric multiprocessors (SMP), NUMA-MPs, Massively parallel processors, Cache coherence protocols, Interconnection networks, I/O processing, multiprocessing, multiplexing, Examples of contemporary architectures, RAS (Reliability, Availability, Scalability) features.

No Book has been recommended here.

Semester: Spring 2008

 

CS 425: Computer Networks

Required Books

Recommended Books

Dimitri P. Bertsekas

New: $151.00 , Used: $24.95
from Amazon.com or look for it on EBay

Andrew S. Tannenbaum

New: $54.00 , Used: $0.34
from Amazon.com or look for it on EBay

Course Information

Introduction, history and development of computer networks, networks topologies.

Physical Layer: theoretical basis, transmission media, analog transmission, digital transmission, switching.

MAC layer: Aloha protocols, local area networks -- Ethernet, token ring, FDDI. Data link layer: sliding window protocols.

Network layer: routing algorithms, congestion control algorithms, internetwroking -- bridges and routers.

Transport layer. Session, presentation, and application Layers. Use of TCP/IP protocol suite as running example.

Introduction to X.25, ISO protocols.

Semester: Spring 2008

 

CS 455: Software Engineering

Required Books

This book is also used at:

  • UC Berkeley
  • CSU Sacramento

Course Information

This course will cover the techniques for development of software systems, commonly referred to as Software Engineering. It is intended to give the students both knowledge about, and practical experience in, the design and development of production quality software. The software engineering techniques taught in the class will be applied on a substantial team project.

Course topics will be as follows: Software development life cycle; Process models; Requirements; Specifications; Software design; Structured programming and implementation; Testing; Verification and validation; Software Metrics; Software Project management.


Semester: Spring 2008

 

CS 497: Special Topics in Computer Science

Course Information


This course is meant for a 4th year BTech (CSE) student to study a topic of their interest, somewhat independently. A student may also carry out a project in this course.

In this course, there will be a faculty member associated with each student whose responsibility will be to suggest reading material, hold discussion sessions, monitor the progress of the student, examine the student, and give a grade at the end of the semester.

No book has been recommended here

Semester: Spring 2008

 

CS 498: B Tech Project

Course Information

First semester project work.

No book has been recommended

Semester: Spring 2008

 

CS 499: B Tech Project

Course Information

First semester project work.

No book has been recommended

Semester: Spring 2008

 

CS 601: Computer Systems Lab

Course Information

Programming utilities, lab exercise for developing large system and application programs.

In this course, an MTech student is expected to develop a large program solving a problem given to him/her at the beginning of the semester.

Semester: Spring 2008

 

CS 602: Fundamentals of Computer Systems

Course Information

Basic concepts of operating systems, compilers, and database management systems.

The course is a review of three systems courses that are usually done at the undergraduate level. For books and references, you can check those three courses: OS , Compilers , and DBMS .

Semester: Spring 2008

 

CS 603: Fundamentals of Theoretical Computer Science

Required Books

This book is also used at:

  • Stanford University

This book is also used at:

  • Princeton University
  • UC Berkeley
  • Stanford University

Recommended Books

Raymond M. Smullyan

New: $9.95 , Used: $4.50
from Amazon.com or look for it on EBay

This book is also used at:

  • Stanford University

This book is also used at:

  • Stanford University

Course Information

Logic: basics of propositional and first order logic, completeness & compactness results. Some applications to computer science. (E.g., theorem proving, logic programming).

Theory of computation: Church's thesis, undecidability.

Computational complexity: time & tape bounds, time & tape bounded simulations, notion of complexity classes, classes P & NP, NP-completeness, some natural NP-complete problems.



Semester: Spring 2008

 

CS 617: Database Queries

Required Books

This book is also used at:

  • Stanford University

Course Information

Course Contents:
Optimization and evaluation of relational queries: conjunctive query optimization, optimization of queries involving union and difference operators, algorithms for performing joins. Limitations of relational algebra as a query language.

Fixed-point queries and Horn-clause queries. Optimization and evaluation of Horn-clause queries: filtering data flow method, magic set and generalized counting methods, clause and literal deletion problems. The boundedness problem, reducing the complexity of recursion, Duplicate clause removal.

Incorporating functions, sets and negations into Horn-clause queries.

Semester: Spring 2008

 

CS 619: Advances in DBMS

Recommended Books

Course Information

Course Contents:
User interfaces: forms, graphics, semi-graphics, spread sheet, natural language.

Query optimization: techniques like query modification;

Object oriented databases: notion of abstract data type, object oriented systems, object oriented db design.

Expert data bases: use of rules of deduction in data bases, recursive rules.

Fuzzy data bases: fuzzy set & fuzzy logic, use of fuzzy techniques to define inexact and incomplete data bases.

In addition of books , research papers, monographs and conference proceeding will be used.

Semester: Spring 2008

 

CS 621: Topics in Contemporary Microarchitecture

Course Information

Course Contents:
Performance as well as non-performance issues in current michroarchitecture research and development. Modern techniques to fight control dependence (advanced branch predictors), and data dependence (perfecting algorithms, data speculation techniques), and techniques to scale michroarchitectures for supporting large number of in-flight instructions. Design of microprocessors for low power, reliability, and security. Power/performance trade-offs and metrics, transient fault detection and recovery, designs for reliability and hardware level security (memory integrity and code pointer protection).

No book has been referred here.

Semester: Spring 2008

 

CS 622: Advanced Computer Architecture

Recommended Books

Course Information

Single-threaded execution, traditional microprocessors, DLP, ILP, TLP, memory wall, Parallel programming and performance issues, Shared memory multiprocessors, Synchronization, small-scale symmetric multiprocessors on a snoopy bus, cache coherence on snoopy buses, Scalable multiprocessors, Directory-based cache coherence, Interconnection network, Memory consistency models, Software distributed shared memory, multithreading in hardware, Chip multiprocessing, Current research and future trends.

Semester: Spring 2008

 

CS 623: VLSI Design for Parallel Architectures

Recommended Books

Course Information

Course Contents:
Introduction to hierarchical structural design.

Role of CAD in VLSI design process. Techniques and algorithms for symbolic layout and routing.

CMOS processing technology, CMOS building block.

Use of pipelining and parallelism, self-synchronized esigns, VLSI computing structures. Introduction to systolic arrays, mapping algorithms on systolic arrays, design of systolic arrays, system examples and design exercises.

Semester: Spring 2008

 

CS 624: Topics in Embedded Systems

Recommended Books

Course Information

Current topics in the design, specifications and analysis of embedded systems. The course will have the contemporary coverage of topics such as specifications of embedded systems, analysis of embedded systems, interface to the real-time operating systems, design case studies, design methodologies, etc. Other topics may include verification of embedded systems like formal verification, co-simulation, etc., estimation of hardware and software costs, partitioning, synthesis (hardware, software, memory, bus), retargetable usage of the software, specification and verification of the OS schedules, hard and soft real-time operating systems, and fault tolerant systems.

Semester: Spring 2008

 

CS 625: Advanced Computer Networks

Recommended Books

This book is also used at:

  • Princeton University
Pete Loshin

New: $47.95 , Used: $15.00
from Amazon.com or look for it on EBay

Marcus Goncalves

New: $50.00 , Used: $0.00
from Amazon.com or look for it on EBay

Course Information

Introduction: Overview of computer networks, seven-layer architecture, TCP/IP suite of protocols, etc.

MAC protocols for high-speed LANS, MANs, and wireless LANs. (For example, FDDI, DQDB, HIPPI, Gigabit Ethernet, Wireless ethernet, etc.)

Fast access technologies. (For example, ADSL, Cable Modem, etc.)

IPv6: Why IPv6, basic protcol, extensions and options, support for QoS, security, etc., neighbour discovery, auto-configuration, routing. Changes to other protocols. Application Programming Interface for IPv6. 6bone.

Mobility in networks. Mobile IP. Security related issues.

IP Multicasting. Multicast routing protocols, adderss assignments, session discovery, etc.

TCP extensions for high-speed networks, transaction-oriented applications. Other new options in TCP.

Network security at various layers. Secure-HTTP, SSL, ESP, Authentication header, Key distribution protocols. Digital signatures, digital certificates.

Semester: Spring 2008

 

CS 626: Fault Tolerant Computing Systems

Required Books

Course Information

Course Contents:
The course will discuss the principles & practice of fault tolerance in software and distributed systems.

Some of the topics to be covered in the class are: system model - error, failure, faults, software fault tolerance, Byzantine agreement, fail-stop processors, stable storage, reliable and atomic broadcasting, process resiliency, data resiliency & recovery, commit protocols, reliability modeling & performance evaluation, crash recovery in databases, and voting methods.

Semester: Spring 2008

 

CS 627: E-commerce

Recommended Books

Course Information

The objective of this course is to study the technologies and architectures that are in use in E-commerce today. The topics to be covered include:

Supporting technologies and tools, Architecture (e.g. Java commerce solution), Protocols and standards, Security, Business models, Payment mechanisms, and Case studies.

Semester: Spring 2008

 

CS 628: Computer Systems Security

Course Information

Introduction: need and basic goals for computer security, security threats etc.

Cryptographic building blocks: symmetric and asymmetric key cryptography, cryptographic hash functions, digital signature schemes etc., with representative applications for each.

Operating System Security: low-level protection mechanisms, access control: models for access control, some confidentiality, integrity, and hybrid models of access control such as Bell-La Padula, Biba, Chinese Wall etc., discretionary v/s mandatory access control.

Case studies: Java access control policy specifications, SELinux security model and implementation. Program flaws: bugs which have security implications such as buffer overflows, race conditions etc.

Malicious code: viruses, worms, Trojan horses; how they work and how to defend against them.

Network Security: problems in network security; kinds of attacks, PKI, key exchange protocols, example protocols such as PGP, Kerberos, IPSEC/VPN, SSL, S/MIME etc.

Protocol vulnerabilities: examples of protocol vulnerabilities such as in TCP/IP, denial of service attacks etc.

Tools for network security such as firewalls and intrusion detection systems.

No book has been recommended here.

Semester: Spring 2008

 

CS 632: Topics in Distributed Systems

Required Books

Recommended Books

This book is also used at:

  • Stanford University

Course Information

Local area networks, concurrency control and recovery, distributed languages and communication primitives, file servers, case studies of distributed systems.

Semester: Spring 2008

 

CS 633: Parallel Computing

Required Books

Recommended Books

Course Information

Introduction: Paradigms of parallel computing: Synchronous - vector/array, SIMD, Systolic; Asynchronous - MIMD, reduction paradigm.

Hardware taxonomy: Flynn's classifications, Handler's classifications.

Software taxonomy: Kung's taxonomy, SPMD.

Abstract parallel computational models: Combinational circuits, Sorting network, PRAM models, Interconnection RAMs. Parallelism approaches - data parallelism, control parallelism

Performance Metrices: Laws governing performance measurements. Metrices - speedups, efficiency, utilization, communication overheads, single/multiple program performances, bench marks.

Parallel Processors: Taxonomy and topology - shared memory mutliprocessors, distributed memory networks. Processor organization - Static and dynamic interconnections. Embeddings and simulations.

Parallel Programming: Shared memory programming, distributed memory programming, object oriented programming, data parallel programming, functional and dataflow programming.

Scheduling and Parallelization: Scheduling parallel programs. Loop scheduling. Parallelization of sequential programs. Parallel programming support environments.

Semester: Spring 2008

 

CS 634: Mobile Computing

Course Information

Introduction: Challenges in mobile computing, coping with uncertainities, resource poorness, banwidth, etc. Cellular architecture, co-channel interference, frequency reuse, capacity increase by cell splitting. Evolution of mobile system: CDMA, FDMA, TDMA, GSM.
Mobility Management: Cellular architecture, Co-channel interference, Mobility: handoff, types of handoffs; location management, HLR-VLR scheme, hierarchical scheme, predictive location management schemes. Mobile IP, cellular IP.

Publishing & Accessing Data in Air: Pull and push based data delivery models, data dissemination by broadcast, broadcast disks, directory service in air, energy efficient indexing scheme for push based data delivery.

File System Support for Mobility: Distributed file sharing for mobility support, Coda and other storage manager for mobility support

Ad hoc Network Routing Protocols: Ad hoc network routing protocols, destination sequenced distance vector algorithm, cluster based gateway switch routing, global state routing, fish-eye state routing, dynamic source routing, ad hoc on-demand routing, location aided routing, zonal routing algorithm.

Mobile Transaction and Commerce: Models for mobile transaction. Kangaroo and joey transactions, team transaction. Recovery model for mobile transactions. Electronic payment and protocols for mobile commerce.

No book has been recommended here

Semester: Spring 2008

 

CS 640: Computational Complexity

Course Information

Complexity Classes. NP and co-NP, Results on structure of NP-complete sets, Sparse NP-hard sets, Basic Inclusions and Separations, Nondeterministic Space Classes, Logarithmic Space, A PSPACE complete problem, Polynomial Hierarchy, PH through Alternating Quantifiers, Universal Relations, Probabilistic Classes, Schwartz-Zippel Lemma and BPP, BPP and its relationship with other Complexity Classes


No book has been recommended here

Semester: Spring 2008

 

CS 641: Modern Cryptology

Recommended Books

This book is also used at:

  • Stanford University
  • CSU Sacramento

Course Information

Basics of finite fields.
Private and Public-key cryptography, existing cryptosystems and their security.
Cryptanalysis of existing systems.
Zero-knowledge protocols, One-way functions.
Advanced protocols for different applications, e.g. e-cheque, e-cash etc.
Network and System level security issues.

Semester: Spring 2008

 

CS 642: Circuit Complexity Theory

Course Information

Course Contents:
The course aims at a comprehensive overview of results on the circuit complexity classes and their relationship with the Turing based classes. The topics to be covered in the course are as follows:

The class NC and its properties;
Charecterization of class P by circuits
The classes DLOG, NLOG, LogCFL and their properties
The class SC, proof of the relationship RL is a subset of SC
The class NC1 and its charecteriztions
The class TC0 and its charecterizations
The class ACC and its charecterizations
The class AC0 and its charecterizations
Lower bounds for AC0, for AC0[m] where m is a prime power and for TC02.

Semester: Spring 2008

 

CS 643: Abstract State Machines: Theory and Practice

Course Information

Course Contents:
Examples of sequential abstract state machines (ASMs, for short) specifying some familiar algorithms. Proof of sequential ASM thesis which states that all sequential algorithms can be captured by sequential ASMs. Computations with abstract structures, choiceless polynomial time. ASM specification of parallel and distributed algorithms. ASM methodology for specifying semantics of programming languages, and for verification. Comparison of ASM approach with other existing methodologies for specification and verification. ASM defined fine complexity classes. ASMs and meta-finite models.


Books and References:
No text available. Oneline material available at the Michigan webpage on ASMs: http://www.eecs.umich.edu/gasm/

Semester: Spring 2008

 

CS 644: Finite Automata on Infinite Inputs

Course Information

Course Contents:
Finite automata on infinite words and trees: Complementation, determinization and algorithms for checking emptiness.
Connections with logic: Finite automata and monadic second order (MSO) logic on words and trees. Decidability of MSO theory of various infinite graphs, methods of interpretation and unfolding.

Applications: Decision procedures for temporal logics. Modelling, verification and synthesis of systems. Effective theory of infinite games.

Miscellaneous : Timed and hybrid automata. Probabilistic transition systems. Visual pushdown automata.

Books and References:
No specific text book.

Semester: Spring 2008

 

CS 645: Design and Analysis of Algorithms

Required Books

Recommended Books

Course Information

Introduction. Disjoint set Union-Find algorithms. Red-black trees. Selection algorithms and application to convex hull. Planar graph separators. Priority queues. Fusion trees and their applications to integer sorting. F-heaps, R-heaps, Q-heaps and AF-heaps and general shortest paths and minimum spanning trees algorithms. Polynomial time algorithms for matching.

Semester: Spring 2008

 

CS 646: Parallel Semi-Numerical and Non-Numerical Algorithms

Recommended Books

Course Information

Complexity measure for a parallel algorithms.

Parallel combinatorial algorithms: permutations with and without repetitions combinations, derangements. Parallel searching algorithms: maximum/minimum, median, K-th largest/smallest element. Parallel sorting algorithms.

Parallel graph algorithms: parallel graph search &, tree traversal algorithms, parallel algorithms for connectivity problems, parallel algorithms for path problems.

Semester: Spring 2008

 

CS 647: Advanced Topics in Algorithms and Data Structures

Recommended Books

Course Information

The course intends to deal with advanced aspects of algorithm: design and analysis including data structures, analysis and lower bound proofs, amortized complexity of algorithms.

Fibonacci heaps and self-adjusting search trees, Splay trees, linking and cutting trees.

State-of-the-art algorithms for minimum spanning trees, shortest path problem. Network flows -- preflow-push algorithms, max flow algorithm, and scaling algorithms.

Matching, blossoms, Micali-Vazirani algorithm.

Lower bound theory for parallel computations.

Semester: Spring 2008

 

CS 647: Advance:

Recommended Books

Course Information

The course intends to deal with advanced aspects of algorithm: design and analysis including data structures, analysis and lower bound proofs, amortized complexity of algorithms.

Fibonacci heaps and self-adjusting search trees, Splay trees, linking and cutting trees.

State-of-the-art algorithms for minimum spanning trees, shortest path problem. Network flows -- preflow-push algorithms, max flow algorithm, and scaling algorithms.

Matching, blossoms, Micali-Vazirani algorithm.

Lower bound theory for parallel computations.

Semester: Spring 2008

 

CS 648: Randomised Algorithms

Course Information

To be announced soon.

No book has been recommended here.

Semester: Spring 2008

 

CS 649: Logic in Computer Science

Recommended Books

Ronald Fagin

New: $42.00 , Used: $28.00
from Amazon.com or look for it on EBay

This book is also used at:

  • Stanford University

Course Information

The aim of this course will be to provide introduction to some applications of logic in computer science. Following are some possible topics. At least three of these will be covered in some detail. Actual choice of topics, including depth and breadth, will depend on interest/background of the class.

Communication and Concurrency: Processes as transition systems, operations on these processes (composition, hiding etc.). Bisimulation and observational equivalences. Calculus of mobile systems: pi-calculus. Some theory related to pi calculus. Logics to reason about transition systems, LTL, CTL* and modal mu calculus.
Reasoning about Knowledge: Knowledge as modality, axioms of knowledge. Common knowledge, distributed agents exchanging messages, agreeing to disagree. Logical omniscience.
Finite Model Theory: Expressiveness of FO and its extensions on finite structures. Games for lower bounds. Connections with complexity classes, role of order on the domain.
Feasible Proofs: Propositional proof systems for tautologies. Simulation and lower bounds on length of proofs for specific systems (e.g. PHP requires superpolynomial length using resolution). Theories of weak arithmetic, provably total functions and relations to complexity theory.
Full Abstraction problem for PCF: PCF as an extension of lambda calculus. Operational and denotational semantics and the full abstraction problem. Solutions to the full abstraction problem. Games semantics.

Semester: Spring 2008

 

CS 650: Topics in Lambda Calculus

Course Information

Optimal reductions in lambda calculus: Levy's formalization of the problem, Lamping's algorithm and its correctness. Connections to linear logic and geometry of interaction. Inherent complexity of implementing optimal reductions.

Categorical semantics of lambda calculus: Introduction to category theory. Cartesian closed categories and typed lambda calculus. Relation to deductive systems. Categories with reflexive elements, a construction by D. Scott.

Games semantics: Games semantics for lambda calculus. Solution to full abstraction problem via games. PCF, an extension of typed lambda calculus.

No book has been recommended here.

Semester: Spring 2008

 

CS 653: Functional Programming

Course Information

Course Contents:
ML (CAML dialect); X-calculus and combinators; abstraction and higher order functions; lazy and eager evaluation; types, polymorphism and type inference; Equations and pattern matching; SECD machine; denotational semantics of functional languages; implementing functional languages.


No book has been recommended here.

Semester: Spring 2008

 

CS 654: Software Architecture

Recommended Books

Course Information

Complex software systems require abstraction and analysis at an architectural level of abstraction. In this course we study, typical software system structures (architectural styles), techniques for designing and implementing these structures, models for characterizing and reasoning about architectures, and tools architectural modelling. Role of architecture in Software engineering; Enterprise Architectures, Zachman's Framework; Architectural Styles, Design Patterns; Architecture Description Languages; Product-line architectures; Component based development

Semester: Spring 2008

 

CS 655: Object Oriented Software Modeling

Course Information

Unified Modeling Language, (UML), Use case modeling, Methodologies for object-oriented analysis and design (OOAD), Design patterns, CASE tool support for OOAD and automatic code generation, Precise modelling (using OCL-Object Constraint Language) and analysis of software models, Modeldriven architecture (MDA), Modeling language design:metamodeling, UML Profiles, Advanced modeling topics: Aspect oriented modeling, Modeling non functional properties, round-trip engineering, model-based testing, open research questions.

No book has been recommended here.

Semester: Spring 2008

 

CS 660: Fundamentals of Interactive Computer Graphics

Recommended Books

Course Information

Overview of the programmer's model of interactive graphics. Computer graphics and image processing and techniques. Implementation of a simple graphics package.

Geometric transformations, viewing transformations, advanced display architecture. Raster algorithms and software. Techniques of visual realism.

Algorithms for hidden edge and surface removal. Shading models, colour displays and concepts of shadows.

Semester: Spring 2008

 

CS 663: Computational Geometry

Recommended Books

Course Information

Historical perspective: complexity notions in classical geometry. Towards computational geometry, geometric preliminaries, models of computation.

Geometric searching: point location problems, location of a point in a plannar subdivision, the slab method, the chain method, range - searching problems.

Convex hulls: problem statement and lower bounds. Graham's scan, Jarvis's march, quick hull technique, convex hulls in two and higher dimensions, extension and applications.

Proximity: divide and conquer approach, locus approach; the Voronoi diagram, lower bounds, variants and generalizations. Intersections, hidden-line and hidden surface problem.

The geometry of rectangles: application of the geometry of rectangles, measure and perimeter of a union of rectangles, intersection of rectangles and related problems.

Semester: Spring 2008

 

CS 664: Algorithms in Combinatorial Geometry

Recommended Books

Course Information

Basics: fundamental concepts in combinatorial geometry, permutation tables, semispaces of configurations, dissection of point sets, zones in arrangement, the complexity of families of cells.

Fundamental algorithms: constructing arrangements, skeletons in arrangements, linear programming, planar point location search.

Applications: problems for configurations and arrangements, separation and intersection in the plane.

Semester: Spring 2008

 

CS 665: Artificial Intelligence

Recommended Books

Course Information

Approaches to artificial intelligence.

Search: state space, and/or and game tree search.

Production systems: design, implementation and limitations, case studies. Knowledge representation: semantic networks, predicate calculus, structural/causal networks.

Current issues: inference control, theorem proving, deduction, truth maintenance, planning. Case study of one or more examples from natural language processing, question answering, vision, expert systems, etc.

Philosophical issues.

Semester: Spring 2008

 

CS 671: Introduction to Natural Language Processing

Recommended Books

Course Information

A computational framework for natural language. A framework such as LFG, GPSG or Panlni in some depth. Partial description of English or an Indian language in the frame work, lexicon, algorithms and data structures for implementation of the framework.

Introduction to semantics and knowledge representation. Some applications like machine translation, database interface.

Semester: Spring 2008

 

CS 672: Natural Language Processing Semantics

Recommended Books

This book is also used at:

  • Stanford University

Course Information

Introduction to semantics, semantic interpretation, knowledge representation, context and world knowledge, plans and actions, discourse structure, belief models, speech acts. Selected applications.

Semester: Spring 2008

 

CS 673: Machine Translation

Course Information

Course Contents:
Overview of Natural Language Processing;
Syntax, semantics, context and world of knowledge;
Strategies for machine translation, Direct, Transfer and Interlingua approaches;
Rule based, Example based on Hybrid Methodologies;
Construction of lexical data-base, Text generation, Machine-aided translation, user interfaces;
Examples of English-Hindi and Hindi-English machine translation.

No book has been recommended here.

Semester: Spring 2008

 

CS 674: Knowledge Discovery

Recommended Books

This book is also used at:

  • Massachusetts Institute of Technology

This book is also used at:

  • Princeton University

This book is also used at:

  • Stanford University

This book is also used at:

  • CSU Sacramento

Course Information

This course will explore different machine learning, knowledge discovery and data mining approaches and techniques: Concept Learning, Decision Tree Learning, Clustering and instance based learning, Rule induction and inductive learning, Bayesian networks and causality, Neural networks, Genetic algorithms, Reinforcement learning, Analytical learning.

Semester: Spring 2008

 

CS 676: Computer Vision and Image Processing

Course Information

Human and Computer Vision.
Image Representation and Modelling.
Line and Edge detection, labeling, Image Segmentation.
Pattern Recognition: Statistical, Structural, Neural and Hybrid Techniques.
Training and Classification.
Document Analysis and Optical Charecter Recognition.
Object Recognition.
Scene Matching and Analysis, Robotic Vision.
Role of Knowledge.

No book ha sbeen recommended here.

Semester: Spring 2008

 

CS 678: Learning With Kernels

Recommended Books

Course Information

Kernel based methods in machine learning have become a major paradigm in machine learning in the last decade. The methods have also found widespread application in pattern classification problems. This course aims to first discuss the basic principles of kernel based learning methods and then branch off into some areas of current research like: techniques for finding optimal kernels, error bound analysis, novelty detection etc.
Topics:

- Mathematical preliminaries: a) Probability - probability measures, densities, distributions, mean, variance, co-variance, sampling, stochastic process b) Linear algebra – vector spaces, linear combinations, convex combinations, norms, inner products, basis, inequalities c) Functional analysis – function spaces, norm, Banach and Hilbert spaces, basis, completeness, inequalities, reproducible kernel Hilbert spaces.

-Data representation, similarity, classification methods, function estimation, measures of classification performance.

-Kernels, representing similarity and dissimilarity.

-Risk and loss functions, estimators.

-Regularization, representer theorem.

-VC dimension and VC bounds.

-SVM and support vectors, multi-class classification, semi definite programming.

-Applications to biology and text categorization.

-Principal component analysis.

-Leave-1-out, leave-m-out bounds.

-Kernel design, hyper-kernels, optimality of kernels.

-Novelty detection.

References:
Relevant papers from:
a) Journal of Machine Learning Research
b) Machine learning
c) Neurocomputing
d) Neural computation
e) Neural networks
f) IEEE-PAMI
g) Conference proceedings- COLT, ICML.

Semester: Spring 2008

 

CS 680: Category Theory and Applications in Computing

Course Information

Introduction: Basic definition and diagram; sources and sinks; monicity and epicity; isomorphisms of objects and morphisms; duality; Universal Structures: Initial terminal and zero; Category of sources and sinks; product; equalizer; regular epicity and monicity; pullback; completeness; kernel; Normal Categories: Normal hierarchy; extension of categories; factorization; chains and exactness; Morphism algebra: Biproduct; semiadditive category; Additive category; Functors: Natural transformation; categories on natural transformation; property preserving and reflecting functors; Diagram isomorphism; Similar categories; generalization of limit and colimit; H-reflection morphism and adjoint functor; Representable functors Category in context of another category; Application to Logic (Topoi); application to Programming Languages.

No book has been recommended here.

Semester: Spring 2008

 

CS 681: Computational Algebra and Number Theory

Course Information

Elementary operations: the complexity of basic operations like additions, multiplications for integers and polynomials. Polynomials: The complexity of factorization, irreducibility testing, ideal membership etc for polynomials over finite fields. Motivating example: Reed-soloman codes. Integer Lattices: the complexity of finding a short vector in an integer lattice. Motivating example; polynomial factorization. Integers: The complexity of factorization, primality testing, discrete log computation etc for integers. Motivating examples: RSA and El Gamal cryptosystems. Elliptic curves: the complexity of addition, point counting etc. for elliptic curves. Motivating examples: Elliptic curve cryptosystems and integer factoring.


No book has been recommended here.

Semester: Spring 2008

 

CS 682: Quantum Computing

Recommended Books

Michael A. Nielsen

New: $85.00 , Used: $28.50
from Amazon.com or look for it on EBay

Course Information


Foundations:
Hilbert spaces (finite dimensional). Axioms of quantum probability. Quantum vs Classical probability.
Quantum Computing:
Turing machines, Boolean circuits, Quantum Circuits, Universality. Simon's problem, Phase finding, Shor's algorithm, Grovers algorithm, Probability amplification. Some applications.
Quantum Information processing:
Quantum error correction.Knill-Laflamme theorem, Stabiliser codes

Semester: Spring 2008

 

CS 697: Special Topics in Computer Science & Engineering

Course Information

Special and advanced topics in different areas of Computer Science and Engineering will be covered under this course.

No book has been recommended

Semester: Spring 2008

 

CS 698: Topics in Computer Science & Engineering (temporary courses)

Course Information

Currently the following courses are offerred:

CS698A: Topics in Object Oriented Language implementation.
CS698G: Performance and availability of computer

CS698T: Wireless networking

Semester: Spring 2008

 

CS 699: MTech Thesis

Course Information

No description

No book has been referred here.

Semester: Spring 2008

 

CS 719: Introduction to Data Streams

Course Information

Motivating applications: network monitoring, sensor networks, need for highly efficient processing of high speed and high volume data streams, Space and time efficient randomized algorithms as a candidate solution, models of data streams. Basics of randomization: elementary probability theory, expectation, linearity of expectation, variance, Markov and Chebychev's inequality, Chernoff and Hoeffding (CH) tail inequalities, hash functions, limited independence, CH-bounds for limited independence.

Finding frequent items in data streams, Estimating distinct item queries, Estimating frequency moments, estimating join sizes, Approximate histograms over data streams, Transforms over data streams, wavelets, fourier and DCT clustering over data streams, Applications to graphs.

No book has been recommended here.

Semester: Spring 2008

 

CS 720: VLSI Testing and Fault-Tolerance

Recommended Books

Course Information

The course is primarily intended to familiarize students with the problem of testing large and complex electronic circuits.

Various techniques to solve this problem and concepts of design for easy testability (DFT) will be discussed. Topics related to fault-modeling and fault-simulation to evaluate the fault-coverage of test vectors will be covered in detail.

The problem of reduced yield and reliability of circuits in presence of faults will be discussed and techniques to improve the yield and reliability of these circuits by introducing fault-tolerance measures will also be covered.

Various redundancy techniques like structural, time, information and software redundancy will also be discussed in detail.

Semester: Spring 2008

 

CS 720: VLSI Testing and Fault-Tolerance

Recommended Books

Alexander Miczo

New: $150.00 , Used: $61.34
from Amazon.com or look for it on EBay

Course Information

The course is primarily intended to familiarize students with the problem of testing large and complex electronic circuits.

Various techniques to solve this problem and concepts of design for easy testability (DFT) will be discussed. Topics related to fault-modeling and fault-simulation to evaluate the fault-coverage of test vectors will be covered in detail.

The problem of reduced yield and reliability of circuits in presence of faults will be discussed and techniques to improve the yield and reliability of these circuits by introducing fault-tolerance measures will also be covered.

Various redundancy techniques like structural, time, information and software redundancy will also be discussed in detail.

Semester: Spring 2008

 

CS 725: Topics in Networking

Course Information

Recent developments in various fields in networking, including but not limited to, routing, flow control, performance evaluation, transport protocols, application protocols, real-time protocols, and network architectures.

Emerging technologies such as, ATM, SMDS, Frame-relay, SONET, ISDN. Issues in Gigabit networking.

Network related issues in development of multi-media applications.

Books and References:
Requests for Comments (RFCs), Information Sciences Institute, USC, CA.
Internet Drafts , published by Internet Engineering Task Force.
Proceedings of:

ACM SIGCOMM Conference
IEEE Infocom
ACM Multimedia Conference

Journals:
IEEE Journal on Selected Areas in Communications
IEEE Transactions on Communication
ACM/IEEE Transactions on Networking

Other journals and books may be prescribed by the instructor.

Semester: Spring 2008

 

CS 726: Topics in Multimedia

Course Information

Multimedia systems - requirements, technology.
Coding and compression standards - JPEG, MPEG, etc.
Architecture issues in multimedia. Desk area networks.
Operating Systems Issues in multimedia - real-time OS issues, synchronization, interrupt handling, etc.
Database issuses in multimedia - indexing and storing multimedia data, disk placement, disk scheduling, searching for a multimedia document.
Networkng issues in multimedia - Quality-of-service guarantees, resource reservation, traffic specification, shaping, and monitoring, admission control, etc. Multicasting issues.
Session directories. Protocols for controlling sessions.
Security issues in multimedia - digital watermarking, partial encryption schemes for video streams.
Multimedia applications - audio and video conferencing, video on demand, voice over IP, etc.

Latest developments in the field of multimedia.

Books and References:
Journals:

Multimedia Systems (ACM Press)
Proceedings of:
ACM SIGMM conference.

Semester: Spring 2008

 

CS 727: Topics in Internet Technologies

Course Information

Today the Internet is being used for myriad of applications - electronic publishing, electronic commerce, distance education, collaborative working, etc. This course intends to investigate the underlying principles and practices that support these applications.

Introduction to computer networks; Content preparation - HTML, DHTML, VRML, SGML, XML and other markup schemes; Images - compression, formats; Audio - compression, formats; Content Delivery - protocols - HTTP and variants, Internet servers, proxy servers; Search engines; Data on the web; Content Display - browsers, plugins, helper applications; Interactivity - Java, Active-X; Component technologies, Javabeans, CORBA; Security, Electronic payment systems, Firewalls, Encryption, Watermarks; Performance, Benchmarking the Web.

Books and References:
Websites:

www.w3.org
www.ietf.org
www.omg.org
www.xml.org
www.microsoft.com/com
java.sun.com
Research papers.

Semester: Spring 2008

 

CS 728: Topics in Grid Computing

Course Information

Overview. Focuses on grid computing as emerging new computing paradigm for solving complex collaborative problems that require massive resources and infinite CPU cycle. The topics included: Definition of Grid; Basic Building Blocks; Issues in Management of Grid Models; Evolution of Grid Models.

Architecture. Deals with grid architecture providing an anatomical look into fundamental system components and their functionalities as well as interactions. Topics: Requirements concerning abstractions, behaviours, resources, connectivity, and protocols; Open grid service architectures.

Environment. Talks about grid computing environments. Topics: Overview of GCE; Programming models; Middleware for building grid computing environments; Language support (MPI-G, MPI-G2, etc) for grid computing; Meta models for grid programming; Security.

Applications. Deals with case studies, how the global computing infrastructure has become a reality for collaborative complex data intensive computing aid for federated database services, web services, bioinformatics. It will also include among others some selection of topics from Seti project, Sun grid engine, Skyserver and some national grid projects.

Monitoring and evaluation. It will include following: Monitoring; Scheduling; Performance tuning; Debugging and performance diagnostic issues;

Semester: Spring 2008

 

CS 730: Topics in Operating Systems

Course Information

This course will cover some advanced topics in Operating Systems, such as, issues in multiprocessor operating systems, real-time operating systems, advanced file system topics, and distributed systems.

Semester: Spring 2008

 

CS 738: Advanced Compiler Optimizations

Recommended Books

This book is also used at:

  • Stanford University

This book is also used at:

  • Stanford University

Course Information

Introduction to Advanced topics, Compiler Algorithms Notation, Symbol table structure, Intermediate representation, Run time support, Producing code generators automatically, Control flow analysis, Data flow analysis, Dependence analysis and dependence graphs, Alias analysis, Introduction to optimizations, Early optimizations, Redundancy elimination, Loop optimizations, procedure optimizations, Register allocation, Code scheduling, control flow and low level optimizations, Inter procedural Analysis and optimizations, Optimization for memory hierarchy, Case studies.

Semester: Spring 2008

 

CS 740: : Topics in Logic and Computation

Recommended Books

Course Information

Curry-Howard isomorphism between typed terms of formal systems representing computable functions and deductions in certain logics.

Simply typed lambda calculus, Gödel's system T and Girard's system F. Strong normalization. Semantics. Expressibility of these -- how higher order functions and polymorphism add to expressibility.

Connection with provably recursive functions in systems of arithmetic. Polynomial time logic.

Semester: Spring 2008

 

CS 741: Structural Complexity

Recommended Books

This book is also used at:

  • Stanford University

Course Information

Survey of basic background: models of computations and resource bounded computations. Central complexity classes, notion of complete problems in a class, polynomial time reducibilities and how these relate to each other.

Structure of NP complete sets, p-isomorphism conjecture. Sparse sets in NP. Self reducibility. Relativised classes. Nonuniform complexity. Uniform diagonalization. Polynomial time hierarchy. Interactive proof systems.

Semester: Spring 2008

 

CS 742: Parallel Complexity and Sub-Logarithmic Time Algorithms

Required Books

Recommended Books

Course Information

VLSI theory of complexity. Theory of log-space completeness. Structure of NC. Unbounded fan-in circuits. CRAM model and allocated PRAM models.

Sub-logarithmic time algorithms for Parallel symmetry breaking, parallel prefix computation, ordered chaining, nearest largers, Delaunay triangulation and convex hull.

Optimal NC algorithms for deterministic list ranking triconnectivity and task Scheduling.

Semester: Spring 2008

 

CS 743: Advanced Graph Algorithms

Course Information

Review of important sequential graph algorithms.

Introduction to parallel models for computation. General techniques for fast parallel computations on vectors and lists and their applications to design of efficient parallel graph algorithms.

Parallel dynamic programming and its applications to expression graphs.

State-of-art algorithms for depth first search of directed and undirected graphs. NC-algorithms for st-numbering and open ear decomposition.

Parallel algorithms for graph optimization problems. Algorithms for graph coloring. Decomposition of graph into simpler subgraphs. Equivalence relations and classes in graphs. Parallel planarity testing.

Semester: Spring 2008

 

CS 743: Advanced Graph Algorithms

Recommended Books

Alan Gibbons

New: $39.99 , Used: $4.99
from Amazon.com or look for it on EBay

Course Information

Review of important sequential graph algorithms.

Introduction to parallel models for computation. General techniques for fast parallel computations on vectors and lists and their applications to design of efficient parallel graph algorithms.

Parallel dynamic programming and its applications to expression graphs.

State-of-art algorithms for depth first search of directed and undirected graphs. NC-algorithms for st-numbering and open ear decomposition.

Parallel algorithms for graph optimization problems. Algorithms for graph coloring. Decomposition of graph into simpler subgraphs. Equivalence relations and classes in graphs. Parallel planarity testing.

Semester: Spring 2008

 

CS 755: Topics in Software Engineering

Course Information

This is a research-oriented, seminar type course which will focus on the state-of-the-art in various areas of Software Engineering--

Software project management,
Metrics and measurement,
Software configuration management,
Software risk management,
Requirements engineering,
Software quality assurance,
Software reliability models,
Object oriented design,
Object oriented programming (with C++),
Formal specifications,
Formal verification of programs,
Jackson method for design,
CASE tools and technology,
Cleanroom method for software development,
Information system design,
Real-time software specification and design.

Semester: Spring 2008

 

CS 781: Cognition: Memory

Course Information

Types of memory, Features (esp. behavioural) of memory, Experimental evidence from: Psychology (human/animal subjects), nerophysiology, neurochemistry and imaging, brain lesions and damage in human animals, Models: Schema, Sparse distributed memory, pandemonium, Copy cat, Society of mind, matrix, SAM, TODAM, connectionist.

No book has been recommended here.

Semester: Spring 2008

 

CS 782: Cognitive Semantics

Recommended Books

George Lakoff

New: $16.00 , Used: $6.50
from Amazon.com or look for it on EBay

Course Information


Cognitive Semantics seeks to relate linguistic expressions to conceptual structures in the context of a speech act. The objective of this course is to explore the cognition-language mappings. The course will focus on topics such as:

- Conceptual and linguistic structures
- Cognition and grammar - Rules and connections
- Lexical structure and compositionality
- Object, event and relational structures
- Spatial and temporal semantics
- Speech acts, rhetorical relations, intentionality and implicature
- Semantic transference, metonymy and metaphor
- Grounding, embodiment, perceptual processes and acquisition
- Lexicalization patterns and diachronic processes
- Cognitive and linguistic processing in artificial agents and other nonhuman systems
- Bilingual and Sign language users

Journals and references

Langacker, R. W. , Concept, Image, and Symbol. Mouton de Gruyter. Berlin/New York, 1990.
Levinson, S.C., Presumptive Meanings, MIT Press, 2000.
Nirenburg, S. and V. Raskin, Ontological Semantics, MIT Press, 2004.
Pinker, S., Words and Rules, Basic, 1999.
Pustejovsky, J., Generative Lexicon, MIT Press, 1995.
Rogers, T. and J. McClelland, Semantic Cognition: A Parallel Distributed Processing Approach, MIT Press, 2004.
Talmy, L. Cognitive Semantics - vol. 1 and vol.2, MIT Press, 2000.
van Lambalgen, Michiel, and Fritz Hamm, The proper treatment of Events, Blackwell 2004
Wierzbicka, A., Semantics, culture, and cognition: Universal human concepts in culture-specific configurations, OUP, 1992.

PAPERS:A selection of articles and current papers from journals including the following:

Cognition [ScienceDirect]

Cognitive Science [ScienceDirect]

Journal of Semantics, OUP

Lingua [ScienceDirect]

Journal of Memory and Language [ScienceDirect]

Semester: Spring 2008

 

CS 784: Language Acquisition

Course Information

Course Contents:
Part A: Child Language Acquisition: Methodology: Diary studies, Large sample studies, Longitudinal studies. Developmental stages: Prelinguistic development: Onset of perception, Phonological development. Linguistic development: Lexicon, holophrasis, under/overextensions; Morphology and syntax (Grammar), telegraphic speech, compositionality, syntax in lexical development; universals and parameter setting, Discourse organization, deictic reference, discourse dependencies, speech acts and implicature. Bilingual language development: Syntactic and semantic processing; Differentiation, transfer and decay. Non-normal language develop.ment: Phonological, grammatical and pragmatic impairments.

Part B: Artificial life, agent based and evolutionary approaches to language acQuisition. Some topics from the following will be discussed. 1. Communicative aspects of language. Origins and use of signs, symbols, words, compositional structures in communication. Origins of a lexicon in multiple agent systems, simulation experiments. Emergence/evolution of syntax in multiple agent systems, simulation experiments. Learning mechanisms and constraints from computational learning theory. Emergence/evolution of language universals. Grounding of linguistic entities. Emergence/evolution of intentional and semantic aspects of language. Optimality theory and optimality arguments.

Semester: Spring 2008

 

CS 789: Special topics in Languages acquistion and origins

Course Information

Child's acquisition of phonology, lexicon, syntax, semantics, pragmatics, and mappings; Grounding issues in language acquisition; Origin and evolution of speech sounds, lexicon, syntax, semantics, intentional use, Agent and population models, Bootstrapping, Modularity-nonmodularity debate; Critical periods; Rules vs connectionist approaches; Sign language, synchronic and diachronic change, creolization.

Semester: Spring 2008

 

CS 797: Special Advance Topics in Computer Science

Course Information

No description

No book has been recommended here

Semester: Spring 2008

 

CS 799: PhD Thesis

Course Information

No description

No book has been recommended here

Semester: Spring 2008

 

CS698W: Topics in Bio-Computing

Recommended Books

This book is also used at:

  • Stanford University
  • UC Berkeley

Course Information

The course will emphasize algorithm design and computational complexity aspects in bioinformatics. We shall see that all the usual paradigms for algorithm design, namely, greedy, divide-and-conquer, dynamic programming, exhaustive serach, and randomization, all help in obtaining useful bioinformatics algorithms. Genome rearrangement, bock alignment, global sequence alignment, finding regulatory motifs in DNA sequences, finding minimum energy conformations of drug molecules, respectively exemplify the uses of these paradigms.
We shall also study applications of computational learning in bioinformatics. In particular we shall study learning of probabilistic finite automata (also known as Hidden Markov Models).

Several important problems in computational biology, for example protein folding, turn out to be NP-hard. We shall study some of these hardness results, and in some cases, corresponding approximation algorithms that address the issue of intractability.

Semester: Spring 2008

 

CS698X: Multimodal Biometrics

Course Information

No description

Semester: Spring 2008

 

CS698Y: Storage Computing Architecture

Course Information

Introduction to Disk Technology: Disk Geometry - actuator, platter, head, sector, track, spindle, motor, arm, actuator. Disk Performance - capacity, RPM, environmental effects. Disk Speed - why don't disk speed scale up? Techniques to improve speed, Reliability, Cache, interface with OSes, Storage Abstraction (Volume Manager, VFS), Implementation Issues (Buffer Cache, Page Cache, Swap).

Historical Perspective of storage computing: Mainframe, personal computers, shared computing, shared personalized computing; Administration issues (e.g. backup), data availability; Data quality, type, storage needs, evolution; Information Lifecycle Management (ILM); DAS, SAN, NAS and CAS overview; Storage categorization primary, secondary, tertiary, off-line

Fault Tolerance and Data Availability at Disk level: Hot plugging, Hot Swap, Hot Spare Disk

Storage interface protocols: SCSI and related concepts such as arbitration, logical unit etc.

Network Storage: Network attached storage (NAS) such as NFS, RPC NLM, NIS, CIFS, SMB, ADS, PDC, DNS. Network protocols for storage, OS interface, interoperability, Mounting, dismounting, auto-mounting. Storage Area Network (SAN) such as Fiber channel; issues such as Distance, speed, connectivity, scalability, security. Storage network topologies (point-to-point, arbitrated loop, switched fabric)

Upcoming storage technologies: IP-SAN such as iSCSI, iSNS, FCIP, iFCP, IP Security, threats, protection mechanisms.

Backup and Recovery: incremental backup, differential backup, self-backup, tape virtualization, snapshots, copy mirrors, data replication

Object Based Storage Devices: Background, SCSI OSD model, Object caching, store and access mechanism.

Node Clustering: Concept of storage clusters, namespaces, Intra-cluster communication, Cluster based file systems, Caching Model in Distributed environment, Cache coherency

References No specific text book. Material will be covered from various sources including research papers, on-line documentation and reference books.

Semester: Spring 2008

 

CS744: Pseudo-Random Generators

Course Information

Pseudo-random generators are efficiently computable functions that stretch an input random string to a much bigger sized string such that the output string appears random to resource-bounded computations. These functions have become one of the fundamental objects to study in complexity theory because of their utility. They are used to derandomize randomized algorithms, formalize notions of cryptographic security, obtain lower bounds on the complexity of problems etc. (unfortunately, as of now very few constructions of pseudo-random generators are provably known although many are conjectured). In this course, we study pseudo-random generators and their connections in depth.
The topics covered in the course are as follows:
Pseudo-random generators: definitions and Existence.

Pseudo-random generators of small stretch: Definitions of cryptographic security, Equivalence of one-way functions and pseudo-random generators, Some functions conjectured to be one-way functions, Pseudo-random function generators.

Pseudo-random generators of large stretch: Equivalence of lower bounds and pseudo-random generators, Known pseudo-random generators against small depth circuits and small space classes, Extractors and pseudo-random generators.

Pseudo-random generators against arithmetic circuits: Equivalence of lower bounds and pseudo-random generators, A function conjectured to be pseudo-random.

Other applications.

Reference:
Foundations of Cryptography, Vol I and II.
Author: Oded Goldreich.
Research papers.


Course offered by :
Dr. Manindra Agrawal

Departments to which the proposed course will be of interest:
CSE, Maths

Semester: Spring 2008

 

ESc 101: Fundamentals of Computing

Course Information

Students learn to solve mathematical and scientific problems at school level. However, these problems have normally analytical solution. In this style of problem solving students deal with functions/equations where values are plugged in and results are obtained by evaluating the function/equation. One may have to apply a series of such functions to solve these problems. This style of problem solving works well for the domains which have analytical solutions, and generally operate on numbers.


There are large a number of problems which have a closed form solution that can be expressed by an equations. However, it may not be possible (or efficient) to solve such problems analytically. Such problems have to be solved algorithmically; the result may be either exact or approximate. Also, one may have to operate on non-numeric values like symbols and more complex structures. For problems in this domain initial values and final results need not be numbers but can be complex structures.

The chief aim of this course is to learn techniques for solving problems which require algorithmic approach and/or which operate on complex structures.

This requires that we know:

-what an algorithm is,
-how to express solution of a problem using an algorithm,
-how to argue that the solution (algorithm) is correct and efficient
-how to use non numeric domains (complex data structures)

However, how do we demonstrate that our algorithms work with real data? It will be very complex and tedious task to demonstrate (and in reasonable time) that an algorithm works with real data. Computer and programming languages come in as very handy tools for this purpose. There are a lot of programming languages which can be used to express algorithms precisely. Computers provide support for realizing these algorithms expressed in these programming languages.

Therefore, we should also know:

-how a computer works and how to use it
-how to express an algorithm using a programming language
-how to make these programs work on the computer
-how to remove errors from programs

Therefore, we will also learn how to use a computer and a programming language called Java. This language will be used to express the algorithms we learn in the course. With this background the aim of the course is to learn:


-techniques for solving problems which require algorithmic approach and/or which operate on complex structures.
-how to use computers
-how to express algorithms using Java
-how to make these Java programs work on computers

Books:

Programming Language Java:

Java Elements: Principles of Programming in Java, D A Bailey and D W Bailey, Tata McGraw Hill
Java for Scientists and Engineers, Sanjeev Saxena, Anamaya Publishers, New Delhi, 2008
Thinking in Java by Bruce Eckel. E-copy of the 3rd edition is available here.
Javanotes by David J. Eck (eck@hws.edu). This is a free book available for download here.
The Java Programming Language, 2nd Edition by Ken Arnold, James Gosling
Java2: A Beginner?s Guide, Herbert Schildt, Tata McGraw Hill
Computing Concepts with Java2 Essentials, Cay Horstmann, John Wiley
Core Java2, Vol 1 (fundamentals), Cay Horstmann, Pearson
Core Java2, Vol 2 (advanced), Cay Horstmann, Pearson
Simply Java: An Introduction to Java Programming (Programming Series) by James Levenick.
Data Structures:

Data Structures and Algorithms in Java, Goodrich, John Wiley
Data Structures in Java, Thomas A Standish
Fundamentals of Programming:

Structured Programming, O J Dahl, E W Dijkstra, C A R Hoare
The Science of Programming, David Gries
A Short Introduction to the Art of Programming, E W Dijkstra
How to solve it by Computer, Dromey
Numerical Analysis:

Advanced Engineering Mathematics, Erwin Kreyszig
Java API Documentation, Sun Microsystems (set no proxy for http://172.31.76.254)
http://java.sun.com/j2se/1.5.0/docs/api/index.html
Java Classes:

http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html
http://java.sun.com/docs/books/tutorial/essential/
Hexadecimal Numbers:

http://en.wikipedia.org/wiki/Hexadecimal
http://www.danbbs.dk/~erikoest/hex.htm
Online Books/Tutorials:

Java Tutorial by Sun Micro Systems
The Java Language Specification 2nd Ed. by James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Apr. 2000.

Instructor: Dr. Rajat Moona

Semester: Spring 2008

 
1986 unique visitors to this page since July 27 2008