**Paper II**

__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

**: Finite fields and Error correcting / detecting codes.**

*Groups*

__2. Computer Arithmetic__
Propositional
(Boolean) Logic, Predicate Logic, Well-formed-formulae (WFF), Satisfiability
and Tautology

**: 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**

*Logic Families***: Octal, Hex, Decimal, and Binary. 2's complement and 1's complement arithmetic. Floating point representation**

*Representation of integers*

__3. Programming in C and 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.**

*Programming in C***: Class, Object, instantiation, Inheritance, polymorphism and overloading.**

*O-O Programming Concepts***: 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.**

*C++ Programming*

__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.

**: Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL) commands. Database objects like- Views, indexes, sequences , synonyms, data dictionary.**

*SQL*

__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.

What are the elective and optional questions?

ReplyDelete