## UGC NET Computer Science Syllabus With all topic materials

**Paper II**

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

__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

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

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

__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

__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

__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

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

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

__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