1. Discrete Structures
Sets, relations, Functions, Pigeonhole Principle, inclusion-Exclusion Principle, Equivalence and Partial Orderings, Elementary Counting Techniques, Probability, Measure(s) for Information and Mutual information.
Computability: Models of computation-Finite Automata, Pushdown Automata, Non-determinism and NFA, DPDA and PDAs and Languages accepted by these structures. Grammars, Languages, Non computability and examples of non-computable problems.
Graph: Definition, walks, paths, trails, connected graphs, regular and bipartite graphs, cycles and circuits, Tree and rooted tree, Spanning trees, Eccentricity of a vertex, radius and diameter of a graph, Central Graphs, Center(s) of a tree, Hamiltonian and Eulerian graphs, planar graphs
Groups: Finite fields and Error correcting / detecting codes.
2. Computer Arithmetic
Propositional (Boolean) Logic, Predicate Logic, Well-formed-formulae (WFF), Satisfiability and Tautology
Logic Families: TTL, ECL and C-MOS gates. Boolean algebra and Minimization of Boolean functions, Flip-flops-types, race condition and comparison. Design of combinational and sequential circuits
Representation of integers: Octal, Hex, Decimal, and Binary. 2's complement and 1's complement arithmetic. Floating point representation
3. Programming in C and C++
Programming in C: Elements of C-Tokens, identifiers, data types in C. Control structures in C. Sequence, selection and iteration(s). Structured data types in C-arrays, struct, union, string, and pointers.
O-O Programming Concepts: Class, Object, instantiation, Inheritance, polymorphism and overloading.
C++ Programming: Elements of C++ - Tokens, identifiers. Variables and constants, Data types, Operators, Control statements. Functions, parameter passing, Class and objects. Constructors and destructors. Overloading, Inheritance, templates, Exception handling.
4. Relational Database Design and SQL
E-R Diagrams and their transformation to relational design, normalization - 1NF, 2NF, 3NF, BCNF and 4NF. Limitations of 4NF and BCNF.
SQL: Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL) commands. Database objects like- Views, indexes, sequences , synonyms, data dictionary.
5. Data and File Structures
Data, Information, Definition of data structure. Arrays, stacks, queues, linked lists, trees, graphs, priority queues and heaps.
File Structures: Fields, records and files. Sequential, direct, index-sequential and relative files. Hashing, inverted lists and multi-lists. B trees and B+ trees
6. Computer Networks
Network Fundaments: Local area Networks (LAN), Metropolitan Area Networks (MAN), Wide Area Networks (WAN), Wireless Networks, Inter Networks.
Reference Models: The OSI model, TCP/IP model
Data Communication: Channel capacity. Transmission media - twisted pair, coaxial cables, fibre-optic cables, wireless transmission - radio, microwave, infrared and millimetre waves. Light wave transmission. Telephones - local loop, trunks, multiplexing, switching, narrowband ISDN, broadband ISDN, ATM, High speed LANS, Cellular radio, Communication satellites - geosynchronous and low-orbit.
Internetworking: Switch/Hub, Bridge, router, Gateways, Concatenated virtual circuits, Tunnelling, Fragmentation, Firewalls.
Routing: Virtual circuits and datagrams, Routing algorithms, Congestion control
Network Security: Cryptography - public key, secret key. Domain Name System (DNS) - Electronic mail and World Wide Web (WWW). The DNS, Resource Records, Name Servers. E-mail architecture and Servers
7. System Software and Compilers
Assembly language fundamentals (8085 based assembly language programming). Assemblers- 2-pass and single-pass. Macros and macroprocessors
Loading, linking, relocation, program relocatability. Linkage editing
Text editors. Programming Environments. Debuggers and program generators
Compilation and Interpretation. Bootstrap compilers. Phases of compilation process. Lexical analysis. Lex package on Unix system.
Context free grammars. Parsing and parse trees. Representation of parse (derivation) trees as rightmost and leftmost derivations. Bottom up parsers- shift reduce, operator precedence, and LR. YACC package on Unix system.
Top-down parsers- left recursion and its removal. Recursive descent parser. Predictive parser, Intermediate codes- Quadruples, Triples, Intermediate code generation, Code generation, Code optimization
8. Operating Systems (with Case Study of Unix)
Main functions of operating systems, Multiprogramming, multiprocessing, and multitasking
Memory Management: Virtual memory, paging, fragmentation
Concurrent Processing: Mutual exclusion. Critical regions, lock and unlock
Scheduling: CPU scheduling, I/O scheduling, Resource scheduling, Deadlock and scheduling algorithms. Banker's algorithm for deadlock handling.
The Unix System: File system, process management, bourne shell, shell variables, command line programming.
Filters and Commands: pr, head, tail, cut, paste, sort, uniq, tr, join, etc., grep, egrep, fgrep, etc., sed, awk, etc.
System Calls (like): creat, open, close, read, write, iseek, link, unlink, stat, fstat, umask, chmod, exec, fork, wait, system.
9. Software Engineering
System Development Life Cycle (SDLC): Steps, Water fall model, Prototypes, Spiral model
Software Metrics: Software Project Management.
Software Design: System design, detailed design, function oriented design, object oriented design, user interface design. Design level metrics.
Coding and Testing: Testing level metrics. Software quality and reliability. Clean room approach, software reengineering.
10. Current Trends and Technologies
The topics of current interest in Computer Science and Computer Applications shall be covered. The experts shall use their judgment from time to time to include the topics of popular interest, which are expected to be known for an application development software professional, currently, they include:
Parallel Computing: Parallel virtual machine (pvm) and message passing interface (mpi) libraries and calls. Advanced architectures. Today’s fastest computers.
Mobile Computing: Mobile connectivity- Cells, Framework, wireless delivery technology and switching methods, mobile information access devices, mobile data internetworking standards, cellular data communication protocols, mobile, computing applications. Mobile databases - protocols, scope, tools and technology. M-business.
E-Technologies: Electronic Commerce: Framework, Media Convergence of Applications, Consumer Applications, Organisation Applications.
Electronic Payment Systems: Digital Token, Smart Cards, Credit Cards, Risks in Electronic Payment System, Designing Electronic Payment Systems.
Electronic Data Interchange (EDI): Concepts, Applications, (Legal, Security and Privacy) issues, EDI and Electronic Commerce, Standardization and EDI, EDI Software Implementation. EDI Envelope for Message Transport, Internet-Based EDI.
Digital Libraries and Data Warehousing: Concepts, Types of Digital documents, Issues behind document Infrastructure, Corporate Data Warehouses.
Software Agents: Characteristics and Properties of Agents, Technology behind Software Agents (Applets, Browsers and Software Agents).
Broadband Telecommunications: Concepts, Frame Relay, Cell Relay, Switched Multimegabit Data Service, Asynchronous Transfer Mode. Main concepts in Geographical Information Systems (GIS), E-cash, E-Business, ERP packages.
Data Warehousing: Data Warehouse environment, architecture of a data warehouse methodology, analysis, design, construction and administration.
Data Mining: Extracting models and patterns from large databases, data mining techniques, classification, regression, clustering, summarization, dependency modelling, link analysis, sequencing analysis, mining scientific and business data.
Windows Programming: Introduction to Windows programming-Win32, Microsoft Foundation Classes (MFC), Documents and views, Resources, Message handling in windows.
Simple Applications (in windows): Scrolling, splitting views, docking toolbars, status bars, common dialogs.
Advanced Windows Programming: Multiple Document Interface (MDI), Multithreading. Object linking and Embedding (OLE). Active X controls. Active Template Library (ATL). Network programming.
Paper III – Core Group
Unit - I
Combinational Circuit Design, Sequential Circuit Design, Hardwired and Microprogrammed processor design, Instruction formats, Addressing modes, Memory types and organisation, Interfacing peripheral devices, Interrupts.
Microprocessor architecture, Instruction set and Programming (8085, P-III/P-IV), Microprocessor applications.
Unit - II
Database Concepts, ER diagrams, Data Models, Design of Relational Database, Normalisation, SQL and QBE, Query Processing and Optimisation, Centralised and Distributed Database, Security, Concurrency and Recovery in Centralised and Distributed Database Systems, Object Oriented Database Management Systems (Concepts, Composite
objects, Integration with RDBMS applications), ORACLE
Unit - III
Display systems, Input devices, 2D Geometry, Graphic operations, 3D Graphics, Animation, Graphic standard, Applications.
Concepts, Storage Devices, Input Tools, Authoring Tools, Application, Files.
Unit - IV
Programming language , concepts, Paradigm and models.
Data, Data types, Operators, Expressions, Assignment, Flow of control - Control Structures, I/O Statements, User-defined and built in functions, Parameter passing.
Principles, classes, inheritance, class hierarchies, polymorphism, dynamic binding, reference semantics and their implementation.
Principles, functions, lists, types and polymorphisms, higher order functions, lazy evaluation, equations and pattern matching.
Principles, horn clauses and their execution, logical variables, relations, data structures, controlling the search order, program development in prolog, implementation of prolog, example programs in prolog.
Principles of parallelism, co-routines, communication and execution. Parallel Virtual Machine (PVM) and Message Passing Interface (MPI) routines and calls, Parallel programs in PVM paradigm a swell as MPI paradigm for simple problems like matrix multiplication.
Preconditions, post-conditions, axiomatic approach for semantics, correctness, denotational semantics.
Complier structure, Compiler construction tools, compilation phases.
Finite Automata, Pushdown Automata, Non-determinism and NFA, DPDA, and PDAs and languages accepted by these structures, Grammars, Languages -types of grammars-type 0, type 1, tope 2, type 3. The relationship between types of grammars, and finite machines, Pushdown automata and context free Grammars, Lexical Analysis-regular expressions and
regular languages. LEX package on UNIX, Conversion of NFA to DFA, Minimizing the number of states in a DFA, Compilation and Interpretation, Bootstrap Compilers.
Context free grammars, Parsing and parse trees, Representation of parse (derivation) trees as rightmost and leftmost derivations. Bottom up parsers - shift reduce, operator precedence an LR, YACC package on UNIX system, Top down parsers - Left recursion and its removal , Recursive descent parser, Predictive parser, Intermediate codes - Quadruples, triples, Intermediate code generation, code generation, Code optimization.
Unit - V
Analog and Digital transmission, Asynchronous and Synchronous transmission, Transmission media, Multiplexing and Concentration, Switching techniques, Polling.
Topologies, Networking Devices, OSI Reference Model, Protocols for - (i) Data link layer, (ii) Network layer, and (iii) Transport layer, TCP/IP protocols, Networks security, Network administration
Unit - VI
Definition, Simple and Composite structures , Arrays, Lists, Stacks, queues, Priority queues, Binary trees, B-trees, Graphs.
Sorting and Searching Algorithms, Analysis of Algorithms, Interpolation and Binary Search, Asymptotic notations-big ohm, omega and theta. Average case analysis of simple programs like finding of a maximum of n elements. Recursion and its systematic removal. Quicksort - Non-recursive implementation with minimal stack storage. Design of Algorithms (Divide and Conquer, Greedy method, Dynamic programming, Back tracking, Branch and Bound). Lower bound theory. Non-deterministic algorithm-Non-deterministic programming constructs. Simple non-deterministic programs. NP-hard and NP-complete problems.
Unit - VII
Object, messages, classes, encapsulation, inheritance, polymorphism, aggregation, abstract classes, generalization as extension and restriction. Object oriented design. Multiple inheritance, metadata.
HTML, DHTML, XML, Scripting, Java, Servlets, Applets.
Unit - VIII
Software development models, Requirement analysis and specifications, Software design, Programming techniques and tools, Software validation and quality assurance techniques, Software maintenance and advanced concepts, Software management.
Unit - IX
Introduction, Memory management, Support for concurrent process, Scheduling, System deadlock, Multiprogramming system. I/O management, Distributed operating systems, Study of Unix and Windows NT
Unit - X
Definitions. AI approach for solving problems.
Automated Reasoning with propositional logic and predicate logic - fundamental proof procedure, refutation, resolution, refinements to resolution (ordering/pruning/restriction strategies).
State space representation of problems, bounding functions, breadth first, depth first, A, A*, AO*, etc. Performance comparison of various search techniques.
Frames, scripts, semantic nets, production systems, procedural representations. Prolog programming.
Components of an expert system, Knowledge representation and Acquisition techniques, Building expert system and Shell.
RTNs. ATNs, Parsing of Ambiguous CFG's. Tree Adjoining Grammars (TAGs). Systems approach to planning, Designing, Development, Implementation and Evaluation of MIS.
Decision-making processes, evaluation of DSS, Group decision support system and case studies, Adaptive design approach to DSS development, Cognitive style in DSS, Integrating expert and Decision support systems.
Paper III - Elective/Optional
Elective - I
Theory of Computation: Formal language, Need for formal computational models, Non-computational problems, diagonal argument and Russel's paradox.
Deterministic Finite Automaton (DFA), Non-deterministic Finite Automaton (NFA), Regular languages and regular sets, Equivalence of DFA and NFA. Minimizing the number of states of a DFA. Non-regular languages and Pumping lemma.
Pushdown Automaton (PDA), Deterministic Pushdown Automaton (DPDA), Non-equivalence of PDA and DPDA.
Context free Grammars: Greibach Normal Form (GNF) and Chomsky Normal Form (CNF), Ambiguity, Parse Tree Representation of Derivations. Equivalence of PDA's and CFG's. Parsing techniques for parsing of general CFG's - Early's, Cook-Kassami-Younger (CKY), and Tomita's parsing.
Linear Bounded Automata (LBA): Power of LBA. Closure properties.
Turing Machine (TM): One tape, multitape. The notions of time and space complexity in terms of TM. Construction of TM for simple problems. Computational complexity.
Chomsky Hierarchy of Languages: Recursive and recursively-enumerable languages.
Elective - II
Model for Information Channel: Discrete Memoryless Channel, Binary Symmetric Channel (BSC), Burst Channel, Bit-error rates. Probability, Entropy and Shannon's measure of information. Mutual information. Channel capacity theorem. Rate and optimality of information transmission.
Variable Length Codes: Prefix codes. Huffman Codes, Lempel-Ziev (LZ) codes. Optimality of these codes. Information content of these codes.
Error Correcting and Detecting Codes: Finite fields, Hamming distance, Bounds of codes, Linear (Parity Check) codes, Parity check matrix, Generator matrix, Decoding of linear codes, Hamming codes.
Image Processing: Image Registration, Spatial Fourier Transforms, Discrete Spatial (2-dimensional) Fourier transforms, Restoration, Lossy Compression of images (pictures).
Data Compression Techniques: Representation and compression of text, sound, picture, and video files (based on the JPEG and MPEG standards).
Elective - III
Linear Programming Problem: Linear Programming Problem (LPP) in the standard form, LPP in Canonical form. Conversion of LPP in Standard form to LPP in Canonical form. Simplex-Prevention of cyclic computations in Simplex and Tableau, Big-M method, dual simplex and revised simplex. Complexity of simplex algorithm(s). Exponential behaviour of simplex.
Ellipsoid method and Karmakar's method for solving LPPs. Solving simple LPPs through these methods. Comparison of complexity of these methods.
Assignment and Transportation Problems: Simple algorithms like Hungarian method, etc.
Shortest Path Problems: Dijkstra's and Moore's method. Complexity.
Network Flow Problem: Formulation. Max-Flow Min-Cut theorem. Ford and Fulkerson’s algorithm. Exponential behaviour of Ford and Fulkerson's algorithm. Malhotra-Pramodkumar-Maheshwari (MPM) Polynomial algorithm for solving Network flow problem. Bipartite Graphs and Matchings; Solving matching problems using Network flow problems.
Matroids: Definition. Graphic and Cographic matroids. Matroid intersection problem.
Non-linear Programming: Kuhn-Tucker conditions. Convex functions and Convex regions. Convex programming problems. Algorithms for solving convex programming problems - Rate of convergence of iterative methods for solving these problems.
Elective - IV
Neural Networks: Perception model, Linear separability and XOR problem. Two and three layered neural nets, Backpropagation - Convergence. Hopfield nets, Neural net learning, Applications.
Fuzzy Systems: Definition of a Fuzzy set, Fuzzy relations, Fuzzy functions, Fuzzy measures, Fuzzy reasoning, Applications of Fuzzy systems.
Elective - V
Unix: Operating system, Structure of Unix Operating System, Unix Commands, Interfacing with Unix, Editors and Compilers for Unix, LEX and YACC, File system, System calls. Filters, Shell programming.
Windows: Windows environment, Unicode, Documents and Views, Drawing in a window, Message handling, Scrolling and Splitting views, Docking toolbars and Status bars, Common dialogs and Controls, MDI, Multithreading, OLE, Active X controls, ATL, Database access, Network programming.