# National Informatics Centre (NIC) : Scientific/Technical Assistant -'A'

## (SYLLABUS)

**(Computer Science)**

1 Computer Science / Computer Engineering

1 Computer Science / Computer Engineering

**1.1. Engineering Mathematics**

Mathematical Logic: Propositional Logic; First Order Logic:

Probability: Conditional Probability; Mean, Median, Mode and Standard Deviation; Random Variables; Distributions; uniforms, normal, exponential, Poisson, Binomial.

Set Theory & Algebra: Sets, Relations, Functions, Groups, Partial Orders, Lattice, Boolean Algebra.

Combinatorics: Permutations, Combinations, Counting, Summation, generating functions, recurrence relations, asymptotics.

Graph Theory: Connectivity, spanning trees, Cut vertices & edges, covering, matching, independent sets, Colouring, Planarity, Isomorphism.

Linear Algebra: Algebra of Matrices, determinants, systems of linear equations, Eigen values and Eigen vectors.

Numerical Methods: LU decomposition for systems of linear equations, numerical solutions of non-linear algebraic equations by Secant, Bisection and Newton-Raphson Methods; Numerical integration by trapezoidal and Simpson’s rules.

Calculus: Limit, Continuity & differentiability, Mean value Theorems, Theorems of integral calculus, evaluation of definite & improper integrals, Partial derivatives, Total derivatives, Maxima & Minima.

**1.2 Computer Science/ Computer Engg **

Digital Logic: Logic functions, Minimization, Design and synthesis of combinational and sequential circuits, Number representation and computer arithmetic (fixed and floating point).

Computer Organization and Architecture: Machine instructions and addressing modes, ALU and data-path, CPU control design, Memory interface, I/O interface (Interrupt and DMA mode), Instruction pipelining, Cache and main memory, Secondary storage.

Analog and Digital Communication: Autocorrelation and power spectral density, properties of white noise, filtering of random signals through LTI systems, amplitude modulation and demodulation, angle modulation and demodulation, spectra of AM and FM, Super heterodyne receivers, circuits for analog communications, Information theory, entropy, mutual information and channel capacity theorem, Digital communications, PCM, DPCM, digital modulation schemes, amplitude, phase and frequency shift keying (ASK, PSK, FSK), QAM, MAP and ML decoding, matched filter receiver, calculation of bandwidth, SNR and BER for digital modulation; Fundamentals of error correction, Hamming codes; Timing and frequency synchronization, inter- symbol interference and its mitigation; Basics of TDMA, FDMA and CDMA.

Programming and Data Structures: Programming in C, Functions, Recursion, Parameter passing, Scope, Binding, Abstract data types Arrays, Stacks, Queues, Linked Lists, Trees, Binary search trees, Binary heaps, Object Oriented Programming Concepts- Object, Class, Inheritance, Polymorphism, Abstraction and Encapsulation.

Algorithms: Analysis, Asymptotic, notation, Notions of space and time complexity, Worst and average case analysis, Design; Greedy approach, Dynamic programming, Divide-and-conquer, Tree and graph traversals, Connected competent, Spanning trees, Shortest paths; Hashing, Sorting, Searching, Asymptotic analysis (best, worst, average cases) of time and space, upper and lower bounds, Basic concept of complexity classes –P, NP, NP-hard, NP-complete.

Theory of Computation: Regular languages and finite automata, Context free languages and Push-down automata, Recursively enumerable sets and Turing machines, Undecidability.

Compiler Design: Lexical analysis, Parsing, Syntax directed translation, Runtime environments, Intermediate and target code generation, Basics of code optimization.

Operating System: Processes, Threads, Inter-Process communication,
Concurrency, Synchronization, Deadlock, CPU scheduling, Memory management and
virtual memory, File systems, I/O systems, Protection and security, Databases:
ER-model, Relational Model (relational algebra, tuple calculus), Database design
(integrity constraints, normal forms), Query languages (SQL), File structures
(sequential files,

indexing, B and B+ trees), Transactions and concurrency control. Information
Systems and Software Engineering: Information gathering, requirement and
feasibility analysis, data flow diagrams, process specifications, input/output
design, process life cycle, planning and managing the project, design, coding,
testing, implementation, maintenance.

Computer Networks: ISO/OSI stack, LAN technologies, Flow and error control techniques, Routing algorithms, Congestion control, TCP/UDP and sockets, IP(v4), IP(v6), Application layer protocols, (ICMP, DNS, SMTP, POP, FTP, HTTP), Basic concepts of hubs, switches, gateways, and routers. \ Wireless technologies, Network security – basic concepts of public key and private key cryptography, digital signature, firewalls.