4 Year B.Tech CSE FullSyllabus
4 Year B.Tech CSE FullSyllabus
4 Year B.Tech CSE FullSyllabus
TECH
COMPUTER SCIENCE AND ENGINEERING COURSE
GAUHATI UNIVERSITY
Abbreviations Used
PH – Physical Science
CH – Chemical Science
MA – Mathematical Science
BI – Biological Science
GE – General Engineering
CS – Computer Science
EN – English
HS – Humanities and Social Science
MN – Management
EL – Electronic Science
BT – Biotechnology
Course Outcomes:
Computer Fundamentals -I
Computer Programming - II
Fundamentals of Programming
Elementary data types , variables, constants and identifiers. Integer, character floating point
and string constants . variable declarations. Syntax and semantics. Reserved word. Initialization
of variable during declarations Constant data types. Expression, precedence and associativity
of operators, unary, binary and ternary operators. Arithmetic operators, assignment operators,
relational operators, logical operators and bit –wise operators. L-value and R-value. Side
effects of operators. Expression statement. Conditional Statement-if, if-else, switch, Iterative
Statement-white, do-while, for, Other Statement –break, continue, goto, return, null Statement,
block Statement. Function: function declaration. Calling a function. Parameters – Call by
value, Call by reference and its absence in C. Recursion and how it works. Cast and sizeof
operator. Automatic type Conversion. Array – declaration and use.
Course Outcomes:
• Describe about basic peripherals, the process of assembling a personal computer,
installation of system software like Windows OS
• Explain advanced level of c programming including pointer data structure.
• Generate c programs using strings, array, pointer and functions.
Computer Fundamentals - II
Optical Media
CDROM, theory of operation, drive speed, buffer, cache, CD-r, CD-RW, DVD ROM, DVD
technology, preventive maintenance for DVD and CD drives, New Technologies. Driver
installation, Writing and cleaning Cd and DVD.
Processor
Intel processor family. Latest trends in processor, Motherboard, Sockets and slots, power
connectors. Peripheral connectors. Bus slots, USB, pin connectors. Different kinds of
motherboards. RAM, different kinds of RAM. RAM upgradation.
SMPS. BIOS. Network Interface Card, network cabling, I/O Box, Switches, RJ 45 connectors,
Patch panel, Patch cord, racks, IP address.
Different ways of hooking the PC on to the network and internet from home and workplace and
effectively usage of the internet. Configuring the TCP/IP setting. Usage of web browsers,
email, newsgroups and discussion forums would be covered. In addition, awareness of cyber
hygiene, i.e., protecting the personal computer from getting infected with the viruses, worms
and other cyber attacks would be introduced.
Task 1: Identify the peripherals of a computer, components in a CPU and its functions. Draw
the block diagram of the CPU along with the configuration of each peripheral and submit to
your instructor.
Task 2: Every student should disassemble and assemble the PC back to working condition. Lab
instructors should verify the work and follow it up with a Viva. Also students need to go
through the video which shows the process of assembling a PC. A video would be given as part
of the course content.
Task 3: Every student should individually install MS windows on the personal computer. Lab
instructor should verify the installation and follow it up with a Viva.
Task 4: Every student should install Linux on the computer. This computer should have
windows installed. The system should be configured as dual boot with both windows and
Linux. Lab instructors should verify the installation and follow it up with a Viva
Task 5: Several mini tasks would be that covers Basic commands in Linux and
Task 6: Hardware Troubleshooting: Students have to be given a PC which does not boot due to
improper assembly or defective peripherals. They should identify the problem and fix it to get
the computer back to working condition. The work done should be verified by the instructor
and followed up with a Viva
Task 8: The test consists of various systems with Hardware / Software related troubles,
Formatted disks without operating systems. Installation of anti virus software, configure their
personal firewall and windows update on their computer. Then they need to customize their
browsers to block pop ups, block active x downloads to avoid viruses and/or worms.
Computer Programming- II
1. Comdex: Hardware and Networking Course Kit: Vikas Gupta: DreamTech press
2. PC hardware: A beginners Guide: Ron Gilster: Tata Mc Graw Hill.
3. Computing Fundamentals and C programming; E. Balaguruswamy; Tata McGraw Hill.
Course Outcomes:
Definition
Concept of Data Types, basic terminology, data structure, data structure operations.
Complexity
Time and Space complexity of algorithms, Asymptotic notations.
Arrays
Types, memory representation, address translation functions for one & Two dimensional
arrays, different examples
Linked Structure
Singly and doubly linked list, circular and non circular, list manipulation with pointers,
example involving insertion and deletion of elements and their comparative studies with
implementations using array structure
Binary trees
Definition, quantitative properties, memory representation, Trees traversal algorithms
(recursive and non-recursive), threaded trees, BFS, DFS
Searching
Linear and binary search algorithms, performance and complexity, binary search trees
(construction ,insertion , deletion and search ) Concept of optimal binary search trees, B tree,
B+ tree and their applications.
Sorting
Terminology, performance evaluation, sorting algorithms (non recursive, recursive description,
Complexity, advantages and disadvantage, implementation)
Bubble sort, insertion sort, selection sort, heap sort, quick sort, merge sort, counting sort &
radix sort. External Sorting. Optimality.
Hashing
Concept, advantage & disadvantages, different types of functions, collision resolution
techniques (open addressing with probing, linear chaining)
File Structure
Sequential and direct access, relative files, structure, indexed files, B+ tree as index, multi index
files, hash files.
Course Outcomes:
Representation of numbers
Floating point representation, single and double precision, round off errors and truncation
errors.
Numerical Integration
Basic Quadrature Formulas, Newton Cotes Quadrature Formulas, Quadrature for the Highest
degree of accuracy.
Course Outcomes:
• Explain how to design and model different prototypes such as Cross lap joint, Dove tail
joint etc.
• Illustrate how to design and model various basic prototypes in the trade of fitting, such
as Straight fit, V-fit.
• Provides different ways to perform various basic house wiring techniques such as
connecting lamp with switch, in welding trade lap joint, Lap Tee Joint, Edge joint, Butt
joint etc.
Course Objective
The objective of the course is to provide hands –on exposure and training on different practices
required for handling Civil, Mechanical, Electrical and Electronic components which a
prospective technology student can encounter. The course aims to develop an understanding of
different workshop practices adopted in technology and engineering applications.
Module I: Civil Engineering practice
Practices in Plumbing: Preparation of sketches, pipeline to washbasin, washing machine, water
heater, water cooler;
Wood work- Sawing & Planing, Half-lap joit, Tee Lap Joint, Dovetail Halving Joint, Mortise
& Tandon Joint, Mitre Faced Bridle Joint;
Pipeline connections on the suction and delivery lines, joints in door panels & wooden
furniture;
Course Outcomes:
Statics:
Concurrent forces in a plane; parallel forces in a plane, general case of forces in a plane,
force systems in space, principle of virtual work.
Dynamics:
Rectilinear translation, curvilinear translation, rotation of a rigid body about a fixed axis,
plane motion of a rigid body, D’Alembert’s principle, relative motion.
Unit 2: Ecosystems
Concept of an ecosystem. Structure and function of an ecosystem. Producers, consumers and
decomposers. Energy flow in the ecosystem-Ecological succession-Food chains, food webs and
ecological pyramids. Introduction, types, characteristic features, structure and function of the
following ecosystems -Forest ecosystem, Grassland ecosystem, Desert ecosystem, Aquatic
ecosystems (ponds, streams, lakes, rivers, oceans, estuaries).
Biodiversity and its conservation
Introduction – Definition: genetic, species and ecosystem diversity.
Biogeographical classification of India Value of biodiversity: consumptive use, productive use,
social, ethical, aesthetic and option values, Biodiversity at global, National and local levels,
India as a mega-diversity nation Hot-sports of biodiversity.
Threats to biodiversity: habitat loss, poaching of wildlife, man-wildlife conflicts.
Endangered and endemic species of India .Conservation of biodiversity -In-situ and
Ex-situ conservation of biodiversity.
Books
Course Outcomes:
• Create expert knowledge about number system and computer arithmetic.
• Design different processors parallel, pipeline, super scalar etc.
• State the quantitative performance evaluation of computer systems.
OVERVIEW
Introduction
Organization and Architecture, Structure and Function.
Cache Memory
Computer Memory System Overview, Cache Memory Principles, Elements of Cache Design.
External Memory-
Magnetic Disk, RAID, Optical Memory, Magnetic Tape.
Input/Output
External Devices, I/O Modules, Programmed I/O, Interrupt-Driven I/O, Direct Memory
Access, I/O Channels and Processors. The External Interface: FireWire and Infiniband.
Computer Arithmetic
The Arithmetic and Logic Unit (ALU), Integer Representation, Integer Arithmetic, Floating-
Point Representation, Floating-Point Arithmetic.
Microprogrammed Control
Basic Concepts, Microinstruction Sequencing
16.3 Microinstruction Execution.
CASE STUDY
The Intel x86 Processor Architecture and Organization.
Assemblers
Overview of the assembly process, Machine dependent assembler features, Machine
independent assembler features, Design of two pass assembler, single pass assembler.
Macroprocessors
Macro definition and usage, Schematics for Macro expansion, Generation of unique labels,
Conditional macro expansion, Recursive macro expansion, Design of a Macro pre-processor,
Design of a Macro assembler.
Operating Systems
Basic Operating Systems functions, Types of Operating Systems.
User Interface
Run-time Environment, Operating Systems Design Options, Hierarchical Structures, Virtual
Machines, Multiprocessor Operating Systems.
Algebraic Structures
Definition and examples of groups. Permutation group and Cyclic group. Subgroups and
Cosets. Lagrange’s theorem on the order of a subgroup of a finite group. Normal subgroups.
Quotient groups.
Ring Theory : Definition and examples. Simple properties of Rings. Boolean ring. Integral
domain, Fields and their elementary properties.
Graph theory
Basic Definition of graph. Connectivity of graph, cut points cycles, Hamiltonian graphs, trees,
different characterization of trees, bipartite graph,
Algorithms on graph, Breadth first search, Depth first search
Combinatorics
Basic of counting principles, principle of inclusion-exclusion, application of inclusion and
exclusion. Pigeonhole principle, generalized Pigeonhole principle and its application,
permutations and combinations, permutations with repetitions, combinations with repetitions,
permutations of sets with indistinguishable objects.
Logic
Connectives, truth tables, Normal forms- CNF, DNF, Converting expressions to CNF and
DNF, Theory of inference, Propositional calculus. Boolean Algebra.
Introduction
Concepts of OOP
Objects, classes, constructors, destructors, memory allocation for objects, member functions,
friend functions.
Inheritance
Polymorphism
Compile time polymorphism, operator overloading, function overloading, static binding, run-
time polymorphism, virtual functions, pure virtual functions, abstract class, dynamic binding.
Templates.
Exception handling.
1. The Complete Reference to C++; Herbert Schild; Tata McGraw Hill Edition.
Definition of Database, Traditional File Approach vs. DBMS approach, Characteristics of the
Database approach, DBMS users, Role of a DBA, Advantage of using DBMS.
Data Models, Schemas and Instances; three schema architecture and data independence.
Database languages and Interfaces, Database system environment. Centralized and
Client/Server architecture for DBMS.
Entity types, Entity sets, Attributes, and Keys. Relationship types, Relationship sets, roles and
structural constraints. Weal entity types. ER diagrams- naming conventions and design issues.
Relationship types of degree higher than two.
Relational Model
Domains, attributes, tuples and relations, keys-different types. Relational Databases and
Relational Database schemas. Fundamental integrity rules: entity integrity, referential integrity.
Relational Algebra – Unary operators - Select and Project. Set Operators – union, intersection,
minus, cartesian product. Binary relational operators – join ( theta join, equi join, natural join,
outer join ) and division. Additional relational operations - generalized projections, aggregate
functions and grouping.
SQL (Structured Query Language): DDL, DML, SQL constructs(Select .. From… Where…
Group by ….. Having… Order by….), Insert, Delete, Update, View- definition and use, nested
queries, constraints (NOT NULL ,UNIQUE).
Database design theory and methodology
Conceptual model, logical model, physical model. Conversion of ER model into relational
schema.
Normalization: informal design guidelines for relational schemas(overview level), functional
dependencies, different types of keys. Normal forms (first, second, third, BCNF). Properties of
Relational decomposition, multivalued dependencies and Fourth normal forms, join
dependencies and fifth normal form.
Objectives
1. To help the students to acquire the concept of research methodology
2. To familarise the students with various methods of research.
3. To acquaint the students with the various tools and techniques of research.
4. To enable the students to understand the methods of collecting data organizing,
analyzing and reporting the research findings.
5. To enable the students to understand different statistical concepts.
6. To help the the students to apply statistics in research.
A) Research Methodology
Unit-1
Introduction: Methods of acquiring knowledge. The nature of science. Meaning and
Characteristics of research. Kinds of Research-Fundamental research, Applied research,
Action research.
Unit-2
Review related literature:Purpose of the review , Identification of the related
literature.Organising the related literature.
Unit-3
Methods of research:The historical method. The descriptive method.The experimental
method.
Unit-4
(a) Hypothesis: Meaning, importance,formulation,criteria of usable hypotheses,statement of
hypotheseses, testing of hypotheses.
(b) Sampling:Meaning,Methods of sampling.
Unit-5
Tools of research:Observation, Intervies,Socio metric techniques, inquiry
forms,psychologyal tests.
Unit-6
Research synopsis and its relationship with research report.
Unit-1
Statistics:Meaning,scope,nature.
Unit-2
(a) Measures of Central Tendency:Mean,meridian,mode.
(b)Measures of variability:Quartile Deviation, Standard Deviation.
Unit-3
(a) Parametric Test and non parametric test-Chi Square-t test.
(b) Analysis of Variance(one way and two way award)
Unit 4
Computer applications and its uses in research.
Recommended Books
Analysis of Algorithms
Concepts in algorithm analysis, time and space complexity, review of asymptotic notations
used for time complexity. Standard notations and common functions-monotonicity, floors and
ceilings, polynomials, exponentials, logarithms, factorials, iterated logarithmic functions,
Fibonacci numbers. Asymptotic behaviors of polynomials, relative asymptotic growth,
ordering by asymptotic growth rates. Recurrences - substitution method, iteration method
(using recursion tree), using Master theorem (proof of the theorem is not included). Amortized
analysis.
Graph Algorithms
Representation of graphs, depth-first search and breadth-first search, topological sort.
Minimum spanning tree – Kruskal and Prim’s algorithm, Single source shortest path problem
and algorithm due to Dijkstra.
Theory of NP-Completeness
Formal language framework, complexity classes – P, NP. co-NP Reducibility and NP-
Complete, NP-Hard.
System Calls
System Calls for Process Management, System Calls for file Management, System Calls for
Directory Management. Miscellaneous System Calls.
Processes
The Process Model, Process Creation, Process Termination, Process Hierarchies, Process
States, Implementation of Processes,
Threads
The Thread Model, Thread Usage, Implementing Threads in User Space, Implementing
Threads in the kernel, Hybrid Implementations, Scheduler Activations, Pop-Up
Threads,Making Single-Threaded Code Multithreaded.
Interprocess Communication
Race Conditions, Critical Regions, Mutual Exclusion with Busy Waiting , Sleep and Wakeup,
Semaphores, Mutexes, Monitors, Message Passing, Barriers.
Scheduling
Introduction to Scheduling, Scheduling in Batch Systems, Scheduling in Interactive Systems,
Scheduling in Real-Time Systems, Policy Versus Mechanism, Thread Scheduling, Research on
Processes and Threads, Summary.
Deadlocks
Preemptable and Nonpreemptable Resources, Resource Acquisition
Conditions for Deadlock, Deadlock Modeling,
Deadlock Detection and Recovery
Deadlock Detection with one Resource of Each Type, Deadlock Detection with Multiple
Resource of Each Type, Recovery from Deadlock
Deadlock Avoidance
Resource Trajectories, Safe and Unsafe States, The Banker's Alogrithm for a Single Resource,
The Banker's Alogrithm for Multiple Resources.
Deadlock prevention
Attacking the Mutual Exclusion Condition, Attacking the Hold and Wait Condition, Attacking
the No Preemption Condition, Attacking the Circular Wait Conditions
Two-Phase Locking,Nonresource Deadlocks, Starvation
Memory Management
Monoprogramming without Swapping or Paging, Monoprogramming with Fixed Partitions,
Modeling Multiprogramming, Analysis of Multiprogramming System performance, Relocation
and Protection.
Swapping
Memory Management with Bitmaps, Memory Management with Linked Lists.
Virtual Memory
Paging , Page Tables, TLBs-Translation Lookaside Buffers, Inverted Page Tables.
Page Replacement Algorithms
The Optimal Page Replacement Algorithms, The Not Recently Used Page Replacement
Algorithm, The The First-In, First-Out, The Second Chance Page Replacement Algorithm, The
Clock Page Replacement Algorithm, The Least Recently Used, Simulating LRU in Software,
The Working Set page Replacement Algorithm,The Clock Page Replacement Algorithm
Summary of Page Replacement Algorithms.
Input/Output
I/O Devices, Memory mapped I/O, I/O mapped I/O, program controlled I/O, interrupt driven
I/O, DMA.
I/O subsystem layers: -Interrupt handlers, device drivers, device independent I/O software and
user space I/O software.
Disks hardware. Peculiarities of flash based mass storage devices.
File Systems
Files: - naming, structure, file types, access, file attribute, file operations.
Directories: - Path names, absolute and relative path names. Directory operations.
File system Implementation: - file system layout, implementing files, implementing
directiories, shared files, disk space management, file system reliability, file system
performance, log-structured file system.
Example file systems:: - UNIX file system, MSDOS file system, CD-ROM file system,
Windows 98 file systems.
1. Operating System Concepts; Silberschats, Galvin and Gagne; John Willy and Sons.
UNIT I:
Problem domain, SE challenges, SE approach. Software process, Characteristics of SW
process, SW development process model, Other Software processes.
UNIT II:
SW requirement, problem analysis, requirement specification, functional specification,
validation, matrices.
UNIT III:
Role of SW architecture, architecture view, component and connector view, style for C&C
view. Process planning, Effort estimation, Software Cost Estimation based on COCOMO II
cost model, Scheduling and staffing, SW configuration management plan, quality plan, risk
management, project monitoring plan.
UNIT IV:
Design principle, module level concept, design notation and specification, structured design
methodology, verification, Metrics. OO Analysis and OO Design. OO Design concept, UML,
OO Design methodology.
UNIT V:
Detail design and PDL, Verification, Metrics. Programming principles and guidelines, Coding
process, refactoring, verification, Metrics. Testing fundamentals, Balck box and white box
testing, Fundamental of testing process.
Introduction
Need of Data Communication study; what is DC; components; networks; protocols and standards;
standard organizations.
Basic Concepts
Signals
Analog and digital; periodic and aperiodic; Simple analog signals; Time and frequency domains;
Composite signals; decomposition of a digital signal.
Digital data transmission; DTE-DCE Interface; EIA-449; EIA 530; X.21; Modems; 56 K Modem; Cable
Modem.
Transmission Media
Multiplexing
Many to one; One to many; FDM; WDT; TDM; Telephone system; DSL; FTTC.
Asynchronous and synchronous protocols; character oriented and bit oriented protocols; Link access
procedures.
Project 802; Ethernet; switched/fast/gigabit Ethernets; token bus; token ring; FDDI; comparison.
802.6; SMDS.
Switching
Point-to-Point Protocols
X.25
X.25 layers
Frame Relay
Advantage, disadvantage and roles; operation; layers congestion control; leaky bucket algorithm; traffic
control.
ATM
Design goals and architecture; switching; switching fabrics; layers; services; applications.
SONET/SDH
Synchronous transport signals; physical configuration; layers; frame; ATM convergence to SONET;
applications.
1. Data Communication and Networking by B. A. Forouzan; Tata McGraw Hill, 2nd Edition
ENGINEERING STATISTICS
Elements of Probability
Probability, Conditional Probability, Bayes' Theorem , Random Variables and Random
Numbers
Discrete Distributions
Hypergeometric Distribution, Binomial Distribution, Poisson Distributions, Multinomial
Distribution.
Probabilities Distributions
Mean and Variance of Discrete and Continuous Random Variables, Chebychev's Inequality,
the Moments Generating Function. The Normal Distribution, Approximation of the Binomial
Distribution by the normal Distribution.
Estimation Theory
Point Estimation, Internal Estimation, Point Estimation of mean and variance, Internal
Estimations of the Variance of a Normal Population. The method of maximum Likelihood
Test of hypotheses
Tests concerning mean of a Normal Distribution (known and unknown variance), Tests
2
concerning difference of means, Tests concerning variances and ratio of variances, the χ test
.
Regression Analysis
The method of least squares, Linear regression ( simple and multiple), Analysis of variance
for linear regression models.
RANDOM PROCESS
Queuing Models
General Characteristics, Markonian Queuing Models, The M/M/1 Model, Multiple Services,
Non - Markonian Queues .
Finite Automata
DFA, NFA, NFA with ε-moves. Equivalence of DFA and NFA. Reduction of the number of
states in a finite automata.
Pushdown Automata
Definition and language accepted (acceptance by empty stack and final state and their
equivalence). Pushdown Automata and Context free languages. Deterministic PDA and
Deterministic Context free Languages.
Undecidability
A language that is not recursively enumerable. Recursive languages and the Universal
language. Undecidability and undecidable problems about TM. Examples of undecidable
problems.
Suggested Text Book
UNIT I: Introduction to Computer Network and Internet: What is Internet; The Network edge;
Review of circuit switching, packet switching; Access networks; ISPs and Internet Backbone;
Queuing delay and packet loss; delay and routes in the internet; Review of the concept of layer,
message, segment, datagram and frame; A literal study on the history of computer networking
and the internet.
Introduction
What is an embedded system? Why is it special? What types of processor are used? What are
the other peculiarities?
8 bit processors 8085, 8051 and PIC 18FXX: - Architecture and instruction set. (already
covered in microprocessor) 16 bit: - 8086 32 bit : - 80386 architecture and instruction set,
ARM based processor architecture and instruction set.
Concurrency control
Foreground/Background systems, Thread state and serialization, latency, prevention of
interrupt overruns. Concurrent execution of threads, context switch, non-preemptive
multitasking, preemptive multitasking. Critical sections:- disableing interrupts, disabling ask
switch, spin lock, mutex and semaphore.
Memory Management
Static allocation, dynamic allocation. Recursion and dynamic allocation. shared memory,
reentrant functions.
1. Embedded Systems, Architecture, Programming and Design; Raj Kamal; Tata McGraw
Hill.
2.
Suggested Reference Books
CS411Artificial Intelligence
(3-1-0-4 contact hours 4)
Course Outcomes:
• Describe to the students about classical and core concepts of making machines
intelligent.
• Explain about the concepts of logical and analytical backtracking of human thinking
process.
• Illustrate about Machine learning, Natural Language Processing, Vision, Expert System
etc.
• Provide information about currents trends and techniques of AI in industry.
Unit 1
Historical foundation of AI. AI application areas. AI problem, Underlying assumptions, AI
techniques, Level of models, success criteria. Problem as a state space search, Production
Systems, Problem characteristics, PS characteristics, Design issues of search programs.
Unit 2
Heuristic Search Techniques : Generate and test, Hill Climbing, Best-First Search, Problem
reduction.
Unit 3
Knowledge representation and Mapping, Approaches, Issues. Predicate logic. Representing
simple facts in logic, Instance and isa relationship, Computable function and predicity,
Resolution, Natural Deduction.
Unit 4
Knowledge representation using rules, Procedural vs declarative, logic programmes, Forward
vs backward recovery, matching. Nonmonotonic reasoning and logic. Implementation: Depth
first abd breath first search.
Unit 5
Introduction to statistical reasoning. Probability and bays theorem, Fuzzy logic concept.
Concept of weak slot and filter, and strong slot and filter structure.
Unit 6
Fundamental of Natural Language Processing : Syntactic processing, semantic analysis.
Unit 7
Concept of Expert Systems : Representation using domain knowledge, Expert System shell,
knowledge acquisition.
1. Artificial Intelligence: Structures and Strategies for Complex Problem solving: George
Luger, Pearson Education.
2. Principles of Artificial Intelligence: Nils J Nisson: Narosa
Introduction
Computer graphics and its applications; Input devices; Output devices- display devices;
Display techniques- Raster-scan display and Random-scan display; color display techniques;
Direct view storage tubes; emissive & non-emissive flat-panel displays-Plasma panels,
Thin-film electrostatic displays, LED, LCD; Three-dimensional viewing devices; display
systems architecture.
Graphics software
Classifications, graphics functions for various operations, software standards- PHIGS,
PHIGS+, GKS.
Output primitives
Line-drawing algorithms- DDA algorithm and Bresenham’s algorithm; Midpoint algorithms
for circle & ellipse generation; area-filling algorithms-scan-line polygon-fill, nonzero-
winding number rule; scan-line curve filling, boundary-fill algorithm, flood-fill algorithm;
Character generation techniques- generation of bitmap and outlined font.
2-D geometric transformations
Basic transformations- translation, rotation and scaling; matrix representations and
Homogeneous co-ordinate representations; Composite transformations among translation,
rotation and scaling; General pivot-point rotation; General fixed-point scaling; General
scaling directions; Other transformations- reflection and shear; Transformation between co-
ordinate systems; Definition of Affine transformations.
2-D viewing
Definition; viewing transformation pipeline; window-to-viewport co-ordinate
transformation.
2-D Clipping operation
Definition; point clipping; line clipping algorithms; polygon clipping algorithms; curve
clipping, text clipping.
3-D concepts
Display methods- Parallel projection, perspective projection, depth visible line & surface
identification, surface rendering, exploded & cutaway views, 3-D & stereoscopic views.
3-D geometric transformations
Translation; Rotation- rotations about co-ordinate axes, general 3-D rotation; Scaling;
Reflection; Shear.
3-D viewing
Viewing transformation pipeline; world co-ordinate to viewing co-ordinate transformation.
Projection
Parallel projection techniques- orthographic & oblique projections and their transformation
equations; Perspective projection and transformation equations.
Visible surface detection
Definition; classification of algorithms- object-space methods & Image-space methods;
algorithms for visible surface detection; curved-surface detection; wireframe displays.
Illumination and Surface rendering
Definition and importance; light sources; Definition of basic illumination models.
Color models and applications
Color models- RGB, CMY; conversion between color models.
Multimedia Systems
Review of typical interactive multimedia systems; Aspects of multimedia systems;
Multimedia design techniques, Multimedia technology; Network-based multimedia systems.
Computer Animation
Traditional animation techniques, 2D animation, 3D animation.
Introduction
Compiler defination. Compiler phases. Overview of working of a compiler and division of
work among the different phases.
Lexical Analysis
Role of lexical analyser. Tokens and lexemes. NFA, DFA, conversion from NFA to DFA.
Regular expression. Regular expression to NFA conversion. Minimisation of DFA. Writing a
lexical analyser for C using Lex.
Syntax analysis
Grammar, writing a Grammer, representation of gramer. Derivation and parse tree. Ambiguity
and possible elimination. Top down parsing. Recursive descent and predictive top down
parsing. Elimination of Left recursion. Bottom up parsing. Operator precedence parsing, LR
parsing (including SLR and LALR). Error detection and recovery. Parser table construction.
Writting a parser for a subset of C using yacc.
Code generation
Symbol table contents, implementation. Syntax directed translation. Forms of intermediate
codes. Abstract Syntax Trees, Directed Acyclic Graph, Three address code. Intermediate code
generation for different language constructs like arrays, boolean expressions, if, if-else, while,
case or switch, procedure calls. Backpatching. Writing a intermediate code generator and an
interpreter for the intermediate code for the parser developed in 3 above. Target code
generation issues. Target code generation algorithm. Register allocation.
Type Checking
Type systems. Type checker specification. Type expression equivalence. , type conversion,
overloading functions and operators, polymorphic functions.
Storage management
Symbol table organisation.Run time environment. Activation record. Runtime storage
allocation. Dynamic storage allocation.
Code Optimisation
Principle sources of optimization. DAG, basic blocks, Common sub-expression elimination,
variable propogation, code motion, strength reduction, elimination of dead code, loop
optimisation. Data flow analysis. Data flow algorithms. Iterative solution of data flow
equations.