subjectId
Discipline Name
Subject Name
Coordinators
Type
Institute
Content
106101007
Computer Science and Engineering
Natural Language Processing
Prof. Pushpak Bhattacharyya
Video
IIT Bombay
Select
L1-Introduction
L2-Stages of NLP
L3-Stages of NLP Continue�
L4-Two approaches to NLP
L5-Sequence Labelling and Noisy Channel
L6-Noisy Channel: Argmax Based Computation
L7-Argmax Based Computation
L8-Noisy Channel Application to NLP
L9-Brief on Probabilistic Parsing & Start of Part of Speech Tagging
L10-Part of Speech Tagging
L11-Part of Speech Tagging counted�
L12-Part of Speech Tagging counted� & Indian Language in Focus; Morphology Analysis
L13-PoS Tagging contd� , Indian Language Consideration; Accuracy Measure
L14-PoS Tagging; Fundamental Principle; Why Challenging; accuracy
L15-PoS Tagging; Accuracy Measurement; Word categories
L16-AI and Probability; HMM
L17-HMM
L18-HMM, Viterbi, Forward Backward Algorithm
L19-HMM, Viterbi, Forward Backward Algorithm Contd..
L20-HMM, Forward Backward Algorithms, Baum Welch Algorithm
L21-HMM, Forward Backward Algorithms, Baum Welch Algorithm Contd...
L22-Natural Language Processing and Informational Retrieval
L23-CLIA; IR Basics
L24-IR Models: Boolean Vector
L25-IR Models: NLP and IR Relationship
L26-NLP and IR: How NLP has used IR, Toward Latent Semantic
L27-Least Square Method; Recap of PCA; Towards Latent Semantic Indexing(LSI)
L28-PCA; SVD; Towards Latent Semantic Indexing(LSI)
L29-Wordnet and Word Sense Disambiguation
L30-Wordnet and Word Sense Disambiguation(contd�)
L31-Wordnet; Metonymy and Word Sense Disambiguation
L32-Word Sense Disambiguation
L33-Word Sense Disambiguation; Overlap Based Method; Supervised Method
L34-Word Sense Disambiguation: Supervised and Unsupervised methods
L35-Word Sense Disambiguation: Semi - Supervised and Unsupervised method; resource - constrained WSD
L36-Resource Constrained WSD; Parsing
L37-Parsing
L38-Parsing Algorithm
L39-Parsing Ambiguous Sentences; Probabilistic Parsing
L40-Probabilistic Parsing Algorithms
106101059
Computer Science and Engineering
Design and Analysis of Algorithms
Prof. Abhiram G Ranade,Prof. Ajit A Diwan,Prof. Sundar Viswanathan
Web
IIT Bombay
Select
contents
106101060
Computer Science and Engineering
Design and Analysis of Algorithms
Prof. Abhiram G Ranade,Prof. Ajit A Diwan,Prof. Sundar Viswanathan
Video
IIT Bombay
Select
Overview of the course
Framework for Algorithms Analysis
Algorithms Analysis Framework - II
Asymptotic Notations
Algorithm Design Techniques : Basics
Divide And Conquer-I
Divide And Conquer -II Median Finding
Divide And Conquer -III Surfing Lower Bounds
Divide And Conquer -IV Closest Pair
Greedy Algorithms -I
Greedy Algorithms - II
Greedy Algorithms - III
Greedy Algorithms - IV
Pattern Matching - I
Pattern Matching - II
Combinational Search and Optimization I
Combinational Search and Optimization II
Dynamic Programming
Longest Common Subsequences
Matrix Chain Multiplication
Scheduling with Startup and Holding Costs
Average case Analysis of Quicksort
Bipartite Maximum Matching
Lower Bounds for Sorting
Element Distinctness Lower Bounds
NP-Completeness-I -Motivation
NP - Completeness - II
NP-Completeness - III
NP-Completeness - IV
NP-Completeness - V
NP-Completeness - VI
Approximation Algorithms
Approximation Algorithms
Approximation Algorithms for NP
106101061
Computer Science and Engineering
Software Engineering
Prof. Rushikesh K Joshi,Prof. Umesh Bellur,Prof. N.L. Sarda
Video
IIT Bombay
Select
Introduction to Software Engineering-Challenges
Introduction to Software Engineering
Overview of Phases
Overview of Phases
Requirements Engineering / Specification
Formal Specification
Algebraic Specification Methods
Systems Modeling Overview
Process Modeling - DFD , Function Decomp
Process Modeling - DFD, Function Decomp
Data Modeling - ER Diagrams, Mapping
Data Modeling - ER Diagrams, Mapping
Production Quality Software - Introduction
Software Design - Primary Consideration
Design Patterns
Class and Component Level Design
Architectural Design
Software Testing - I
Software Testing - II
Structural Programming and Some implementation
Software Metrics and Quality
Verification and Validation
Case Study
Case Study
Software Evolution
Agile Development
Software Reuse CBSE
Reuse Continued
Introduction to Project Management
Project Scope Management
Project Time Management
Estimation - I
Estimation - II
Project Quality Management
Quality Management Systems - I
Quality Management Systems
Project Configuration Management
Project Risk Management
Other PM Processes
106102011
Computer Science and Engineering
Computational Geometry
Prof. Sandeep Sen
Video
IIT Delhi
Select
Introduction
Visibility Problems
2D Maxima
Line Sweep Method
Segment Intersection Problem
Line Sweep: Rectangle Union
Convex Hull
Convex Hull Contd
Quick Hull
More Convex Hull Algorithms
Intersection of Half Planes and Duality
Intersection of Half Planes and Duality Contd
Lower Bounds
Planar Point Location
Point Location and Triangulation Contd...
Triangulation of Arbitrary Polygon.
Voronoi Diagram : Properties
Voronoi Diagram Construction
Delaunay Triangulation.
Quick sort and Backward Analysis
Generalized RIC
RIC Continued
Arrangements
Zone Theorem and Application
Levels
Range Searching : Introduction
Orthogonal Range searching
Priority Search Trees
Non - Orthogonal Range Searching
Half - Plane Range Query
Well Separated Partitioning
Quadtrees Epsilon -WSPD
Construction of Epsilon - WSPD
Epsilon - WSPD to Geometric Spanner
Epsilon-Nets & VC Dimension
Epsilon-Nets & VC Dimension contd
Geometric Set Cover
Geometric Set Cover (with Bounded VC Dimension)
Shape Representation
Shape Comparison
106102013
Computer Science and Engineering
Logic for CS
Prof. S. Arun Kumar
Video
IIT Delhi
Select
Introduction
Propositional Logic Syntax
Semantics of Propositional Logic
Logical and Algebraic Concepts
Identities and Normal forms
Tautology Checking
Propositional Unsatisfiability
Analytic Tableaux
Consistency and Completeness
The Completeness Theorem
Maximally Consistent Sets
Formal Theories
Proof Theory : Hilbert-style
Derived Rules
The Hilbert System : Soundness
The Hilbert System :Completeness
Introduction to Predicate Logic
The Semantic of Predicate Logic
Subsitutions
Models
Structures and Substructures
First - Order Theories
Predicate Logic: Proof Theory (Contd..)
Existential Quantification
Normal Forms
Skalemization
Substitutions and Instantiations
Unification
Resolution in FOL
More on Resolution in FOL
Resolution : Soundness and Completeness
Resolution and Tableaux
Completeness of Tableaux Method
Completeness of the Hilbert System
First -Order Theories
Towards Logic Programming
Verification of Imperative Programs
Verification of WHILE Programs
References
106102062
Computer Science and Engineering
Computer Architecture
Prof. Anshul Kumar
Video
IIT Delhi
Select
Introduction to Computer Architecture
History of Computers
Instruction Set Architecture - I
Instruction Set Architecture - II
Instruction Set Architecture - III
Recursive Programs
Architecture Space
Architecture Examples
Performance
Performance
Binary Arithmetic, ALU Design
ALU Design, Overflow
Multiplier Design
Divider Design
Fast Addition , Multiplication
Floating Point Arithmetic
Processor Design - Introduction
Processor Design
Processor Design - Simple Design
Processor Design - Multi Cycle Approach
Processor Design - Control for Multi Cycle
Processor Design Micro programmed Control
Processor Design Exception Handling
Pipelined Processor Design Basic Idea
Pipelined Processor Design: Data path
Pipelined Processor Design: Handling Data
Pipelined Processor Design
Memory Hierarchy : Basic Idea
Memory Hierarchy : Cache Organization
Memory Hierarchy : Cache Organization
Memory Hierarchy : Virtual Memory
Memory Hierarchy : Virtual Memory
Input / Output Subsystem: Introduction
Input / Output Subsystem: Interfaces and buses
Input / Output Subsystem: Interfaces and buses
Input / Output Subsystem: I/O Operations
Input / Output Subsystem: Designing I/O Systems
Concluding Remarks
106102064
Computer Science and Engineering
Data Structures And Algorithms
Prof. Naveen Garg
Video
IIT Delhi
Select
Introduction to Data Structures and Algorithms
Stacks
Queues and Linked Lists
Dictionaries
Hashing
Trees
Tree Walks / Traversals
Ordered Dictionaries
Deletion
Quick Sort
AVL Trees
AVL Trees
Trees
Red Black Trees
Insertion in Red Black Trees
Disk Based Data Structures
Case Study: Searching for Patterns
Tries
Data Compression
Priority Queues
Binary Heaps
Why Sorting
More Sorting
Graphs
Data Structures for Graphs
Two Applications of Breadth First Search
Depth First Search
Applications of DFS
DFS in Directed Graphs
Applications of DFS in Directed Graphs
Minimum Spanning Trees
The Union
Prims Algorithm for Minimum Spanning Trees
Single Source Shortest Paths
Correctness of Dijkstras Algorithm
Single Source Shortest Paths
106102065
Computer Science and Engineering
Introduction to Computer Graphics
Prof. Prem K Kalra
Video
IIT Delhi
Select
Introduction
Raster Graphics
Raster Graphics (Contd.)
Clipping
Polygon Clipping and Polygon Scan Conversion
Transformations
Transformations (contd.)
3D Viewing
3D Viewing (Contd.)
Curves
Assignment - I
Curves (Contd.)
Curves (Contd.)
Curves (Contd.)
Curves (Contd.)
Surfaces
Surfaces(Contd.)
Surfaces(Contd.)
Surfaces(Contd.)
Hierarchical Models
Rendering
Rendering(Contd.)
Rendering(Contd.)
Ray Tracing
Ray Tracing(Contd.)
Ray Tracing(Contd.)
Assignment: Ray Tracing
Hidden Surface Elimination
Hidden Surface Elimination(Contd.)
Hidden Surface Elimination(Contd.)
Fractals
Fractals(Contd.)
Computer Animation
Animation(Contd.)
Animation(Contd.)
106102067
Computer Science and Engineering
Principles of Programming Languages
Prof. S. Arun Kumar
Video
IIT Delhi
Select
Introduction
Syntax
Grammars
Ambiguity
PLO:Syntax
Semantics
Syntactic Classes
Transition Systems
PL0 : Expressions
Binding
Environments
Declarations
Commands
Stores
Summary
Declarations and Commands
Blocks
Qualification
Pragmatics
Data
Structured Data
Sequences
Control
Non- Determinacy
Programming Languages
Programming Languages
Programming Languages
Data as Functions
Data and Fixpoints
Normal Forms
Programming Languages
Monomorphism
Polymorphism
Type Checking
Contexts
Abstracts
Procedures
Meanings
Parameters
The Future
106102114
Computer Science and Engineering
Parallel Computing
Dr. Subodh Kumar
Video
IIT Delhi
Select
Introduction
Parallel Programming Paradigms
Parallel Architecture
Parallel Architecture (case studies)
Open MP
Open MP(Contd.)
Open MP(Contd..)
Open MP&PRAM Model of Computation
PRAM
Models of Parallel Computation,Complexity
Memory Consistency
Memory Consistency & Performance Issues
Parallel Program Design
Shared Memory & Message Passing
MPI
MPI(Contd.)
MPI(Contd..)
Algorithmic Techniques
Algorithmic Techniques(Contd.)
Algorithmic Techniques(Contd..)
CUDA
CUDA(Contd.)
CUDA(Contd..)
CUDA(Contd...)
CUDA(Contd....)
CUDA(Contd.....)
CUDA(Contd......)
Algorithms,Merging & Sorting
Algorithms,Merging & Sorting(Contd.)
Algorithms,Merging & Sorting(Contd..)
Algorithms,Merging & Sorting(Contd...)
Algorithms,Merging & Sorting(Contd....)
Lower Bounds Lock Free Synchronization,Load Stealing
Lock Free Synchronization,Graph Algorithms
106104120
Computer Science and Engineering
Parallel Algorithm
Prof. Phalguni Gupta
Video
IIT Kanpur
Select
Lecture-01.mp4
Lecture-02.mp4
Lecture-03.mp4
Lecture-04.mp4
Lecture-05.mp4
Lecture-06.mp4
Lecture-07.mp4
Lecture-08.mp4
Lecture-09.mp4
Lecture-10.mp4
Lecture-11.mp4
Lecture-12.mp4
Lecture-13.mp4
Lecture-14.mp4
Lecture-15.mp4
Lecture-16.mp4
Lecture-17.mp4
Lecture-18.mp4
Lecture-19.mp4
Lecture-20.mp4
Lecture-21.mp4
Lecture-22.mp4
Lecture-23.mp4
Lecture-24.mp4
Lecture-25.mp4
106102063
Computer Science and Engineering
Computer Graphics
Prof. Prem K Kalra
web
IIT- Guwahati
Select
contents
106102066
Computer Science and Engineering
Introduction to Problem Solving and Programming
Prof. S. Arun Kumar
web
IIT- Guwahati
Select
contents
106103068
Computer Science and Engineering
Computer Organization and Architecture
Prof. Jatindra Kumar Deka
web
IIT- Guwahati
Select
contents
106103070
Computer Science and Engineering
Theory of Automata and Formal Languages
Dr. Diganta Goswami
web
IIT- Guwahati
Select
contents
106104028
Computer Science and Engineering
Theory of Computation
Prof. Somenath Biswas
Video
IIT Kanpur
Select
Lecture-01-Theory of Computation
Lecture-02-Theory of Computation
Lecture-03-Theory of Computation
Lecture-04-Theory of Computation
Lecture-05-Theory of Computation
Lecture-06-Theory of Computation
Lecture-07-Theory of Computation
Lecture-08-Theory of Computation
Lecture-09-Theory of Computation
Lecture-10-Theory of Computation
Lecture-11-Theory of Computation
Lecture-12-Theory of Computation
Lecture-13-Theory of Computation
Lecture-14-Theory of Computation
Lecture-15-Theory of Computation
Lecture-16-Theory of Computation
Lecture-17-Theory of Computation
Lecture-18-Theory of Computation
Lecture-19-Theory of Computation
Lecture-20-Theory of Computation
Lecture-21-Theory of Computation
Lecture-22-Theory of Computation
Lecture-23-Theory of Computation
Lecture-24-Theory of Computation
Lecture-25-Theory of Computation
Lecture-26-Theory of Computation
Lecture-27-Theory of Computation
Lecture-28-Theory of Computation
Lecture-29-Theory of Computation
Lecture-30-Theory of Computation
Lecture-31-Theory of Computation
Lecture-32-Theory of Computation
Lecture-33-Theory of Computation
106104118
Computer Science and Engineering
Riemann Hypothesis and its Applications
Prof. Manindra Agrawal
Video
IIT Kanpur
Select
Lecture-01
Lecture-02
Lecture-03
Lecture-04
Lecture-05
Lecture-06
Lecture-07
Lecture-08
Lecture-09
Lecture-10
Lecture-11
Lecture-12
Lecture-13
Lecture-14
Lecture-15
Lecture-16
Lecture-17
Lecture-18
Lecture-19
Lecture-20
Lecture-21
Lecture-22
Lecture-23
Lecture-24
Lecture-25
Lecture-26
Lecture-27
Lecture-28
Lecture-29
Lecture-30
106104122
Computer Science and Engineering
Computer Architecture
Dr. Mainak Chaudhuri
Video
IIT Kanpur
Select
Lecture-01-Introduction, Amdahl's law, CPI equation
Lecture-02-CPI equation, research practices, instruction set architecture
Lecture-03-Instruction set architecture
Lecture-04-Instruction set architecture
Lecture-05-Instruction set architecture, case study with MIPS-I
Lecture-06-Case study with MIPS-I
Lecture-07-Case study with MIPS-I
Lecture-08-Binary instrumentation for architectural studies: PIN
Lecture-09-Binary instrumentation for architectural studies: PIN
Lecture-10-Basic pipelining, branch prediction
Lecture-11-Basic pipelining, branch prediction
Lecture-12-Basic pipelining, branch prediction
Lecture-13-Basic pipelining, branch prediction
Lecture-14-Basic pipelining, branch prediction
Lecture-15-Basic pipelining, branch prediction
Lecture-16-Basic pipelining, branch prediction
Lecture-17-Basic pipelining, branch prediction
Lecture-18-Basic pipelining, branch prediction
Lecture-19-Basic pipelining, branch prediction
Lecture-20-Dynamic scheduling, speculative execution
Lecture-21-Dynamic scheduling, speculative execution
Lecture-22-Dynamic scheduling, speculative execution
Lecture-23-Dynamic scheduling, speculative execution
Lecture-24-Dynamic scheduling, speculative execution
Lecture-25-Virtual memory and caches
Lecture-26-Virtual memory and caches
Lecture-27-Virtual memory and caches
Lecture-28-Topics in memory system, DRAM and SRAM technology
Lecture-29-Topics in memory system, DRAM and SRAM technology
Lecture-30-Topics in memory system, DRAM and SRAM technology
Lecture-31-Case study: MIPS R10000
Lecture-32-Case study: MIPS R10000
Lecture-33-Case study: Alpha 21264
Lecture-34-Case study: Intel Pentium 4
Lecture-35-Input/Output
Lecture-36-Simultaneous multithreading, multi-cores
106104123
Computer Science and Engineering
Computer Science and Compiler DesignComputer Architecture
Prof. Sanjeev K Aggarwal
Video
IIT Kanpur
Select
Lecture-01
Lecture-02-Compiler Design
Lecture-03-Compiler Design
Lecture-04-Compiler Design
Lecture-05-Compiler Design
Lecture-06-Compiler Design
Lecture-07-Compiler Design
Lecture-08-Compiler Design
Lecture-09-Compiler Design
Lecture-10-Compiler Design
Lecture-11-Compiler Design
Lecture-12-Compiler Design
Lecture-13-Compiler Design
Lecture-14-Compiler Design
Lecture-15-Compiler Design
Lecture-16-Compiler Design
Lecture-17-Compiler Design
Lecture-18-Compiler Design
Lecture-19-Compiler Design
Lecture-20-Compiler Design
Lecture-21-Compiler Design
Lecture-22-Compiler Design
Lecture-23-Compiler Design
Lecture-24-Compiler Design
Lecture-25-Compiler Design
Lecture-26-Compiler Design
Lecture-27-Compiler Design
Lecture-28-Compiler Design
Lecture-29-Compiler Design
Lecture-30-Compiler Design
106104128
Computer Science and Engineering
NOC:Introduction to programming in C
Prof.Satyadev Nandakumar
Video
IIT Kanpur
Select
Intro - Process of programming
Intro - GCD
Intro - Programming cycle
Intro - Tracing a simple program
Intro - Variables
Intro - Operators
Loops - While
Loops - While example
Loops - While GCD example
Loops - Longest 1
Loops - Longest 2
Loops - Longest 3
Loops - Do-while
Loops - Matrix using nested loops
Loops - For
Loops - Matrix using nested for loops
Loops - Break statement
Loops - Continue statement
Loops - Continue statement example
Data types in C
ASCII code
Operators Expressions Associativity
Precedence of operators
Expression evaluation
Functions - Introduction
Functions - How functions are executed
Functions - Examples - 1
Functions - Examples - 2
Arrays in C
Initializing arrays
Initializing character arrays
Pointers in C
Pointer arithmetic
Function with pointer arguments
Example - copy a subarray
Programming using arrays and pointers
Sizeof operator
Returning pointers from functions
Example - return duplicate of a string
Recursion - Linear Recursion
Recursion - Linear
Recursion - Two-way Recursion
Multidimensional
Multidimensional Arrays and Pointers
Multidimensional Arrays and
Multidimensional Arrays and Pointers - continued
Multidimensional Arrays.
Multidimensional Arrays and
Multidimensional Arrays and Pointers - 2.
Multidimensional Arrays and Pointers
File Handling
Some other file-handling functions
Structures in C - 1
Structures in C -
Singly Linked Lists
Doubly Linked Lists - introduction
Organizing code into multiple
Organizing code in multiple files - 2
Pre and post increment
106104072
Computer Science and Engineering
Compiler Design
Prof. Sanjeev K Aggarwal
web
IIT- Guwahati
Select
contents
106104073
Computer Science and Engineering
Computer Organisation and Architecture
Prof. Bhaskaran Raman
web
IIT- Guwahati
Select
contents
106105078
Computer Science and Engineering
Artificial Intelligence
Prof. S. Sarkar,Prof. P. Mitra
web
IIT- Guwahati
Select
contents
106103069
Computer Science and Engineering
Data Structures and Program Methodology
Dr. S.V. Rao,Dr. Pradip K Das
web
IIT- Guwahati
Select
contents
106105080
Computer Science and Engineering
Computer Networks
Prof. Ajit Pal
web
IIT- Guwahati
Select
contents
106105033
Computer Science and Engineering
High Performance Computer Architecture
Prof. Ajit Pal
Video
IIT Kharagpur
Select
Introduction and Course Outline
Performance
Instruction Set Architecture
MIPS ISA Processor
MIPS ISA Processor (Contd.)
Pipelining Introduction
Instruction Pipelining
Pipeline Hazards
Data Hazards
Software Pipelining
In Quest of Higher ILP
In Quest of Higher ILP (Contd.)
Dynamic Instruction Scheduling
Dynamic Instruction Scheduling (Contd.)
Control Hazards
Branch Prediction
Branch Prediction (Contd.)
Dynamic Instruction Scheduling with Branch Prediction
Hardware Based Speculation
Tutorial - I
Hierarchical Memory Organization
Hierarchical Memory Organization (Contd.)
Hierarchical Memory Organization (Contd.)
Hierarchical Memory Organization (Contd.)
Cache Optimization Techniques (Contd.)
Cache Optimization Techniques (Contd.)
Main Memory Organization
Main Memory Optimizations
Virtual Memory
Virtual Memory (Contd.)
Virtual Machines
Storage Technology
Storage Technology (Contd.)
Case Studies
Case Studies (Contd.)
Case Studies (Contd.)
Multithreading and Multiprocessing
Simultanoues Multithreading
Symmetric Multiprocessors
Distributed Memory Multiprocessors
Cluster, Grid and Cloud Computing
106105086
Computer Science and Engineering
Real Time Systems
Prof. Rajib Mall
web
IIT- Guwahati
Select
contents
106105087
Computer Science and Engineering
Software Engineering
Prof. Rajib Mall
web
IIT- Guwahati
Select
contents
106106046
Computer Science and Engineering
Pattern Recognition
Prof. Sukhendu Das, Prof. C.A. Murthy
Video
IIT Madras
Select
Principles of Pattern Recognition I (Introduction and Uses)
Principles of Pattern Recognition II (Mathematics)
Principles of Pattern Recognition III (Classification and Bayes Decision Rule)
Clustering vs. Classification
Relevant Basics of Linear Algebra, Vector Spaces
Eigen Value and Eigen Vectors
Vector Spaces
Rank of Matrix and SVD
Types of Errors
Examples of Bayes Decision Rule
Normal Distribution and Parameter Estimation
Training Set, Test Set
Standardization, Normalization, Clustering and Metric Space
Normal Distribution and Decision Boundaries I
Normal Distribution and Decision Boundaries II
Bayes Theorem
Linear Discriminant Function and Perceptron
Perceptron Learning and Decision Boundaries
Linear and Non-Linear Decision Boundaries
K-NN Classifier
Principal Component Analysis (PCA)
Fisher�s LDA
Gaussian Mixture Model (GMM)
Assignments
Basics of Clustering, Similarity/Dissimilarity Measures, Clustering Criteria.
K-Means Algorithm and Hierarchical Clustering
K-Medoids and DBSCAN
Feature Selection : Problem statement and Uses
Feature Selection : Branch and Bound Algorithm
Feature Selection : Sequential Forward and Backward Selection
Cauchy Schwartz Inequality
Feature Selection Criteria Function: Probabilistic Separability Based
Feature Selection Criteria Function: Interclass Distance Based
Principal Components
Comparison Between Performance of Classifiers
Basics of Statistics, Covariance, and their Properties
Data Condensation, Feature Clustering, Data Visualization
Probability Density Estimation
Visualization and Aggregation
Support Vector Machine (SVM)
FCM and Soft-Computing Techniques
Examples of Uses or Application of Pattern Recognition; And When to do clustering
Examples of Real-Life Dataset
106106126
Computer Science and Engineering
Artificial Intelligence
Prof. Deepak Khemani
Video
IIT Madras
Select
1. Artificial Intelligence: Introduction
2. Introduction to AI
3. AI Introduction: Philosophy
4. AI Introduction
5. Introduction: Philosophy
6. State Space Search - Introduction
7. Search - DFS and BFS
8. Search DFID
9. Heuristic Search
10. Hill climbing
11. Solution Space Search,Beam Search
12. TSP Greedy Methods
13. Tabu Search
14. Optimization - I (Simulated Annealing)
15. Optimization II (Genetic Algorithms)
16. Population based methods for Optimization
17. Population Based Methods II
18. Branch and Bound, Dijkstra's Algorithm
19. A* Algorithm
20. Admissibility of A*
21. A* Monotone Property, Iterative Deeping A*
22. Recursive Best First Search, Sequence Allignment
23. Pruning the Open and Closed lists
24. Problem Decomposition with Goal Trees
25. AO* Algorithm
26. Game Playing
27. Game Playing- Minimax Search
28. Game Playing - AlphaBeta
29. Game Playing-SSS *
30. Rule Based Systems
31. Inference Engines
32. Rete Algorithm
33. Planning
34. Planning FSSP, BSSP
35. Goal Stack Planning. Sussman's Anomaly
36. Non-linear planning
37. Plan Space Planning
38. GraphPlan
39. Constraint Satisfaction Problems
40. CSP continued
41. Knowledge-based systems
42. Knowledge-based Systems, PL
e
43. Propositional Logic
44. Resolution Refutation for PL
45. First-order Logic (FOL)
46. Reasoning in FOL
47. Backward chaining
48. Resolution for FOL
106106127
Computer Science and Engineering
Software Engineering
Prof. Rushikesh K Joshi,Prof. Umesh Bellur,Prof. N.L. Sarda
Video
IIT Bombay
Select
Introduction to Computers and Programming
Writing your first program
Variables, Operators and Expressions
Variable declarations, more operators and precedence
Input and Output Statements
Conditionals
Loops
Video Solution to Digital Root Programming Assignment
Introduction to arrays
Working with 1D arrays
Find prime numbers
Debugging demo
Multi-dimensional arrays
Pointers
More on pointers
Arrays and pointer arithmetic
Introduction to Strings
More on Strings
Video Solution to Print Elements of a Matrix in Spiral Order Programming Assignment
Introduction to functions
More details on functions
Arguments, variables and parameters
Pass parameters by reference
Recursive functions
Running time of a program
Computing time complexity
Video Solution to Palindrome Checker Programming Assignment
Algorithms and Powering
Polynomial evaluation and multiplication
Linear and Binary Search Analysis
Analysis of minimum and maximum in an array
Sorting I: Insertion, Merge
Sorting II: Counting, Radix
Finding i-th smallest number
Video Solution to Sorting words Programming Assignment
Structures
More on structures
Using structures and pointers to structures
Dynamic memory allocation
Linked Lists
Brief introduction to C++: Classes and objects
Data Structures: Abstract Data Type
Lists
Supplementary Lesson
Video Solution to Implementing a Hash Table ADT Programming Assignment
Stacks: Last In First Out
Queues: First In First Out
Trees
Tree traversal
Binary Search Trees
Heaps
Graphs and Representation
Supplementary Lesson
Video Solution to the Queue in a Hospital Programming Assignment
Greedy Algorithms
Dynamic Programming
Matrix Chain Multiplication
Dijkstra's Algorithm
Boyer-Moore String Matching Algorithm
File I/O
Modular Programming
106106129
Computer Science and Engineering
NOC:Introduction to Information Security I
Prof. V. Kamakoti
Video
IIT Madras
Select
Part0 - Introduction to the Course
Part1 - Definition of Information Security
Part2 - Information Security Terminologies
Part3 - Goals of Information Security
Part4 - Implementation Issues of the Goals of Information Security - I
part5 - Implementation Issues of the Goals of Information Security - II
Part6 - Control Mechanisms for Information Security - I
Part 7 - Access Control - Administrative and Technical
Part 8 - Passwords - Are they secure? - I
Part 9 - Access Control - Administrative and Technical
Part 10 - Passwords - Are they secure? - III
Part 11 - Multifactor Authentication - Challenges
Part 12 - Application Level Control and Information Security Planning
Part 13 - Information Security - Policy, Standard and Practice
Part 14 - Policies governing Issues, Roles and Responsibilities
Part 15 - Managing changes in Information Security Policies
Part 16 - Spheres of Information Security
Part 01 - Protecting your Personal Computer - I
part 02 - Protecting your Personal Computer - II
Part 03 - Protecting your Personal Computer - III
Part 04 - Cloud Computing (Basic Definitions) - I
Part 05 - Cloud Computing (Deployment) - II
Part 06 - Cloud Computing (Security Issues) - III
Part 07 - Cloud Computing (Trust and Risk) - IV
Part 08 - Cloud Computing (Security and Privacy Issues) - V
Part 09 - Cloud Computing (Security and Privacy Issues) - VI
Part 10 - Cloud Computing (Application and Data level security) - VII
Part 11 - Cloud Computing (Summary) - VIII
Part 12 - Standard I
Part 13 - Standard II
Part 14 - Standard III
Module 3 - Part 01
Module 3 - Part 02
Module 3 - Part 03
Module 3 - Part 04
Module 3 - Part 05
Module 3 - Part 06
Module 3 - Part 07
Module 3 - Part 08
Module 3 - Part 09
Module 4 - Part 01
module 4 - Part 02
Module 4 - Part 03
Module 4 - Part 04
Module 4 - Part 05
Module 4 - Part 06
Module 4 - Part 07
Module 4 - Part 08
Module 4 - Part 09
Module 4 - Part 10
Module 5 - Part 01
Module 5 - Part 02
Module 5 - Part 03
Module 5 - Part 04
Module 5 - Part 05
Module 5 - Part 06
Module 5 - Part 07
Module 6 - Part 01
Module 6 - Part 02
Module 6 - Part 03
Module 6 - Part 04
Module 6 - Part 05
Module 6 - Part 06
Module 6 - Part 07
Module 6 - Part 08
106106130
Computer Science and Engineering
NOC:Programming and Data structures (PDS)
Dr. N S. Narayanaswamy
Video
IIT Madras
Select
Video Lecture - A Simple C Program for Sorting
Video Lecture- Review of Structures, Pointers, and Functions
Video Lecture - Recursion
Video Lecture-Abstract Data Types-Data + Methods.
Video Lecture-List Data Type
Video Lecture - Access and update methods
Video Lecture:Doubly Linked List Data Type
Video Lecture-Doubly Linked Lists and Arrays
Video Lecture - ADT Stacks
Video Lecture:Checking of Balanced Parenthesis
Video Lecture:Infix and Postfix expressions and Expression
Queue ADT Definition and Implementation
Merging using Queue ADT and Queue
Tree ADT and Traversals
Binary Tree ADT and traversals
Tree Applications
Binary Search Trees
Heaps
106106131
Computer Science and Engineering
NOC:Design and Analysis of Algorithms
Prof. Madhavan Mukund
Video
IIT Madras
Select
Course Outline
Example: Air Travel
Example: Xerox shop
Example: Document similarity
Introduction and motivation
Input size, worst case, average case
Quantifying efficiency: O( ), Omega( ), Theta( )
Examples: Analysis of iterative and recursive algorithms
Arrays and lists
Searching in an array
Selection Sort
Insertion sort
Merge sort
Merge sort - analysis
Quicksort
Quicksort - analysis
Sorting - Concluding remarks
Introduction to graphs
Representing graphs
Breadth first search (BFS)
Depth first search (DFS)
Applications of BFS and DFS
Directed acylic graphs: topological sort
Directed acylic graphs: longest paths
Single source shortest paths: Dijkstras algorithm
Dijkstras algorithm: analysis
Negative edge weights: Bellman-Ford algorithm
All pairs shortest paths
Minimum Cost Spanning Trees
Prims Algorithm
Kruskals algorithm
Union-Find using arrays
Union-Find using pointers
Priority queues
Heaps
Heaps: Updating values, sorting
Counting inversions
Closest pair of points
Binary Search Trees
Balanced search trees
Interval scheduling
Scheduling with deadlines: minimizing lateness
Huffman codes
Introduction to dynamic programming
Memoization
Grid
Common subwords and
subsequences
distance Matrix
Linear Programming
LP modelling: Production Planning
LP modelling: Bandwidth allocation
Network Flows
Reductions
Checking Algorithms
P and NP
106106133
Computer Science and Engineering
NOC:Programming, Data Structures and Algorithms(Aricent)
Prof. Shankar Balachandran, Prof. Hema A Murthy, Dr. N S. Narayanaswamy
Video
IIT Madras
Select
Introduction to Computers and Programming
Writing your first program
Variables, Operators and Expressions
Variable declarations, more operators and precedence
Input and Output Statements
Conditionals
Loops
Introduction to arrays
Working with 1D arrays
Find prime numbers
Debugging demo
Multi-dimensional arrays
Pointers
More on pointers
Arrays and pointer arithmetic
Introduction to Strings
More on Strings
Introduction to functions
More details on functions
Arguments, variables and parameters
Pass parameters by reference
Recursive Functions
C control structures, functional specification of programs
Complexity Analysis using Sum and Product Rule
Complexity Analysis of Recursive Functions
Algorithms and Powering
Polynomial evaluation and multiplication
Linear and Binary Search Analysis
Analysis of minimum and maximum in an array
Sorting I: Insertion, Merge
Sorting II: Counting, Radix
Finding i-th smallest number
Structures
More on Structures
Using structures and pointers to structures
Dynamic memory allocation
Linked List
Brief introduction to C++: Classes and objects
Abstract Data Types
Stacks : Last In First Out
Queues: First In First
Tree Traversal
Binary
Search
Heaps
Graphs and
Representations
106108098
Computer Science and Engineering
Data Communications
Prof. H.S. Jamadagni
web
IIT- Guwahati
Select
contents
106108099
Computer Science and Engineering
Digital Systems
Prof. N.J. Rao
web
IIT- Guwahati
Select
contents
106108100
Computer Science and Engineering
Microprocessors and Microcontrollers
Prof. Krishna Kumar
web
IIT- Guwahati
Select
contents
106108058
Computer Science and Engineering
Storage Systems
Dr. K. Gopinath
Video
IIT Bangalore
Select
Overview
Storage, Processing, Networking
Naming and Storing
Storage Filesystems
Access Architecture, Hard Disks
SCSI
Fibre Channel Protocol (FCP)
FCP, 10Gb Ethernet, iSCSI, TCP
NFS, NFSv2
NFSv2, NFSv3, NFSv4, CIFS
USB Storage
Tiering
Mobile/Personal/Organizational - type Storage
Parallel/Cloud/Web-scale Storage
Long-term Storage
Storage interfaces
User-Memory-CPU interactions
Spinlock, Concurrency
Block Layer design
FAT, TFAT, F2FS, LFS, FTL
Data Structures
Abstractions
Link & Write Operations
ZFS
RAID in Filesystems
RAID-Z, NetApp RAID4, Flash Filesystems
Reliability
Performance
Security
CAP Theorem
POSIX/NFS/S3/Zookeeper, ACID Vs. BASE
Consistency & Commit problems
Paxos
Group Communication problem
Message Ordering
Ordering Models
Orderings in Filesystems
Semantics of highly scalable filesystems
GFS
GFS Model
GFS functions and operations
GFS problems, BigTable
Lessons to learn
106108113
Computer Science and Engineering
Principles of Compiler Design
Prof. Y.N. Srikanth
Video
IIT Bangalore
Select
An Overview of a Compiler
Lexical Analysis - Part 1
Lexical Analysis - Part 2
Lexical Analysis - Part 3
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 1
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 2
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 3
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 4
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 5
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 6
Syntax Analysis: Context-free Grammars, Pushdown Automata and Parsing Part - 7
Semantic Analysis with Attribute Grammars Part 1
Semantic Analysis with Attribute Grammars Part 2
Semantic Analysis with Attribute Grammars Part 3
Semantic Analysis with Attribute Grammars Part 4
Semantic Analysis with Attribute Grammars Part 5
Intermediate code generation Part 1
Intermediate code generation Part 2
Intermediate code generation Part 3
Intermediate code generation Part 4 (first half of lecture)
Run-time environments - 1 (second half of lecture)
Run-time environments - 2
Run-time environments - 3
Run-time environments - 4 (first half of lecture)
Control-Flow Graph and Local Optimizations - Part 1 (second half of lecture)
Control-Flow Graph and Local Optimizations - Part 2 (first half of lecture)
Machine code generation - 1 (second half of lecture)
Machine code generation - 2
Machine code generation - 3
Machine code generation - 4 (first half of lecture), Implementing object-oriented languages 1 (second half of lecture)
Implementing object-oriented languages 2 (first half of lecture)
Global register allocation - 1 (second half of lecture)
Global register allocation - 2
Global register allocation - 3
Introduction to Machine-Independent Optimizations - 1
Introduction to Machine-Independent Optimizations - 2
Introduction to Machine-Independent Optimizations - 3
Introduction to Machine-Independent Optimizations - 4
Introduction to Machine-Independent Optimizations - 5
Introduction to Machine-Independent Optimizations - 6
Introduction to Machine-Independent Optimizations - 7 (first half of lecture)
Instruction Scheduling and Software Pipelining - 1 (second half of lecture)
Instruction Scheduling and Software Pipelining - 2
Instruction Scheduling and Software Pipelining - 3 (first part of lecture)
Automatic parallelization - 1 (second half of lecture)
Automatic parallelization - 2
106108101
Computer Science and Engineering
Operating Systems
Prof. P.C.P. Bhatt
web
IIT- Guwahati
Select
contents
106108103
Computer Science and Engineering
System Analysis and Design
Prof. V. Rajaraman
web
IIT- Guwahati
Select
contents
106103015
Computer Science and Engineering
Computational Number Theory & Cryptography
Dr. Pinaki Mitra
Web
IIT Guwahati
Select
Complexity of Computation & Complexity Classes
Encoding Scheme
Elementary Number-Theory
Euclid's Algorithm
Modular Arithmetic Groups
Subgroups
Primitive Roots
Generator Computation
Solving modular linear equations
Modular exponentiation
Chinese Remainder Theorem
Discrete Logarithm Problem
Quadratic Residues
Diffie Hellman key Exchange
Cryptosystems Based on Discrete Log
Public Key Cryptosystem & RSA
Choice of the Public Key
Attacks on RSA & Remedies
Rabin Cryptosystem
Pollard-Rho Method
Pollard Rho Analysis
Current state of the art
Large prime variant
Dixon's factorization method
Primality Testing
Fermat Primality Test
AKS PRIMALITY TEST
Elliptic Curve Cryptography
Zero Knowledge Proof
Elliptic Curves
Elgamal Digital Signature Scheme
Blind & Prony Signature
Short signature scheme I
Short signature scheme II
Video Data Cippers
Cryptographic Hash Function
Quadratic-Sieve Factoring
Elliptic Curves(contd.) and Finite Fields
ECDLP
106103016
Computer Science and Engineering
VLSI Design Verification and Test
Prof. Jatindra Kumar Deka,Dr. Santosh Biswas
Web
IIT Guwahati
Select
Introduction to Digital VLSI Design Flow
High Level Design Representation
Transformations for High Level Synthesis
Introduction to HLS: Scheduling, Allocation and Binding Problem
Scheduling Algorithms
Binding and Allocation Algorithms
Two level Boolean Logic Synthesis
Heuristic Minimization of Two-Level
Finite State Machine Synthesis
Multilevel Implementation
Introduction and construction
Ordered Binary Decision Diagram
Operations on Ordered Binary Decision Diagram
Ordered Binary Decision Diagram for Sequential Circuits
Introduction and Basic Operations on Temporal Logic
Syntax and Semantics of CLT
Equivalence between CTL Formulas
Verification Techniques
Model Checking Algorithm
Symbolic Model Checking
Introduction to Digital VLSI Testing
Functional and Structural Testing
Fault Equivalence
Fault Simulation
Testability Measures (SCOAP)
Introduction to Automatic Test Pattern Generation (ATPG) and ATPG Algebras
D-Algorithm
ATPG for Synchronous Sequential Circuits
Scan Chain based Sequential Circuit Testing
Built in Self Test
Memory Testing
106103115
Computer Science and Engineering
Human-Computer Interaction
Dr.Samit Bhattacharya,Pradeep P Yammiyavar
Web
IIT Guwahati
Select
Course objective and overview
Historical evolution of the field
Concept of usability - definition and elaboration
HCI and software engineering
GUI design and aesthetics
Prototyping techniques
Introduction to different types of models
Keystroke Level Model -I
Keystroke Level Model - II
(CMN)GOMS
Individual Models of Human Factors - I
Individual Models of Human Factors - II
A Case Study on Model-Based Design - I
A Case Study on Model-Based Design - II
Shneiderman�s eight golden rules
Norman�s seven principles
Norman�s model of interaction
Nielsen�s ten heuristics with example of its use
Heuristic evaluation
Contextual inquiry
Cognitive walkthrough
Introduction to Empirical Research - I
Introduction to Empirical Research - II
Analysis of Empirical Data
Empirical Research Case Study
Hierarchical task analysis (HTA)
Engineering Task Models and CTT
CTT Example
Introduction to formalism in dialog design, design using FSM
StateCharts
Petri Nets
Use of Formalism
Introduction
Model Human Processor - I
Model Human Processor - II
OOP- Introduction
OOM- Object Oriented Modeling of User Interface Design
Case Study 1- Multi-Key press Hindi Text Input Method on a Mobile Phone
Case Study 2 - GUI design for a mobile phone based Matrimonial application.during emergency
Case Study 3 - Employment Information System for unorganised construction workers on a Mobile Phone.
106103116
Computer Science and Engineering
Design Verification and Test of Digital VLSI Circuits
Prof. Jatindra Kumar Deka,Dr. Santosh Biswas
Video
IIT Guwahati
Select
Introduction to Digital VLSI Design Flow
High Level Design Representation
Transformations for High Level Synthesis
Introduction to HLS: Scheduling, Allocation and Binding Problem
Scheduling Algorithms-1
Scheduling Algorithms-2
Binding and Allocation Algorithms
Two level Boolean Logic Synthesis-1
Two level Boolean Logic Synthesis-2
Two level Boolean Logic Synthesis-3
Heuristic Minimization of Two-Level Circuits
Finite State Machine Synthesis
Multilevel Implementation
Introduction to formal methods for design verification
Temporal Logic: Introduction and Basic Operators
Syntax and Semantics of CTL
Syntax and Semantics of CTL � Continued
Equivalence between CTL Formulas
Introduction to Model Checking
Model Checking Algorithms I
Model Checking Algorithms II
Model Checking with Fairness
Binary Decision Diagram: Introduction and construction
Ordered Binary Decision Diagram
Operation on Ordered Binary Decision Diagram
Ordered Binary Decision Diagram for State Transition Systems
Symbolic Model Checking
Introduction to Digital VLSI Testing
Functional and Structural Testing
Fault Equivalence
Fault Simulation-1
Fault Simulation-2
Fault Simulation-3
Testability Measures (SCOAP)
Introduction to Automatic Test Pattern Generation (ATPG) and ATPG Algebras
D-Algorithm-1
D-Algorithm-2
ATPG for Synchronous Sequential Circuits
Scan Chain based Sequential Circuit Testing-1
Scan Chain based Sequential Circuit Testing-2
Built in Self Test-1
Built in Self Test-2
Memory Testing-1
Memory Testing-2
106104019
Computer Science and Engineering
Computer Algorithms - 2
Prof. Shashank K. Mehta
Video
IIT Kanpur
Select
Lecture-01-Graph_Basics
Lecture-02-Breadth_First_Search
Lecture-03-Dijkstra_Algo
Lecture-04-All Pair Shortest Path
Lecture-05-Matriods
Lecture-06-Minimum Spanning Tree
Lecture-07-Edmond's Matching Algo I
Lecture-08-Edmond's Matching Algo II
Lecture-09-Flow Networks
Lecture-10-Ford Fulkerson Method
Lecture-11-Edmond Karp Algo
Lecture-12-Matrix Inversion
Lecture-13-Matrix Decomposition
Lecture-14-Knuth Morris Pratt Algo
Lecture-15-Rabin Karp Algo
Lecture-16-NFA Simulation
Lecture-17-Integer-Polynomial OpsI
Lecture-18-Integer-Polynomial OpsII
Lecture-19-Integer-Polynomial OpsIII
Lecture-20-Chinese RemainderI
Lecture-21-Chinese RemainderII
Lecture-22-Chinese RemainderIII
Lecture-23-:Discrete Fourier TransformI
Lecture-24-Discrete Fourier TransformII
Lecture-25-Discrete Fourier TransformIII
Lecture-26-Schonhage Strassen Algo
Lecture-27-Linear ProgrammingI
Lecture-28-Linear ProgrammingII
Lecture-29-GeometryI
Lecture-30-GeometryII
Lecture-31-GeometryIII
Lecture-32-Approximation AlgoI
Lecture-33-Approximation AlgoII
Lecture-34-Approximation AlgoIII
Lecture-35-General: Dynamic Programming
106104021
Computer Science and Engineering
Indexing and Searching Techniques in Databases
Dr. Arnab Bhattacharya
Web
IIT Kanpur
Select
Basic Database Queries
Advanced Database Queries
Error Measures
Memory and Disk Accesses
Vector and Metric Spaces
Distance Functions
Earth Mover's Distance (EMD)
Earth Mover's Distance (EMD)
Static and Dynamic Hashing
Linear hashing
Locality Sensitive Hashing and Grid File
One-dimensional Orderings
Index structure
Quadtrees and k-d-trees
Range Trees and Interval Trees
Voronoi Diagrams and Tries
Disk-based Index Structures
General Framework
R-trees
R-trees
R-tree Variants
SS-trees,SR-trees,P-trees
X-tree
Analysis of High Dimensional Data
Analysis of Index Structures
Pyramid Technique and VA-files
M-trees
Dimensionality Reduction
Singular Value Decomposition (SVD)
Principal Component Analysis (PCA)
FastMap
Embedding
Embedding
DFT and DCT
Wavelets
V-optimal Histograms
Aggregation
Incremental Nearest Neighbor
Skyline Queries
Skyline Queries
Reading Material
106104024
Computer Science and Engineering
Parallel Computer Architecture
Dr. Mainak Chaudhuri
Web
IIT Kanpur
Select
Evolution of Processor Architecture
Moore's Law and Multi-cores
Evaluating Performance
Shared Memory Multiprocessors
Pipelining and Hazards
Instruction Issue Algorithms
Virtual Memory, TLB, and Caches
Cache Hierarchy and Memory-level Parallelism
MIPS R10000: A Case Study
Communication Architecture
Design Issues in Parallel Computers
Steps in Writing a Parallel Program
Parallelizing a Sequential Program
Load Balancing and Domain Decomposition
Locality and Communication Optimizations
Multiprocessor Organizations and Cache Coherence
Introduction to Cache Coherence Protocols
Introduction to Cache Coherence
Sequential Consistency and Cache Coherence Protocols
Performance of Coherence Protocols
Introduction to Synchronization
Scalable Locking Primitives
Barriers and Speculative Synchronization
Write Serialization in a Simple Design
Protocols for Split-transaction Buses
Case Studies
Scalable Snooping and AMD Hammer Protocol
Scalable Multiprocessors
Basics of Directory
SGI Origin 2000
Managing Directory Overhead
Protocol Occupancy and Directory Controllers
SCI Protocol
Sequential Consistency and Relaxed Models
Release Consistency and Delayed Consistency
Software Distributed Shared Memory Multiprocessors
Introduction to Routers
Routing Algorithms
Simultaneous Multithreading and Chip-multiprocessing
Case Studies: IBM Power4 and IBM Power5
Case Studies: Intel Montecito and Sun Niagara
106104025
Computer Science and Engineering
Program Optimization for Multi-core Architectures
Prof. Sanjeev K Aggarwal,Dr. Mainak Chaudhuri,Prof. Rajat Moona
Web
IIT Kanpur
Select
Evolution of Processor Architecture
Introduction to Multi-core Architecture
Virtual Memory and Caches
Cache Hierarchy and Memory-level Parallelism
Communication Architectures and Communication Costs
Preliminaries of Parallel Programming
Examples of Shared Memory and Message Passing Programming
Optimizing Shared Memory Performance
Performance Issues in Shared Memory
Introduction to Coherence
Introduction to Snoopy Coherence
Cache Coherence Protocols
Introduction to Atomic Primitives
Scalable Locks and Barriers
Memory Consistency Models and Case Studies of Multi-core
Case Studies of Multi-core
Multiprocessor Organizations and Cache Coherence
Sharing Patterns and Cache Coherence Protocols
What is Parallelization?
The �omp sections� Directive
Clause and Routines
Intel Compilers and Threading Tools
Intel Compilers and Threading Tool
Code Optimization
Supercomputing Applications
SIMD Architecture
Algorithm and Interval
Structural Analysis
Reaching Definition
Analysis
Data Dependence Analysis
Iteration
Data Dependence in Parallel Loops
Symbolic Analysis
Amdahl�s Law
Cycle Shrinking
Multi-core computing CPU Scheduling
Priority and Schedule
Multi-processor Scheduling
Multi-core Computing Synchronization
Solution to Critical Section Problem
Multi-core ComputingInter-process Communication
Multiprocessor Techniques
Cryptography and ECB
106104074
Computer Science and Engineering
Introduction to Problem Solving and Programming
Prof. D. Gupta
Video
IIT Kanpur
Select
Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5
Lecture 6
Lecture 7
Lecture 8
Lecture 9
Lecture 10
Lecture 11
lecture 12
Lecture 13
Lecture 14
Lecture 15
Lecture 16
Lecture 17
Lecture 18
Lecture 19
Lecture 20
Lecture 21
Lecture 21
Lecture 23
Lecture 24
106104119
Computer Science and Engineering
Biometrics
Prof. Phalguni Gupta
Video
IIT Kanpur
Select
Lecture-01 Biometrics
Lecture-02 Biometrics
Lecture-03 Biometrics
Lecture-04 Biometrics
Lecture-05 Biometrics
Lecture-06 Biometrics
Lecture-07 Biometrics
Lecture-08 Biometrics
Lecture-09 Biometrics
Lecture-10 Biometrics
Lecture-11 Biometrics
Lecture-12 Biometrics
Lecture-13 Biometrics
Lecture-14 Biometrics
Lecture-15 Biometrics
Lecture-16 Biometrics
Lecture-17 Biometrics
Lecture-18 Biometrics
Lecture-19 Biometrics
Lecture-20 Biometrics
Lecture-21 Biometrics
Lecture-22 Biometrics
Lecture-23 Biometrics
Lecture-24 Biometrics
Lecture-25 Biometrics
Lecture-26 Biometrics
106105031
Computer Science and Engineering
Cryptography and Network Security
Dr. Debdeep Mukhopadhyay
Video
IIT Kharagpur
Select
Introduction
Overview on Modern Cryptography
Introduction to Number Theory
Probability and Information Theory
Classical Cryptosystems
Cryptanalysis of Classical Ciphers
Shannons Theory
Shannons Theory (Contd...1)
Shannons Theory (Contd...2)
Symmetric Key Ciphers
Block Cipher Standards (DES)
Block Cipher Standards (AES)
Block Cipher Standards (AES) (Contd.)
Linear Cryptanalysis
Differential Cryptanalysis
Few other Cryptanalytic Techniques
Overview on S-Box Design Principles
Modes of Operation of Block Ciphers
Stream Ciphers
Stream Ciphers (Contd...1)
Stream Ciphers (Contd...2)
Pseudorandomness
Cryptographic Hash Functions
Cryptographic Hash Functions (Contd...1)
Cryptographic Hash Functions (Contd...2)
Message Authentication Codes
More Number Theoretic Results
The RSA Cryptosystem
Primality Testing
Factoring Algorithms
Some Comments on the Security of RSA
Discrete Logarithm Problem (DLP)
The Diffie-Hellman Problem and Security of ElGamal Systems
An Introduction to Elliptic Curve Cryptography
Application of Elliptic Curves to Cryptography
Implementation of Elliptic Curve Cryptography
Secret Sharing Schemes
A Tutorial on Network Protocols
System Security
Firewalls and Intrusion Detection Systems
Side Channel Analysis of Cryptographic Implementations
106105032
Computer Science and Engineering
Digital Image Processing
Dr. G. Harit
Web
IIT Kharagpur
Select
Introduction
Introduction (Contd.)
Introduction (Contd.)
Spatial Domain Filtering
Spatial Domain Filtering (Contd)
Spatial Domain Filtering (Continued)
Spatial Domain Filtering (Contd.)
Spatial Domain Filtering (Contd.)
Filtering in the Frequency Domain
Filtering in the Frequency Domain(Contd.)
Filtering in the Frequency Domain (Contd.)
Filtering in the Frequency Domain (Contd.)
Filtering in the Frequency Domain (Contd.)
Filtering in the Frequency Domain (Contd.)
Image Restoration
Image Restoration (Contd.)
Image Restoration(Contd.)
Image Restoration (Contd.)
Image Restoration (Contd.)
Image Compression
Image Compression (Contd.)
Image Compression(Contd.)
Image Compression (Contd.)
Image Compression (Contd.)
Image Compression (Contd.)
Image Compression (Contd. )
Image Compression ( Contd.)
Wavelet based Image Compression
Wavelet based Image Compression (Contd.)
Wavelet based Image Compression (Contd.)
Morphological Image Processing
Morphological Image Processing (Contd.)
Morphological Image Processing (Contd. )
Morphological Image Processing ( Contd. )
Morphological Image Processing (Contd.)
Image Segmentation
Image Segmentation (Contd.)
Image Segmentation (Contd.)
Image Segmentation (Contd.)
Image Segmentation (Contd .)
Image Segmentation(Contd.)
106105034
Computer Science and Engineering
Low Power VLSI Circuits & Systems
Prof. Ajit Pal
Video
IIT Kharagpur
Select
Introduction & Course Outline
MOS Transistors - I
MOS Transistors - II
MOS Transistors - III
MOS Transistors - IV
MOS Inverters - I
MOS Inverters - II
MOS Inverters - III
MOS Inverters - IV
Static CMOS Circuits - I
Static CMOS Circuits -II
MOS Dynamic Circuits -I
MOS Dynamic Circuits -II
Pass Transistor Logic Circuits - I
Pass Transistor Logic Circuits - II
MOS Memories
Finite State Machines
Switching Power Dissipation
Tutorial - I
Dynamic Power Dissipation
Leakage Power Dissipation
Supply Voltage Scaling - I
Supply Voltage Scaling - II
Supply Voltage Scaling - III
Supply Voltage Scaling - IV
Tutorial - II
Minimizing Switched Capacitance - I
Minimizing Switched Capacitance - II
Minimizing Switched Capacitance - III
Minimizing Switched Capacitance - IV
Minimizing Switched Capacitance - V
Minimizing Leakage Power - I
Minimizing Leakage Power - II
Minimizing Leakage Power - III
Variation Tolerant Design
Adiabatic Logic Circuits
Battery-Driven System Design
CAD Tools for Low Power
Tutorial - III
Course Summary
106105036
Computer Science and Engineering
Real Time Systems
Prof. Rajib Mall
Video
IIT Kharagpur
Select
Introduction
Real - Time System Characteristics
Few Basic Issues
Modelling Timing Constraints
Modelling Timing Constraints (Contd.)
Basics of Real - Time Task Scheduling
Cyclic Scheduler
Event - Driven Scheduling
Rate Monotonic Scheduler
RMA Scheduling : Further Issues
Deadline Monotonic Scheduling and Other Issues
Few Issues in Use of RMA
Resource Sharing Among Real-Time Tasks
Highest Locker and Priority Ceiling Protocols
An Analysis of Priority Ceiling Protocol
Handling Task Dependencies
Real-Time Task Scheduling on Multiprocessors and Distributed Systems
Real-Time Task Scheduling on Multiprocessors and Distributed Systems (Contd.)
Clock Synchronization in Distributed Real-Time Systems
Internal Clock Synchronization in Presence of Byzantine Clocks
A Few Basic Issues in Real-Time Operating Systems
Tutorial - I
A Few Basic Issues in Real-Time Operating Systems (Contd.)
Unix and Windows as RTOS
Real - Time POSIX
Real - Time POSIX (Contd.)
Open Source and Commercial RTOS
Open Source and Commercial RTOS (Contd.)
Benchmarking Real - Time Computer & Operating Systems
Benchmarking Real - Time Computer & Operating Systems (Contd.)
Real - Time Communications
Few Basic Issues in Real - Time Communications
Review of Computer Networking
Real - Time Communication in a LAN
Real - Time Communication in a LAN (Contd.)
Performance of Two Real -Time Communication Protocols
Real - Time Communication over Packet Switched Networks
Real - Time Communication over Packet Switched Networks (Contd.)
Real - Time Communication over Packet Switched Networks (Contd.)
Real - Time Databases
106105077
Computer Science and Engineering
Artificial Intelligence
Prof. Anupam Basu,Prof. S. Sarkar
Video
IIT Kharagpur
Select
Introduction to Artificial Intelligence
Intelligent Agents
State Space Search
Uninformed Search
Informed Search
Informed Search - 2
Two Players Games - I
Two Players Games - II
Constraint Satisfaction Problems - 1
Constraint Satisfaction Problems 2
Knowledge Representation and Logic
Interface in Propositional Logic
First Order Logic
Reasoning Using First Order Logic
Resolution in FOPL
Rule Based System
Rule Based Systems II
Semantic Net
Reasoning in Semantic Net
Frames
Planning - 1
Planning - 2
Planning - 3
Planning - 4
Rule Based Expert System
Reasoning with Uncertainty - I
Reasoning with Uncertainty - II
Reasoning with Uncertainty III
Reasoning with Uncertainty - IV
Fuzzy Reasoning - I
Fuzzy Reasoning - II
Introduction to Learning - I
Introduction to Learning - II
Rule Induction and Decision Trees - I
Rule Induction and Decision Trees - II
Learning Using neural Networks - I
Learning Using Neural Networks - II
Probabilistic Learning
Natural Language Processing - I
Natural Language Processing II
106105079
Computer Science and Engineering
Artificial Intelligence(Prof.P.Dasgupta)
Prof. P. Dasgupta
Video
IIT Kharagpur
Select
Introduction to Artificial Intelligence
Problem Solving by Search
Searching with Costs
Informed State Space Search
Heuristic Search: A* and Beyond
Problem Reduction Search: AND/OR Graphs
Searching Game Trees
Knowledge Based Systems: Logic and Deduction
First Order Logic
Inference in First Order Logic
Resolution - Refutation Proofs
Resolution Refutation Proofs
Logic Programming : Prolog
Prolog Programming
Prolog: Exercising Control
Additional Topics
Introduction to Planning
Partial Order Planning
GraphPLAN and SATPlan
SATPlan
Reasoning under uncertainty
Bayesian Networks
Reasoning with Bayes Networks
Reasoning with Bayes networks (Contd.)
Reasoning under uncertainty: Issues
Learning : Decision Trees
Learning : Neural Networks
Back Propagation Learning
106105081
Computer Science and Engineering
Computer Networks
Prof. Sujoy Ghosh
Video
IIT Kharagpur
Select
Emergence of Networks & Reference Models
Network Topology
Physical Medium - I
Physical Medium - II
Multiplexing (Sharing a Medium)
Telecom Networks
Switches - I
Pocket Switches
SONET/SDH
Fiber Optic Components
Routing and Wavelength Assignment
Protection and Restoration
Multiple Access
Token Based Mac
Data Link Protocols
Error Control
Stop & Wait Protocol
Satellite Communication
Ethernet - CSMA/CD
Modern Ethernet
Local Internetworking
Cellular Networks
Wireless Network
ATM : Asynchronous Transfer Mode
ATM Signaling, Routing and LAN Emulation
Introduction to Routing
RIP - Distance Vector Routing
IP version 4
IP Version 6 & Mobile IP
UDP & Client Server
TCP
IP Multicasting
DHCP and ICMP
DNS & Directory
Congestion Control
QOS & Multimedia
Network Management
Security
FTP - SMTP
HTTP
106105082
Computer Science and Engineering
Data Communication
Prof. Ajit Pal
Video
IIT Kharagpur
Select
Introduction and Course Outline - Data Communication
Layered Architecture
Data and Signal
Transmission Impairments and Channel Capacity
Guided Transmission Media
Unguided Media
Transmission of Digital Signal - I
Transmission of Digital Signal - II
Transmission of Analog Signal - I
Transmission of Analog Signal - II
Multiplexing
Multiplexing
Multiplexing Applications - I
Multiplexing Applications - II
Interfacing to the Media
Error Detection and Correction
Flow and Error Control
Data Link Control
Switching Techniques Circuit Switching
Switching Techniques Packet Switching
Routing - I
Routing - II
Congestion Control
X.25 and Frame Relay
ATM
Medium Access Control - I
Medium Access Control - II
Medium Access Control - III
IEEE 802 LANs
High Speed LANs
Wireless LANs
Cellular Telephone Systems
Satellite Communications
Internet and Internetworking
TCP/IP - I
TCP/IP - II
Multimedia Networks
Audio and Video Compression
Multimedia Services
Secured Communication - I
Secured Communication - II
106105083
Computer Science and Engineering
Electronic Design Automation
Prof. Indranil Sengupta
Video
IIT Kharagpur
Select
Introduction
Verilog: Part - I
Verilog: Part - II
Verilog: Part - III
Verilog: Part - IV
Verilog: Part - V
Verilog: Part - VI
Synthesis: Part - I
Synthesis: Part - II
Synthesis: Part - III
Synthesis: Part - IV
Synthesis: Part - V
Synthesis: Part - VI
Synthesis: Part - VII
Backend Design: Part - I
Backend Design: Part - II
Backend Design: Part - III
Backend Design: Part - IV
Backend Design Part - V
Backend Design Part - VI
Backend Design Part - VII
Backend Design Part - VIII
Backend Design Part - IX
Backend Design Part - X
Backend Design Part - XI
Backend Design Part - XII
Backend Design Part - XIII
Backend Design Part - XIV
Backend Design Part - XV
Testing Part - I
Testing Part - II
Testing Part - III
Testing Part - IV
Testing Part - V
Testing Part - VI
106105084
Computer Science and Engineering
Internet Technology
Prof. Indranil Sengupta
Video
IIT Kharagpur
Select
Introduction To Internet
Review Of Network Technologies
TCP/IP - Part-1
TCP/IP-Part-II
TCP/IP-Part-III
IP Subnetting and Addressing
Internet Routing Protocol Part -I
Internet Routing Protocol- Part-II
Client Server Concepts DNS,Telnet,Ftp
Electronic Mail
World Wide Web Part-I
World Wide Web - Part-II
HTML-Part-I
HTML-Part-II
HTML-Part-III
Extensible Markup Language (XML)
Html Forms
Image Maps
CGI Scripts
Other Technologies
PERL Part-I
PERL - Part II
PERL-Part III
PERL-Part IV
Javascript -Part :I
Javascript Examples (Continued)
Using Cookies
Java Applets -Part:I
Java Applets - Part:2
Client-Server Programming In Java
Intranet, Extranet,Firewall
Basic Cryptographic Concepts Part - I
Basic Cryptographic Concepts Part - II
Basic Cryptographic Concepts Part - III
Electronic Commerce
Streaming Multimedia Applications
Internet Telephony
Search Engine And Web Crawler - Part-I
Search Engine And Web Crawlers: Part-II
Course Summary And Conclusion
106105085
Computer Science and Engineering
Programming and Data Structure
Dr. P.P.Chakraborty
Video
IIT Kharagpur
Select
Introduction
C Programming - I
C Programming - II
C Programming - III
Data Structuring: Case Study - I
Data Structuring: Case Study - II
Data Structuring: Case Study - III
Problem Decomposition By Recursion - I
Problem Decomposition By Recursion - II
Problem Decomposition By Recursion - III
Merge sort And Quick sort
Characters And Strings
Arrays: Addresses And Contents
Structures - I
Structures - II
Dynamic Allocation Part - I
Linked Lists - I
Complexity (Efficiency) of Algorithms
Asymptotic Growth Functions
Asymptotic Analysis of Algorithms
Data Structuring
Search Trees
Search Trees - II
Search Trees - III
2-3 Trees
Algorithm Design - I
Algorithm Design - II
Algorithm Design - III
Graphs - I
Graphs - II
Graphs - III
Conclusions
106106048
Computer Science and Engineering
Performance Evaluation of Computer Systems
Prof. Krishna Moorthy Sivalingam
Video
IIT Madras
Select
Introduction to performance evaluation of computer systems
How to avoid common mistakes
Selection of techniques and metrics
Case study: Selection of techniques and metrics
Random Variables and probability distributions
Probability distributions-I
Probability distributions-II
Probability distributions-III
Stochastic process
Markov Chain
Slotted Aloha protocol model and discrete-time birth death process
Continuous time Markov chain and queuing theory-I
Queuing theory � I (Continued)
Queuing theory-II
Queuing theory-III
Queuing theory-IV
Queuing theory-V
Queuing theory-VI
Queuing networks-I
Queuing networks-II
Slotted Aloha Markov model
Simulations-I
Simulations-II
Simulations-III
Operational laws-I
Operational laws-II
Open and closed queuing networks
Approximate MVA
Convolution algorithm-I
Convolution algorithm-II
Load-dependent service centers
Hierarchical decomposition
Balanced Job Bounds
Confidence interval for propotions and introduction to experimental design
2k factorial design
2k r factorial design and 2k-p fractional factorial design
Programming aspects of discrete-event simulations-I
Programming aspects of discrete-event simulations-II
Discrete-event simulations-III
PetriNets-I
PetriNets-II
PetriNets-III
106106049
Computer Science and Engineering
Theory of Automata, Formal Languages and Computation
Prof. Kamala Krithivasan
Video
IIT Madras
Select
GRAMMARS AND NATURAL LANGUAGE PROCESSING
GRAMMARS AND LANGUAGES GENERATED
GRAMMARS AND LANGUAGES GENERATED (Contd)
AMBIGUITY IN CFG
SIMPLICATION OF CFG
REMOVAL OF UNIT PRODUCTIONS , CHOMSKY NORMAL FORM FOR CFG
GREIBACH NORMAL FORM FOR CFG
FINAL STATE AUTOMATA
NON DETERMINISTIC FSA
NON DETERMINISTIC FSA (Contd)
NON DETERMINISTIC FSA WITH E(Epsilon)- MOVES
EQUIVALENCE BETWEEN FSA AND TYPE 3 GRAMMARS
REGULAR EXPRESSIONS , REGULAR EXPRESSIONS TO NFSA
DFSA TO REGULAR EXPRESSIONS
PROBLEMS AND SOLUTIONS-I
PUMPING LEMMAS FOR REGULAR SETS AND CFL
MYHILL - NERODE THEOREM
MINIMIZATION OF DFSA
FSA WITH OUTPUT MOORE AND MEALY MACHINES
PUSHDOWN AUTOMATA
PUSHDOWN AUTOMATA , EQUIVALENCE BETWEEN ACCEPTANCE BY EMPTY STORE AND ACCEPTANCE BY FINAL STATE
PUSHDOWN AUTOMATA CFG TO PDA
PUSHDOWN AUTOMATA PDA TO CFG
PROBLEMS AND SOLUTIONS-II
PROBLEMS AND SOLUTIONS - III
TURING MACHINES
TURING MACHINES (Contd)
TURING MACHINE AS ACCEPTOR , TECHNIQUES FOR TM CONSTRUCTION
GENERALIZED VERSIONS OF TURING MACHINES
TURING MACHINE AS A GENERATING DEVICE
RECURSIVE SETS , RECURSIVELY INNUMERABLE SETS , ENCODING OF TM , HALTING PROBLEM
PROBLEMS AND INSTANCES , UNIVERSAL TM , DECIDABILITY
RICE'S THEOREM , LINEAR BOUNDED AUTOMATA , PROPERTIES OF TM
POST'S CORRESPONDENCE PROBLEMS
POST'S CORRESPONDENCE PROBLEMS (Contd), TIME AND TAPE COMPLEXITY OT TM
NP - COMPLETE PROBLEMS , COOK'S THEOREM
NP - COMPLETE PROBLEMS (Contd)
REGULATED REWRITING
L - SYSTEMS
GRAMMAR SYSTEMS
DNA COMPUTING
MEMBRANE COMPUTING
106106088
Computer Science and Engineering
CAD for VLSI Design I
Prof. Shankar Balachandran,Prof. V. Kamakoti
Web
IIT Madras
Select
contents
106106089
Computer Science and Engineering
CAD for VLSI Design II
Prof. Shankar Balachandran,Prof. V. Kamakoti
Web
IIT Madras
Select
contents
106106090
Computer Science and Engineering
Computer Graphics
Prof. Sukhendu Das
Video
IIT Madras
Select
Introduction
CRT Display Devices
CRT Display Devices (Contd)
CRT Display Devices (Contd)
CRT Display Devices (Contd)
Transformations in 2D
Transformations in 2D (Contd)
Three Dimensional Graphics
Three Dimensional Graphics (Contd)
Three Dimensional Graphics (Contd)
Projection Transformations And Viewing Pipeline
3D Viewing - Projection Transformations And Viewing Pipeline
Scan Converting Lines, Circles And Ellipses
Scan Converting Lines, Circles And Ellipses (Contd)
Scan Converting Lines, Circles And Ellipses (Contd)
Scan Converting Lines, Circles And Ellipses (Contd)
Scan Converting Lines, Circles And Ellipses (Contd)
Polyfill- Scan Conversion Of A Polygon
Scan Conversion Of A Polygon (Contd)
Clipping - Lines And Polygons
Clipping Lines And Polygons
Clipping Lines
Solid Modelling
Solid Modelling
Solid Modelling- (Contd)
Visible Surface Detection
Visible Surface Detection- (Contd)
Visible Surface Detection- (Contd)
Visible Surface Detection- (Contd)
Visible Surface Detection- (Contd)
Visible Surface Detection (Contd)
Visible Surface Detection (Contd)
Illumination And Shading
Illumination And Shading (Contd)
Illumination And Shading (Contd)
Curve Representation
Curve Representation (Contd)
Curves And Surface Representation
Graphics Programming Using Open GL
Graphics Programming Using Open GL (Contd)
Advanced Topics: Anti Aliasing,Color,Soft Objects,Animation,Visual Effects,System Architectures
Digital Image Processing Image Compression-Jpeg-Enhancements
Digital Image Processing (Contd)
106106091
Computer Science and Engineering
Computer Networks
Prof. Hema A Murthy
Web
IIT Madras
Select
contents
106106092
Computer Science and Engineering
Computer Organization
Prof. S. Raman
Video
IIT Madras
Select
Introduction To Computing
Introduction To System : Software
Introduction To System : Hardware
Processor Activities
Processor As a State Machine
Data Path Architecture
Data Path Controller : Micro Programmed
State Machine Design
Controller Design: Microprogrammed and Hardwired
Controller Design (Contd)
Typical Micro Instructions
Addressing Modes
Problem Exercise
Problem Exercise
Introduction to memory system
CPU - Memory Interaction
Cache Organization
Cache Organization
Virtual Memory
Virtual Memory
Performance Calculation
Segmentation
Address Translation and Protection
Programmed I/O
Interrupt Driven I/O
DMA : Direct Memory Access
Device Service Routines
Evolution Of I/O
I/O Devices
I/O Devices - Contd
Buses
Buses Contd
Conclusion
106106093
Computer Science and Engineering
Database Design
Prof. D. Janaki Ram,Dr. S. Srinath
Video
IIT Madras
Select
Introduction to Database Management System
Conceptual Designs
Conceptual Designs
Relational Model
Relational Model
Structured Query Language
Structured Query Language II
ER Model to Relational Mapping
Functional Dependencies and Normal Form
ER Model to Relational Model Mapping
Storage Structures
Indexing Techniques Single Level
Indexing Techniques Multi-Level
Constraints and Triggers
Query Processing and Optimization
Query Processing and Optimization II
Query Processing and Optimization - III
Transaction Processing Concepts
Transaction Processing and Database Manager
Foundation for Concurrency Control
Concurrency Control Part - I
Concurrency Control Part - 2
Concurrency Control Part - 3
Concurrency Control Part - 4
Distributed Transaction Models
Basic 2-Phase and 3-phase commit protocol
Concurrency Control for Distributed Transaction
Introduction to Transaction Recovery
Recovery Mechanisms II
Recovery Mechanisms III
Introduction to Data Warehousing and OLAP
Introduction to Data Warehousing and OLAP
Case Study : MYSQL
Case Study ORACLE and Microsoft Access
Data Mining and Knowledge Discovery
Data Mining and Knowledge Discovery Part II
Object Oriented Databases
Object Oriented Databases II
XML - Introductory Concepts
XML Advanced Concepts
XML Databases
Case Study - Part One Database Design
Case Study - Part 2 Database Design
106106094
Computer Science and Engineering
Discrete Mathematical Structures
Prof. Kamala Krithivasan
Video
IIT Madras
Select
Propositional Logic
Propositional Logic (Contd.)
Predicates & Quantifiers
Predicates & Quantifiers (Contd.)
Logical Inference
Resolution Principles & Application to PROLOG
Methods of Proof
Normal Forms
Proving programs correct (Contd.)
Sets
Induction
Set Operations On Strings
Relations
Graphs
Graphs (Continued)
Trees
Trees And Graphs
Special Properties Of Relations
Closure Of Relations
Closure Properties Of Relations
Order Relations
Order Relations And Equivalence Relations
Equivalence Relations And Partitions
Functions
Functions (Continued)
Functions (Continued)
Pigeonhole Principle
Permutations And Combinations
Permutations And Combinations (Continued)
Generating Functions
Generating Functions (Continued)
Recurrence Relations
Recurrence Relations (Continued)
Recurrence Relations (Continued)
Algebras
Algebras (Continued)
Algebras (Continued)
Finite State Automaton
Finite State Automaton (Continued)
Lattices
106106095
Computer Science and Engineering
Introduction to Database Systems and Design
Prof. P.Sreenivasa Kumar
Web
IIT Madras
Select
contents
106106097
Computer Science and Engineering
Principles of Communication
Prof. Hema A Murthy
Web
IIT Madras
Select
contents
106108051
Computer Science and Engineering
Combinatorics
Dr. L. Sunil Chandran
Video
IISc Bangalore
Select
Pigeon hole principle - (Part 1)
Pigeon hole principle - (Part 2)
Pigeon hole principle - (Part 3)
Pigeon hole principle - (Part 4)
Elementary concepts and basic counting principles
Elementary concepts; Binomial theorem; Bijective proofs - Part (1)
Bijective proofs � Part (2)
Bijective proofs - Part (3); Properties of binomial coefficients; Combinatorial identities - Part (1)
Combinatorial identities - Part (2); Permutations of multisets � Part (1)
Permutations of multisets � Part (2)
Multinomial Theorem, Combinations of Multisets � Part (1)
Combinations of Multisets - Part (2)
Combinations of Multisets � Part (3), Bounds for binomial coefficients
Sterling�s Formula, Generalization of Binomial coefficients - Part (1)
Generalization of Binomial coefficients - Part (2)
Generalization of Binomial coefficients - Part (3); Double counting - Part (1)
Double counting - Part (2)
Hall�s Theorem for regular bipartite graphs; Inclusion exclusion principle - Part (1)
Inclusion exclusion principle - Part (2)
Inclusion exclusion principle - Part (3)
Inclusion exclusion principle - Part (4)
Inclusion exclusion principle - Part (5)
Recurrence Relations - Part (1)
Recurrence Relations - Part (2)
Recurrence Relations - Part (3)
Recurrence Relations - Part (4)
Recurrence Relations - Part (5)
Generating functions - Part (1)
Generating functions - Part (2)
Solving recurrence relations using generating functions - Part (1)
Solving recurrence relations using generating functions - Part (2)
Exponential generating functions - Part (1)
Exponential generating functions - Part (2), Partition Number - Part (1)
Partition Number - Part (2)
Partition Number - Part (3)
Partition Number - Part (4); Catalan Numbers - Part (1)
Catalans Numbers - Part (2)
Catalan Numbers - Part (3), Sterling numbers of the 2nd kind
Difference Sequences
Sterling Numbers
Summary
106108052
Computer Science and Engineering
Compiler Design
Prof. Y.N. Srikanth
Video
IISc Bangalore
Select
An Overview of a Compiler - Part 1
An Overview of a Compiler - Part 2 and Run-Time Environments - Part 1
An Overview of a Compiler Part 2 and Run-Time Environments - Part 1
Run-Time Environments - Part 2
Run-Time Environments - Part 3 and Local Optimizations - Part 1
Run-Time Environments Part 3 and Local Optimizations - Part 1
Local Optimizations - Part 2 and Code Generation Part 1
Local Optimizations - Part 2 and Code Generation - Part 1
Code Generation - Part 1
Code Generation - Part 2
Code Generation - Part 3 and Global Register Allocation - Part 1
Code Generation - Part 3 and Global Register Allocation Part 1
Global Register Allocation - Part 2
Global Register Allocation - Part 3 and Implementing Object-Oriented Languages - Part 1
Global Register Allocation - Part 3 and Implementing Object-Oriented Languages Part 1
Implementing Object-Oriented Languages - Part 2 and Introduction to Machine-Independent Optimizations - Part 1
Implementing Object-Oriented Languages - Part 2 and Introduction to Machine-Independent Optimizations Part 1
Introduction to Machine-Independent Optimizations - Part 2 and Data-Flow Analysis - Part 1
Introduction to Machine-Independent Optimizations - Part 2 and Data-Flow Analysis Part 1
Data-Flow Analysis - Part 2
Data-Flow Analysis - Part 3 and Control-Flow Analysis - Part 1
Data-Flow Analysis - Part 3 and Control-Flow Analysis Part 1
Control-Flow Analysis - Part 2
Machine-Independent Optimizations - Part 1
Machine-Independent Optimizations - Part 2
Machine-Independent Optimizations - Part 3 and Data-Flow Analysis: Theoretical Foundation - Part 1
Machine-Independent Optimizations - Part 3 and Data-Flow Analysis: Theoretical Foundation Part 1
Data-Flow Analysis: Theoretical Foundation - Part 2 and Partial Redundancy Elimination - Part 1
Data-Flow Analysis: Theoretical Foundation - Part 2 and Partial Redundancy Elimination Part 1
Partial Redundancy Elimination - Part 2
The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 1
The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 2
The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 3
Automatic Parallelization - Part 1
Automatic Parallelization - Part 2
Automatic Parallelization - Part 3
Automatic Parallelization - Part 4
Instruction Scheduling - Part 1
Instruction Scheduling - Part 2
Instruction Scheduling - Part 3
Software Pipelining
Energy-Aware Software Systems - Part 1
Energy-Aware Software Systems - Part 2
Energy-Aware Software Systems - Part 3
Energy-Aware Software Systems - Part 4
Just-In-Time Compilation and Optimizations for .NET CLR
Garbage Collection
Interprocedural Data-Flow Analysis
Worst Case Execution Time - Part 1
Worst Case Execution Time - Part 2
106108054
Computer Science and Engineering
Graph Theory
Dr. L. Sunil Chandran
Video
IISc Bangalore
Select
Introduction: Vertex cover and independent set
Matchings: Konig�s theorem and Hall�s theorem
More on Hall�s theorem and some applications
Tutte�s theorem on existence of a perfect matching
More on Tutte�s theorem
More on Matchings
Dominating set, path cover
Gallai � Millgram theorem, Dilworth�s theorem
Connectivity: 2-connected and 3- connected graphs
Menger�s theorem
More on connectivity: k- linkedness
Minors, topological minors and more on k- linkedness
Vertex coloring: Brooks theorem
More on vertex coloring
Edge coloring: Vizing�s theorem
Proof of Vizing�s theorem, Introduction to planarity
5- coloring planar graphs, Kuratowsky�s theorem
Proof of Kuratowsky�s theorem, List coloring
List chromatic index
Adjacency polynomial of a graph and combinatorial Nullstellensatz
Chromatic polynomial, k - critical graphs
Gallai-Roy theorem, Acyclic coloring, Hadwiger�s conjecture
Perfect graphs: Examples
Interval graphs, chordal graphs
Proof of weak perfect graph theorem (WPGT)
Second proof of WPGT, Some non-perfect graph classes
More special classes of graphs
Boxicity,Sphericity, Hamiltonian circuits
More on Hamiltonicity: Chvatal�s theorem
Chvatal�s theorem, toughness, Hamiltonicity and 4-color conjecture
Network flows: Max flow mincut theorem
More on network flows: Circulations
Circulations and tensions
More on circulations and tensions, flow number and Tutte�s flow conjectures
Random graphs and probabilistic method: Preliminaries
Probabilistic method: Markov�s inequality, Ramsey number
Probabilistic method: Graphs of high girth and high chromatic number
Probabilistic method: Second moment method, Lovasz local lemma
Graph minors and Hadwiger�s conjecture
More on graph minors, tree decompositions
106108055
Computer Science and Engineering
High Performance Computing
Prof. Mathew Jacob
Video
IISc Bangalore
Select
Programs and Data
Data Representation
Registers and Memory
Instructions, Addressing Modes
A RISC Instruction Set
A RISC Instruction Set (contd)
Function Call and Return
Function Call and Return (contd)
Instruction Execution
Instruction Execution (contd)
Software organization
System Calls
Virtual memory
Virtual memory (contd)
Virtual Memory (cont)
Process
Process scheduling
Process lifetime
Interprocess communication
Concurrent programming
Pipelining
Pipeline hazards
Pipeline hazards (contd)
Pipeline hazards (contd.)
Cache memory
Memory hierarchy
Cache operation
Cache operation (contd)
Cache aware programming
Cache aware programming (contd)
More on cache
Measuring time
Program Profiling
Secondary storage
Files and disks
Directories
Protection and Performance
Parallel architecture
Cache coherence
MPI programming
MPI programming (contd)
106108056
Computer Science and Engineering
Numerical Optimization
Dr. Shirish K. Shevade
Video
IISc Bangalore
Select
Introduction
Mathematical Background
Mathematical Background (contd)
One Dimensional Optimization - Optimality Conditions
One Dimensional Optimization (contd)
Convex Sets
Convex Sets (contd)
Convex Functions
Convex Functions (contd)
Multi Dimensional Optimization - Optimality Conditions, Conceptual Algorithm
Line Search Techniques
Global Convergence Theorem
Steepest Descent Method
Classical Newton Method
Trust Region and Quasi-Newton Methods
Quasi-Newton Methods - Rank One Correction, DFP Method
i) Quasi-Newton Methods - Broyden Family ii) Coordinate Descent Method
Conjugate Directions
Conjugate Gradient Method
Constrained Optimization - Local and Global Solutions, Conceptual Algorithm
Feasible and Descent Directions
First Order KKT Conditions
Constraint Qualifications
Convex Programming Problem
Second Order KKT Conditions
Second Order KKT Conditions (contd)
Weak and Strong Duality
Geometric Interpretation
Lagrangian Saddle Point and Wolfe Dual
Linear Programming Problem
Geometric Solution
Basic Feasible Solution
Optimality Conditions and Simplex Tableau
Simplex Algorithm and Two-Phase Method
Duality in Linear Programming
Interior Point Methods - Affine Scaling Method
Karmarkar\'s Method
Lagrange Methods, Active Set Method
Active Set Method (contd)
Barrier and Penalty Methods, Augmented Lagrangian Method and Cutting Plane Method
Summary
106108057
Computer Science and Engineering
Pattern Recognition
Prof. M. Narasimha Murty,Prof. V. Susheela Devi
Web
IISc Bangalore
Select
Background
Introduction
Statistical Pattern Recognition
Different Representation Schemes
Tree-Based Representations
Dissimilarity Measures
Distance Between Pattern Collections
Fisher’s Discriminant
Principal Components as Features
Branch and Bound Schemes
Sequential Feature Selection
Nearest Neighbour Classifier
Soft Nearest Neighbour Classifiers
Efficient Nearest Neighbour Classifier
Ordered Partitions
Minimal Distance Classifier
Condensed Nearest Neighbour Classifier
Modified Condensed Nearest Neighbour Classifier
Bayes Classifier
Naive Bayes Classifier
Bayesian Belief Networks
Introduction to Decision Trees
Construction of Decision Trees
Axis-Parallel and Oblique Decision Trees
Learning Decision Trees
Introduction to Discriminant Functions
Characterization of the Decision Boundary
Learning the Discriminant Function
Introduction to Support Vector Machines
Training Support Vector Machines
What is Clustering?
Representation of Patterns and Clusters
Clustering Process
Clustering Algorithms
Incremental Clustering
Divide-and-Conquer Clustering
Introduction to Combining Classifiers
AdaBoost for Classification
Schemes for Combining Classifiers
Combination of Homogeneous Classifiers
Document Processing
Document Classification and Retrieval
106108102
Computer Science and Engineering
System Analysis and Design
Prof. V. Rajaraman
Video
IISc Bangalore
Select
Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5
Lecture 6
Lecture 7
Lecture 8
Lecture 9
Lecture 10
Lecture 11
Lecture 12
Lecture 13
Lecture 14
Lecture 15
Lecture 16
Lecture 17
Lecture 18
Lecture 19
Lecture 20
Lecture 21
Lecture 22
Lecture 23
Lecture 24
Lecture 25
Lecture 26
Lecture 27
Lecture 28
Lecture 29
Lecture 30
Lecture 31
Lecture 32
Lecture 33
Lecture 34
Lecture 35
Lecture 36
Lecture 37
Lecture 38
Lecture 39
Lecture 40
106106134
Computer Science and Engineering
NOC:Computer Architecture(Course sponsored by Aricent)
Prof.Madhu Mutyam
Video
IIT Madras
Select
Introduction to Computer Architecture
Quantitative Principles of Computer Design (cont'd)
Instruction Set Principles-Part 1
Instruction Set Principles-Part 2
Instruction Set Principles-Part 3
Cache Memory Hierarchy - Part 1
Cache Memory Hierarchy - Part 2
Cache Memory Hierarchy - Part 3
Cache Memory Hierarchy - Part 4
Main Memory Design - Part 1
Main Memory Design - Part 2
Main Memory Design - Part 3
Fundamentals of Pipelining - Part 1
Fundamentals of Pipelining - Part 2
Fundamentals of Pipelining - Part 3
Fundamentals of Pipelining - Part 4
Fundamentals of Pipelining - Part 5
Scalar to Superscalar pipeline
Instruction Dependencies
Compiler optimizations for Exposing ILP
Advanced Branch Prediction Techniques - Part 1
Advanced Branch Prediction Techniques - Part 2
Superscalar Organization
Register RenamingClassifier
Tomasulo Algorithm
Dynamic Execution Core
Multi-threading
Multicore Processor Architecture
Cache Coherence
Cache Coherence Protocol Design
Synchronization
Memory Consistency - Part 1
Memory Consistency - Part 2
106104135
Computer Science and Engineering
NOC:Fundamentals of Database Systems(Course sponsored by Aricent)
Dr. Arnab Bhattacharya
Video
IIT Kanpur
Select
Introduction to Databases
Relational Data Model
Relational Algebra Basic Operators
Relational Algebra Composition of Operators
Relational Algebra Additional Operators
Relational Algebra Extended Relational Algebra
Relational Algebra: Database Modifications
SQL: Introduction and Data Definition
SQL: Basic Queries
SQL: Advanced Queries
SQL: Updates, Joins, Views and Triggers
Normalization Theory: Motivation
Normalization Theory: 1 NF and 2NF
Normalization Theory: 3NF
Normalization Theory: BCNF
Normalization Theory: MVD
Physical Design
Database Indexing: Hashing
Database Indexing: Tree-based Indexing
Query Processing: Selection
Query Processing: Sorting
Query Processing: Nested-Loop joins and Merge join
Query Processing: Hash join and other Operations
Query Optimization: Equivalent Expressions and Simple Equivalance Rules
Query Optimization: Complex Equivalence Rules
Query Optimization: Join Order
Query Optimization: Heuristics and Sizes
Database Transactions: Properties and Failures
Database Transactions: States and Systems
Recovery Systems: Deferred Database Modification
Recovery Systems: Immediate Database Modification
Recovery Systems: Checkpointing and Shadow Paging
Schedules: Introduction
Schedules: Conflict Serializability
Schedules: View Serializability
Schedules: Result Equivalence and Testing for Serializability
Schedules: Recoverability
Concurrency Control: Locks
Concurrency Control: Two-phase Locking Protocol
Concurrency Control: Timestamp Ordering Protocol
Concurrency Control: Validation-based Protocol
Concurrency Control: Multiple Granularity for Locks
Concurrency Control: Deadlock Prevention and Deadlock Detection
Concurrency Control: Deadlock Recovery and Update Operations
NoSQL: Introduction and Properties
NoSQL: Columnar Families
NoSQL: Different NoSQL Systems
Big Data
106106136
Computer Science and Engineering
NOC:Model Checking
Prof. B. Srivathsan
Video
IIT Madras
Select
Course Overview
Module 1: Modeling code behaviour
Module 2: Modeling hardware circuits
Module 3: Modeling data-dependent programs
Module 4: Modeling concurrent systems
Summary
Module 1: Model checking tools
Module 2: Simple models in NuSMV
Module 3: Hardware verification using NuSMV
Module 4: Modeling concurrent systems in NuSMV
Summary.
Module 1: A problem in concurrency
Module 2: What is a property?
Module 3: Invariants
Module 4: Safety properties
Module 5: Liveness properties
Summary..
Module 1: Road map
Module 2: A gentle introduction to automata
Module 3: Simple properties of finite automata
Module 4: Safety properties described by automata
Summary...
Module 1: Specifying properties
Module 2: Omega-regular expressions
Module 3: Bchi automata
Module 4: Simple properties of Bchi automata
Summary....
Module 1: Overview
Module 2: Omega-regular expressions to NBA
Module 3: Checking emptiness of NBA
Module 4: Generalized NBA
Summary.....
Module 1: Introduction to LTL
Module 2: Semantics of LTL
Module 3: A puzzle
Summary .
Module 1: Automata based LTL model-checking
Module 2: LTL to NBA
Module 3: Automaton construction
Summary ..
Module 1: Tree view of a transition system
Module 2: CTL*
Module 3: CTL
summary ...
Module 1: Adequate CTL formulae
Module 2: EX, EU, EG
Module 3: Final algorithm
Module 4: State-space explosion
Summary ....
Module 1: Introduction to BDDs
Module 2: Ordered BDDs
Module 3: Representing transition systems as OBDDs
Summary .....
106106141
Department of Computer Science & Engineering
NOC:Information Security - II(Course sponsored by Aricent)
Prof. V. Kamakoti
Video
IIT Madras
Select
Experimental Setup: Video Tutorial
Need for Secure Systems
Ignorance of A is Sin of B
Function calls and Stacks
Stack Smashing
Virtual Machine Based Rootkits
Security and Architecture: Introduction
Structured Computer Organization
X86 ISA Part1
X86 ISA Part 2
X86 Protected Mode
X86 Memory Segmentation
Process Isolation using Segmentation
Paging and Virtual Memory
Task Switching and Interrupt Service
Memory Segmentation Deep dive P1
Memory Segmentation Deep dive P2
Memory Segmentation Deep dive P3 - Week 4
Memory Segmentation Deep dive P4 - Week 4
Segmentation Recap - Week 4
Lab1 Part 1 - Week 4
Lab1 Part 2 - Week 4
Lab 1 Part 3 - Week4
ISR Recap - Week 5
Lab2 Part 1 - Week 5
Lab2 Part 2 - Week 5
Memory Management Recap - Week 5
Lab3 Part 1 - Week 5
Lab3 Part 2 - Week 5
Task Switch recap - Week 6
Lab4 Part 1 - Week 6
Lab4 Part 2 - Week 6
Lab4 Part 3 - Week 6
Lab4 Part 4 - Week 6
Introduction to Basic Cryptography - Week7
Public Key Cryptography - Week 7
Freescale ARM iMX6 Processor- Week 7
High Assurance Boot in iMX6 - Week 7
Case Study - Week 7
Basics of Networking - Week 8
Network Processor Vs General Purpose Processor - Week 8
Network Processor Architecture - Week 8
106106141
Department of Computer Science & Engineering
NOC:Information Security - II(Course sponsored by Aricent)
Prof. V. Kamakoti
Video
IIT Madras
Select
Introduction
Introduction to Knowledge Representation and Reasoning
An Introduction to Formal Logics
Propositional Logic: Language
Propositional Logic: Syntax and Truth Values
Propositional Logic: Valid Arguments and Proof Systems
Propositional Logic: Rules of Inference and Natural Deduction
Propositional Logic: Axiomatic Systems and Hilbert Style Proofs
Propositional Logic: The Tableau Method
Propositional Logic: The Resolution Refutation Method
Syntax
Semantics
Entailment and Models
Proof Systems
Forward Chaining
Unification
Forward Chaining Rule Based Systems
The Rete Algorithm
Rete Algorithm - Example
Programming in a Rule Based Language
The OPS5 Expert System Shell
Skolemization
Terminological Facts
Properties and Categories
Reification and Abstract Entities
Resource Description Framework (RDF)
The Event Calculus: Reasoning About Change
Natural Language Semantics
CD Theory
CD Theory (contd)
English to CD Theory
Backward Chaining
Logic Programming
Prolog
Search in Prolog
Controlling Search
The Cut Operator in Prolog
Incompleteness
The Resolution Method for FOL
Clause Form
FOL with Equality
Complexity of Resolution Refutation
Semantic Nets and Frames
Scripts
Applying Scripts
Goals
Plan Applier Mechanism
Top Down and Bottom Up Reasoning
Introduction
Normalisation
Structure Matching
Structure Matching - Example
Classification
A-box reasoning
DL: Extensions
DL: ALC
ALC examples
Taxonomies and Inheritance
Beliefs
Inheritance Hierarchies:
Introduction.
Circumscription
Circumscription (contd)
Minimal Models
Event Calculus Revisited
Circumscription in EC
Defaul Logic
Autoepistemc Logic
Epistemic Logic
The Muddy Children Puzzle
106106139
Department of Computer Science & Engineering
NOC:Introduction to Machine Learning(Course sponsored by Aricent)
Dr. Balaraman Ravindran
Video
IIT Madras
Select
A brief introduction to machine learning
Supervised Learning
Unsupervised Learning
Reinforcement Learning
Probability Basics - 1
Probability Basics - 2
Linear Algebra - 1
Linear Algebra - 2
Statistical Decision Theory - Regression
Statistical Decision Theory - Classification
Bias-Variance
Linear Regression
Multivariate Regression
Subset Selection 1
Subset Selection 2
Shrinkage Methods
Principal Components Regression
Partial Least Squares
Linear Classification
Logistic Regression
Linear Discriminant Analysis 1
Linear Discriminant Analysis 2
Linear Discriminant Analysis 3
Optimization
Perceptron Learning
SVM - Formulation
SVM - Interpretation & Analysis
SVMs for Linearly Non Separable Data
SVM Kernels
SVM - Hinge Loss Formulation
Weka Tutorial
Early Models
Backpropogation I
Backpropogation II
Initialization
Maximum Likelihood Estimate
Priors & MAP Estimate
Bayesian Parameter Estimation
Introduction
Regression Trees
Stopping Criteria & Pruning
Loss Functions for Classification
Categorical Attributes
Multiway Splits
Missing Values
Instability
Tutorial
Evaluation Measures I
Bootstrapping & Cross Validation
2 Class Evaluation Measures
The ROC Curve
Minimum Description Length & Exploratory Analysis
Introduction to Hypothesis Testing
Basic Concepts
Sampling Distributions & the Z Test
Student\'s t-test
The Two Sample & Paired Sample t-tests
Confidence Intervals
Bagging
Boosting
Gradient Boosting
Random Forest
Naive Bayes
Bayesian Networks
Undirected Graphical Models - Introduction
Undirected Graphical Models - Potential Functions
Hidden Markov Models
Variable Elimination
Belief Propagation
Partitional Clustering
Hierarchical Clustering
Threshold Graphs
The BIRCH Algorithm
The CURE Algorithm
Density Based Clustering
Gaussian Mixture Models
Expectation Maximization
Expectation Maximization Continued
Spectral Clustering
Learning Theory
Frequent Itemset Mining
The Apriori Property
Introduction to Reinforcement Learning
RL Framework and TD Learning
Solution Methods & Applications
Multi-class Classification
106106127
Department of Computer Science & Engineering
NOC:Programming, Data Structures and Algorithms
Dr. N S. Narayanaswamy
Video
IIT Madras
Select
Introduction to Computers and Programming
Writing your first program
Variables
Variable declarations
Input and Output Statements
Conditionals
Loops
Video Solution to Digital Root Programming Assignment
Introduction to arrays
Working with 1D arrays
Find prime numbers
Debugging demo
Multi-dimensional arrays
Pointers
More on pointers
Arrays and pointer arithmetic
Introduction to Strings
More on Strings
Video Solution to Print Elements of a Matrix in Spiral Order Programming Assignment
Introduction to functions
More details on functions
Arguments
Pass parameters by reference
Recursive functions
Running time of a program
Computing time complexity
Video Solution to Palindrome Checker Programming Assignment
Algorithms and Powering
Polynomial evaluation and multiplication
Linear and Binary Search Analysis
Analysis of minimum and maximum in an array
Sorting I: Insertion
Sorting II: Counting
Finding i-th smallest number
Video Solution to Sorting words Programming Assignment
Structures
More on structures
Using structures and pointers to structures
Dynamic memory allocation
Linked Lists
Brief introduction to C++: Classes and objects
Data Structures: Abstract Data Type
Lists
Supplementary Lesson
Video Solution to Implementing a Hash Table ADT Programming Assignment
Stacks: Last In First Out
Queues: First In First Out
Trees
Tree traversal
Binary Search Trees
Heaps
Graphs and Representation
Supplementary Lesson
Video Solution to the Queue in a Hospital Programming Assignment
Greedy Algorithms
Dynamic Programming
Matrix Chain Multiplication
Dijkstra's Algorithm
Boyer-Moore String Matching Algorithm
File I/O
Modular Programming
106106131
Chennai Mathematical Institute
NOC:Design and Analysis of Algorithms
Prof. Madhavan Mukund
Video
Select
Course Outline
Example: Air Travel
Example: Xerox shop
Example: Document similarity
Introduction and motivation
Input size
Quantifying efficiency: O( )
Examples: Analysis of iterative and recursive algorithms
Arrays and lists
Searching in an array
Selection Sort
Insertion sort
Merge sort
Merge sort - analysis
Quicksort
Quicksort - analysis
Sorting - Concluding remarks
Introduction to graphs
Representing graphs
Breadth first search (BFS)
Depth first search (DFS)
Applications of BFS and DFS
Directed acylic graphs: topological sort
Directed acylic graphs: longest paths
Single source shortest paths: Dijkstras algorithm
Dijkstras algorithm: analysis
Negative edge weights: Bellman-Ford algorithm
All pairs shortest paths
Minimum Cost Spanning Trees
Prims Algorithm
Kruskals algorithm
Union-Find using arrays
Union-Find using pointers
Priority queues
Heaps
Heaps: Updating values
Counting inversions
Closest pair of points
Binary Search Trees
Balanced search trees
Interval scheduling
Scheduling with deadlines: minimizing lateness
Huffman codes
Introduction to dynamic programming
Memoization
Grid
Common subwords and
Edit
Matrix
Linear Programming
LP modelling: Production Planning
LP modelling: Bandwidth allocation
Network Flows
Reductions
Checking Algorithms
P and NP
106106137
Chennai Mathematical Institute
NOC:Functional Programming in Haskell
Prof. S P Suresh
Video
Select
Functions
Types
Haskell
Running Haskell programs
Currying
Examples
Lists
Functions on lists
Characters and strings
Tuples
Computation as rewriting
Polymorphism and higher-order functions
Map and filter
List comprehension
Folding through a list
Measuring efficiency
Sorting
Using infinite lists
Conditional polymorphism
Defining functions in ghci
User-defined datatypes
Abstract datatypes
Modules
Recursive data types
Binary search trees