Download CORE SUBJECTS

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CORE SUBJECTS
Theoretical foundations of Computer Science: (2nd Sem, 3-1-0)
Discrete Structures: Propositional & Predicate Logic, Proof techniques: Sets, Functions,
Recursion, induction, Counting, combinatorics; Relations, closures of relations,
equivalence relations, partial orderings, Hasse diagrams, lattices; Graphs, Euler and
Hamiltonian paths, planar graphs, graph coloring problem, Boolean algebra, Binary
arithmetic, algebraic structures, properties and applications; [30L]
Introduction to Automata theory: Finite Automata and Regular languages, regular
expressions, DFA, NFA, non-regular languages, context free languages, Turing machine
and its examples.
Algorithms and Problem Solving: (4th Sem, 3-1-0 + 0-0-4)
Review of Nonlinear Data Structures (Tree, Heap, Graph). BFS & DFS.
Analysis of Algorithms Asymptotic Analysis: Growth of Functions and Recurrences;
Notations- Big O, big omega, big theta, little o; Formal and empirical analysis of sorting
algorithms-Radix, merge, quick, heap sort. Time-space trade off of algorithms, P, NP,
NP-completeness. Greedy Algorithms: Minimum Spanning Trees, Shortest Path Problem,
Dijkstra’s algorithm, Fractional Knapsack. Divide and Conquer Algorithms: Polynomial,
Merge and Quick Sort. Backtracking Algorithms: M-coloring problem, Finding
Hamiltonian Cycle. Dynamic Programming: Binomial Coefficient, Chain Matrix
Multiplication, Knapsack, LCS. Branch and bound, Reduction (transform and conquer).
String Matching: Naïve String Matching, Finite Automata Matcher, Rabin Karp
matching algorithm. KMP. Graph Algorithms, Network flows, Compression,
Cryptography.
Problem spaces (states, goals and operators), Factored representation (factoring state into
variables), problem solving by search - uninformed search (BFS, DFS, DFS with iterative
deepening), Heuristics and informed search (hill-climbing, generic best-first, A*), Twoplayer games (mini-max search), Decision trees.
Operating Systems and Systems Programming: (4th Sem, 3-1-0+0-0-2)
Operating Systems- Introduction, Historical context of Operating Systems, OS Structure,
Architecture, Process Concepts, Threads & Concurrency, Scheduling Concurrency &
Synchronization issues, Deadlock, Memory Management, Virtual Memory, File System
management, Secondary Storage, Input output management, Introduction to Distributed
OS, Fault and Security Issues, Case studies of OS [32L]
System Programming:- Memory Addressing, Interrupts and Exceptions, Kernel
Synchronization, System Calls, Signals. Block Device Drivers, Character Device Drivers,
Network Drivers. [10L]
Theory of Computing and Compiler Design: (6th Sem, 3-1-0 + 0-0-2)
Review of Automata, its types and regular expressions, Equivalence of NFA, DFA and €NFA, Conversion of automata and regular expression, Applications of Finite Automata to
lexical analysis [14 L]
Push down automata Context Free grammars, top down and bottom up parsing, YACC
programming specification [12 L]
Syntax directed translation, S-attributed and L-attributed grammars, Intermediate code
generation, Chomsky hierarchy of languages and recognizers, Context Sensitive features
like type checking, type conversions, equivalence of type expression, Turing Machine as
language acceptors and its design, Code generation and optimization. [16L]
Theory of Programming Languages: (6th Sem, 3-1-0 + 0-0-2)
Notions of syntax and semantics of programming languages; introduction to
operational/natural semantics of functional and imperative languages. Data abstractions
and control constructs;
block-structure and scope, principles of abstraction, qualification and correspondence;
parameter passing mechanisms; runtime structure and operating environment; practical
and implementation issues in run-time systems and environment; abstracts machines;
features of functional and imperative languages; the untyped and simply-typed Lambda
calculus' type systems for programming languages, Logic Programming, Concurrent
Programming.
Software Development Fundamentals – II: (2nd Sem, 3-1-0 + 0-0-2)
Advanced C programming: Pointers, handling arrays through pointers, pointer arithmetic,
Library function - basic file handling, basic graphics and sound functions; linear and
binary search, insertion, selection, and bubble sort. [10 L]
Object Oriented Programming - Concepts of Object-Orientation in C++, constructs,
objects, classes, methods, constructors, function and operator overloading, inheritance,
polymorphism, Introduction to SDLC, Program comprehension. Testing fundamentals
and test-case generation. [16 L]
Implementations and applications of elementary data structures - Stacks, Queues, Deque,
linked list, binary trees, sparse matrix, Using STL [16 L]