# (Syllabus) Himachal Pradesh PSC: State Eligibility Test (Public Administration)

## Himachal Pradesh Public Service Commission

## SET: Computer Science and Applications (Code-28)

## 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 noncomputable 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, 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 iterations(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 fundamentals: 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, coxial cable, fibre-optic cables, wireless transmission-radio, microwave, infrared and millimetre waves. Lightwave transmission. Telephones-local loop, trunks, multiplexing, switching, narrowband ISDN, Broadband ISDN, ATM, High Speed LANS. Cellular Radio. Communication satellites-geosynchronous and low-orbit.
- Internetworking : Swithc/Hub, Bridge, Router, Gateways, Concatenated virtual circuits. Tunneling, Fragmentation, Firewalls.
- Routing : Virtual circuits and datagrams. Routing algorithms. Consjestion control.
- Network Security : Cryptography-public key, secret key. Domain Name System (DNS)-Electronic Mail and Worldwide Web (WWW). The DNS, Resource Records, Name servers. E-Mail-architecture and Serves.

**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 parsersshift- reduce, operator precedence, and LR. YACC package on Unix system.
- Topdown 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. Bankers algorithm for deadlock handling.

**UNIX**

- The Unix System : File system, process management, bourne shell, shell variable, 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) : Create, 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 judgement from 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 deliver technology and switching methods, mobile information access devices, mobile date internetworking standards, cellular data communication protocols, mobile computing applications. Mobile databases-protocols, scope, tools and technology. Mbusiness.

**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, Application, (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 System (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 Documents Interface (MDI), Multithreading. Object linking and Embedding (OLE). Active X controls. Active Template Library (ATL). Network programming.

## PAPER-III (A)

## Unit-I

- Combinational Circuit Design, Sequential Circuit Design, Hardwired and Microporgrammed processor design, Instruction formats, Addressing modes, Memory types and organisation, Interfacing peripheral devices, Interrupts.
- Microprocessor architecture, Instruction set and Programming (8085, P-III/PIV), 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, Graphicstandard, Applications.
- Concepts, Storage Devices, Input Tools, Authoring Tools, Application, Files.

## Unit-IV

- Programming language concepts, paradigms 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 variable, relations, data structures, controlling the search order, program development in prolog, implementation of prolog, example programs in prolog.
- Principles of parallelism, coroutines, communication and execution. Parallel Virtual Machine (PVM) and Message Passing Interface (MPI) routines and calls. Parallel programs in PVM paradigm as well as MPI paradigm for simple problems like matrix multiplication.
- Preconditions, post-conditions, axiomatic approach for semantics, correctness, denotational semantics.
- Compiler 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, type 2, and 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 parsersshift- reduce, operator precedence, and LR. YACC package on Unix system. Topdown 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 Composite structure, 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, classed, encapsulation, inheritance, polymorphism, aggregation, abstract classes, generalization as extension and restriction. Object oriented design, Multiple inheritance, metadata. HTML, DHTML, XML, Scripting, Java, Servelets, 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

- Definition, 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 CFCs. 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(B)

(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 Automation (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 (DFA), Deterministic Pushdown Automaton (DPDA), Nonequivalence 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

- Models 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, Huffmann Codes, Lempel-Ziev(LZ) Codes. Optimality of these codes. Information content of these codes.
- Error Correcting an Detecting codes: Finite fields, Hamming distance, Bounds of codes, Linear (Parity Check) codes, Parity Check matrix, Generator matric, 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 (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- method, dual simplex and revised simplex.
- Complexity of simplex algorithm(s). Exponential behaviour of simplex.
- Ellipsoid method and Karnakar’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 Fulterson’s algorithm. Exponential behaviours of Form and Fulkerson’s algorithm. Malhotra-Pramod Kumar-Maheswari (MPM) Polynomial algorithm for solving Network flow problem. Bipartite Graphs and Mathings; 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: Perceptron 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.