Module 1
Database system architecture: Data Abstraction, Data Independence, Data Definition Language (DDL), Data Manipulation Language (DML).
Data models: Entity-relationship model, network model, relational and object oriented data models, integrity constraints, data manipulation operations.
Module 2
Relational query languages: Relational algebra, Tuple and domain relational calculus, SQL3, DDL and DML constructs, Open source and Commercial DBMS - MYSQL, ORACLE, DB2, SQL server.
Relational database design: Domain and data dependency, Armstrong’s axioms, Normal forms, Dependency preservation, Lossless design.
Query processing and optimization: Evaluation of relational algebra expressions, Query equivalence, Join strategies, Query optimization algorithms.
Module 3
Storage strategies: Indices, B-trees, hashing.
Module 4
Transaction processing: Concurrency control, ACID property, Serializability of scheduling, Locking and timestamp-based schedulers, Multi-version and optimistic Concurrency Control schemes, Database recovery.
Module 5
Database Security: Authentication, Authorization and access control, DAC, MAC and RBAC models, Intrusion detection, SQL injection.
Module 6
Advanced topics: Object-oriented and object-relational databases, Logical databases, Web databases, Distributed databases, Data warehousing and data mining.
Formal Language & Automata Theory
Module 1
Introduction: Alphabet, languages and grammars, productions and derivation,
Chomsky hierarchy of languages.
Regular languages and finite automata: Regular expressions and languages,
deterministic finite automata (DFA) and equivalence with regular expressions,
nondeterministic finite automata (NFA) and equivalence with DFA, regular grammars
and equivalence with finite automata, properties of regular languages, pumping lemma
for regular languages, minimization of finite automata.
Module 2
Context-free languages and pushdown automata: Context-free grammars (CFG) and
Context-free languages (CFL), Chomsky and Greibach normal forms, nondeterministic
pushdown automata (PDA) and equivalence with CFG, parse trees, ambiguity in CFG,
pumping lemma for context-free languages, deterministic pushdown automata, closure
properties of CFLs.
Module 3
Context-sensitive languages: Context-sensitive grammars (CSG) and Context-
sensitive languages, linear bounded automata and equivalence with CSG.
Module 4
Turing machines: The basic model for Turing machines (TM), Turing recognizable
(Recursively enumerable) and Turing-decidable (recursive) languages and their closure
properties, variants of Turing machines, nondeterministic TMs and equivalence with
deterministic TMs, unrestricted grammars and equivalence with Turing machines, TMs
as enumerators.
Module 5
Undecidability: Church-Turing thesis, universal Turing machine, the universal and
diagonalization languages, reduction between languages and Rice’s theorem,
undecidable problems about languages.
Module 1:Functional blocks of a computer: CPU, memory, input-output subsystems, control unit. Instruction set architecture of a CPU–registers, instruction execution cycle, RTL interpretation of instructions, addressing modes, instruction set. Case study – instruction
sets of some common CPUs. Data representation: signed number representation, fixed and floating-point representations, character representation. Computer arithmetic – integer addition and
subtraction, ripple carry adder, carry look-ahead adder, etc. multiplication – shift-and-add, Booth multiplier, carry-save multiplier, etc. Division restoring and non-restoring techniques, floating-point arithmetic.
Module 2: Introduction to x86 architecture. CPU control unit design: hardwired and micro-programmed design approaches, Case study – design of a simple hypothetical CPU. Memory system design: semiconductor memory technologies, memory organization. Peripheral devices and their characteristics: Input-output subsystems, I/O device interface, I/O transfers–program-controlled, interrupt-driven and DMA, privileged
and non-privileged instructions, software interrupts, and exceptions. Programs and processes–the role of interrupts in-process state transitions, I/O device interfaces – SCII, USB.
Module 3: Pipelining: Basic concepts of pipelining, throughput and speedup, pipeline hazards. Parallel Processors: Introduction to parallel processors, Concurrent access to memory, and cache coherency.
Module 4: Memory organization: Memory interleaving, the concept of hierarchical memory organization, cache memory, cache size vs. Block size, mapping functions, replacement algorithms, write policies.
Module 1
Introduction: Basic definitions, Linear Algebra, Statistical learning theory, types of learning, hypothesis space and Inductive bias, evaluation and cross-validation, Optimization.
Module 2
Statistical Decision Theory, Bayesian Learning (ML, MAP, Bayes estimates, Conjugate priors), Linear Regression, Ridge Regression, Lasso, Principal Component Analysis, Partial Least Squares
Module 3
Linear Classification, Logistic Regression, Linear Discriminant Analysis, Quadratic Discriminant
Analysis, Perceptron, Support Vector Machines + Kernels, Artificial Neural Networks + Back Propagation, Decision Trees, Bayes Optimal Classifier, Naive Bayes.
Module 4
Hypothesis testing, Ensemble Methods, Bagging Adaboost Gradient Boosting, Clustering, K-means, K-medoids, Density-based Hierarchical, Spectral.
Module 5
Expectation-Maximization, GMMs, Learning theory Intro to Reinforcement Learning, Bayesian Networks.