Computer Science Paper I CSS Syllabus

Computer Science (200 Marks)

Paper-I (100 Marks)

Section-A (50 Marks)

I. Introduction to Computing

Introduction to Information Technology and Computers, History of Computing, Computer HW and SW Details, Computer System Components and Communication System, Input & Output devices and their types, Storage Media and their types, Types of Computer, Hardware, Software, and Programming languages, Information Representation & Number Systems, User interfaces, Major Software Issues, Creation, formatting, and maintenance of Computer documents, Usage of Word processors, Spreadsheets, Power-Point, Email, Search Engines, Browsers, Messengers, and Internet , Computers & Society, Information Security/Privacy, Computer Crimes and Ethical Challenges, Viruses, Plagiarism, Intellectual Property Rights, Difference between computer science, software engineering, information technology, information systems, computer engineering and bioinformatics; IEEE / ACM computing disciplines guidelines.

II. Programming Fundamentals

Basic programming elements and concepts, Problem Solving & Program Design, Components of a programming language, Program development and execution, Program structure, Data types and variable declarations, Standard I/O streams, and statements, Control structures, Standard library functions, User defined functions and parameter passing, Arrays, pointers, and strings, Structures, unions, and bit manipulation operators.

III. Object Oriented Paradigm

Object Oriented Programming Concepts ( Object-oriented paradigm, data abstraction, encapsulation, inheritance, Polymorphism), Introduction to Classes and Objects ( classes, objects, data members, member functions), Classes Advanced ( friends, static, composition, this, const), Operator overloading (stream insertion, stream extraction, binary operator, unary operator), Inheritance (single inheritance, multiple inheritances, protected members, method overriding), Polymorphism (virtual function, pure-virtual functions, abstract class, abstract super class), Standard Template Library (STL), Files & streams (sequential access files, random access files), File processing, Exception Handling


Section-B (50 Marks)

IV. Algorithms & Data Structures

Fundamental concepts, Properties of algorithms, Criteria for an Algorithm, Parameters for selecting an algorithm, Algorithm Representations, Pseudo Code and Flow Charts, Designing Algorithms, Algorithm Analysis and Asymptotic Notations, Classification of Lists, Abstract Data Types, Implementation of Stacks and Queues using ADTs, Searching and Sorting Algorithms (Linear Search, Binary Search, Bubble Sort, Merge Sort, Quick Sort, Heap Sort), Stacks and Queues, Hash Tables (Linear Probing, Bucketing, Chaining), Recursion, Trees (Binary Trees, Binary Search trees, AVL Trees, Two-Three Trees), Graphs, Heuristic (Guided) Search, Genetic Algorithms, Encryption Algorithms (DES, RSA)

V. Software Engineering

Software Processes, Software Process Models, Agile Software Development, Analysis Modeling, Requirements Engineering, Design Concepts, Architectural Design, Design & Implementation, Software Testing, System Delivery and Maintenance, Software Evolution Formal Specification, Software Quality Assurance, Introduction to Proofs of Correctness (LNO), Distributed Software Engineering, Aspect-Oriented Software Engineering, Project Management, Process Improvement

VI. Compiler Construction

Difference among various type of Translators, Phases of Compilers, Classification of Compilers, Lexical Analysis (Input buffering, Specification & Recognition of tokens, Regular expressions, Finite automata, Syntax Analysis (Context-free grammars and their classification, LL(k) vs. LR(k) grammars, Top-down vs. Bottom-Up parsers, Parsing Techniques, FIRST and FOLLOW sets, Predictive Parsing using LL(1) grammars, Syntax error handling and recovery strategies), Syntax Directed Translation (Synthesized attributes, Inherited attributes, Construction of syntax trees, Top-down translation), Semantic analysis (Symbol tables, Type Expressions, Type Checking of statements),
Intermediate Code Generation, Code Generation (Issues in the design of code generation, The target machine, Run-time storage management, Register allocation), Code optimization (Elimination of Redundant code, Folding of Constant, Loop optimization, Peephole optimization, Problems of optimization)


698 Views
Top