Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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]