## Computer Science and Applications: Computer Science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded as bits in a computer memory or transcribed in genes and protein structures in a human cell. A computer scientist specializes in the theory of computation and the design of computational systems. Its subfields can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory (which explores the fundamental properties of Computational and intractable problems), are highly abstract, while fields such as computer graphics emphasize real-world visual applications. Still other fields focus on the challenges in implementing computation. For example, programming language theory considers various approaches to the description of computation, whilst the study of computer programming itself investigates various aspects of the use of programming language and complex systems. Human-computer interaction considers the challenges in making computers and computations useful, usable, and universally accessible to humans.
## Paper II Syllabus
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. Centres of a tree. Hamiltonian and Eulerian graphs, Planar graphs. Groups : Finite fields and Error correcting / detecting codes.
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: 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, Datatypes, Operators, Control statements. Functions parameter passing. Class and objects. Constructors and destructors. Overloading, Inheritance, Templates, Exception handling.
E-R diagrams and their transformation to relational design, normalization – INF, 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, 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.
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, coaxial cables, fibre – optic cables, wireless transmission-radio, microwave, infrared and millimeter waves. Lightwave transmission. Thelephones – 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. Conjestion 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.
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. Topdown parsers-left recursion and its removal. Recursive descent parser. Predictive parser. Intermediate codes-Quadruples, Triples, Intermediate code generation, Code generation, Code optimization.
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. UNIX: 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.
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.
The topics of current interest in Computer Science and Computer Applications shall be covered. The experts shall use their judgement 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:
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 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 Document Interface ( MDI ), Multithreading. Object linking and Embedding (OLE). Active X controls. Active Template Library (ATL). Network programming. ## Paper III (Part A) Syllabus
Microprocessor architecture, Instruction set and Programming ( 8085, P – III / P – IV ), Microprocessor applications.
Concepts, Storage Devices, Input Tools, Authoring Tools, Application, Files.
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, 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 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.
Topologies, Networking Devices, OSI Reference Model, Protocols for : Data link layer Network layer Transport layer, TCP / IP protocols, Networks security, Network administration.
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.
HTML, DHTML, XML, Scripting, Java, Servelets, Applets.
Automated Reasoning with prepositional 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 CFGs. 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 (Part B) Syllabus
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 – equilvalence 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.
Variable Length Codes : Prefix Codes, Huffmann Codes, Lempel-Ziev ( LZ ) Codes. Optirnality 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 ).
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.
Fuzzy Systems: Definition of a Fuzzy set, Fuzzy relations, Fuzzy functions, Fuzzy measures, Fuzzy reasoning, Applications of Fuzzy systems.
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. |