You are on page 1of 37

SYLLABUS FOR B.

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 code Structure

XXABC means: XX for Department/Nature of the course


Digit A for year
Digit B for semester (1 for odd semester and 2 for even semester)
Digit C for serial number of the course
CS111 Computer Fundamentals and Programming -I
(3-0-1-4, contact hours - 5)

Course Outcomes:

• Illustrate the concepts of fundamentals of computer, arithmetic logic gates, languages,


operating system, algorithm and flowcharts.
• Describe the concepts of arithmetic operators, relational and logical operators, type
conversion, formatted input and output.
• Provide knowledge upon control flow and program structure, concept of arrays,
structure and union.

Computer Fundamentals -I

Major components of a Digital Computer (A brief introduction of CPU, Main memory,


Secondary memory devices and I/O devices) Keyboard, monitor, mouse, printers, Secondary
storage devices (floppy disks, hard disks and optical disks), backup system and why it is
needed? Bootstrapping a Computer. Representation of numbers (only a brief introduction to be
given) and characters in computer. ASCII. EDCDIC and Gray codes. Definition and concepts
of algorithm and its different implementations-pseudo code, flowchart and Computer
programs. Machine language, Assembly language and HLL programs. Interpreter, Assembler,
Linker and Loader.
Evolution of computer system, Modern computer, Classification of computers.

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.

Programming language C/C++ to be used for writing programs.

Suggested Text book

1. Computing Fundamentals and C programming; E. Balaguruswamy; Tata McGraw Hill.

Suggested Reference books

1. Programming with C, B.S. Gottfried, Tata Mc-Graw Hill.


2. The C Programming Language, B.W. Kernighan and D.M.Ritchie, PHI
3. Fundamentals of Computers. V. Rajaraman,
CS121 Computer Fundamentals and Programming - II
(3-0-1-4, contact hours - 5)

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

Personal Computer hardware technology and working


Monitor, Keyboard, Mouse, Scanner, printer, speaker

Hard Disk Drive


Logical structure and file system, FAT, NTFS. Hard disk tools: Disk cleanup, error checking,
defragmentation, scanning for virus, formatting, installing additional HDD. New trends in
HDD. Floppy Disk Drive

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.

PRACTICAL WORK SHOP


Objectives
The workshop introduces the students to a personal computer and its basic peripherals, the
process of assembling a personal computer, installation of system software like Windows OS,
LINUX OS , device drivers. Basic system administration in Linux which includes: Basic
Linux commands in bash, Create hard and symbolic links, Text processing, Using wildcards In
addition hardware and software level troubleshooting process, tips and tricks would be
covered.

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 7: Software Troubleshooting: Students have to be given a malfunctioning CPU due to


system software problems. 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

Arrays and pointers


Storage classes: Automatic, External, Static, Register. Scope and lifetime of variables. Arrays
and pointers and corresponding operators. Pointer arithmetic.

Structures and Files


Structure – declaration and use. Structure member resolution and structure pointer member
resolution operators.
Programs to show the use of structure.
Standard library.
Files—opening, closing, reading and writing of files. Seeking forward and backward.
Examples of file handling programs.
Suggested Text Books:

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.

Suggested Reference Books:

1. Programming with C, B.S. Gottfried, Tata Mc-Graw Hill.


2. The C Programming Language, B.W. Kernighan and D.M.Ritchie, PHI

CS211 Data and File Structure


(3-0-1-4, contact hours – 5)

Course Outcomes:

• Acquire knowledge about internal data structures of computer.


• A clear idea develops which data structure is suitable for a particular application.
• Generate knowledge and can implement projects which includes different interfaces
and used different software.

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

Stacks and Queues


Definitions, representation using array and linked list structure, application of stack and queues
in simulation, postfix conversion and evolution of arithmetic expressions

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.

Suggested Text Book


1. Fundamentals of Data Structure , Horowitz and Sahani, Galgotia Publications.

Suggested Reference Books

1. Data Structure and Algorithms, Aho, Hopcroft, Ullman, Addison Wesley.


2. Data Structure and Program Design , Robert L Kruse, PHI
3. Data Structure using C and C++, Langsam, Augentein & Tanenbaum, P.H.I

CS212 Computational Mathematics


(2-0-1-3, contact hours - 4)

Course Outcomes:

• Enumerate nonlinear equations using various numerical methods.


• Describe the way to determine Eigen values and eigenvectors for very large matrices
using variety of methods.
• Tell how to solve large systems of linear equations using Gaussian Elimination,
factorization methods and their implementation computer.

Representation of numbers
Floating point representation, single and double precision, round off errors and truncation
errors.

Systems of linear equations


The Kronecker - Capelli theorem, The Gaussian Elimination Algorithm, Determinant
evaluation by the Gaussian Elimination Algorithm, Cholesky's algorithm. The method of
Successive Approximation, Seidel's Algorithm.

Solution of non-linear equation


Algebraic and transcendental equations, Root Separation. The Secant method. The Tangent
method, combination of the Secant and the Tangent methods. The method of Iteration.
Eigen values and Eigen vectors
The characteristic polynomial, Krylov's method of expansion of the characteristic determinant
for calculation of Eigen vectors, the Leverrier Faadeev algorithm, Danilevsky's algorithm,
Iterative method for eigen values and eigen vectors.

Interpolation and Extrapolation


Approximation Theory , polynomial Interpolation, Newton’s polynomials Lagrange's
Polynomial, Aitken's Iterated Interpolation, Trigonometric Interpolation .

Numerical Integration
Basic Quadrature Formulas, Newton Cotes Quadrature Formulas, Quadrature for the Highest
degree of accuracy.

Ordinary and Partial Differential Equations


Picard's solution, Power Series solutions, Euler’s method, Modified Euler's methods. TheR-K
algorithms. Adam's Extrapolation algorithm, Milnes' algorithm.
Second order equations, Boundary value problems, The finite element method, difference
scheme.

Suggested Text Book

1. Computational Mathematics, N. Danilina, N. Dubrovskaya, O. Krasha, and G. Smirnov.

Suggested Reference Books

1. Numerical methods for Scientific and Engineering Computation, M.K.Jain,


S.R.K.Iyenger, R.K.Jain,, Wiley Eastern.
2. An introduction to Numerical Analysis, K.E. Atkinson, J.Willey and Sons.
3. Computer Oriented Numerical Methods, V. Rajaraman, PHI.

GE211 Workshop Practice


( 0-0-1-1, contact hours- 2 )

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;

Module II: Mechanical Engineering practice


Practices in Welding- Square butt joint, Lap joint, tee fillet joint, single & double vee joint, Gas
welding practice;
Practices in Machining- Turning, facing & chamfering, step turning & grooving, taper turning,
knurling & drilling,
Practices in fitting- Square, Tee, Vee, Radius, Dovetail, Stepped Fitting;
Practices in metal work- Square tray, rectangular tray, dust pan, frustum of a cone-funnel;

Module III: Electrical Engineering practice


Best practices; tools commonly used; service meter wiring;
Wiring- Staircase, Tube light, lamp & fan; Calibration of ammeter & voltmeter; measurement
of power using wattmeter;

Module IV: Electronics Engineering practice


Best practices; tools commonly used; Study of electronic components & equipments,
familiarization with components like resistance, capacitors, inductors, diode, BJT, JFET;
Assembly of components on a PCB, soldering, de-soldering, continuity check using
multimeter;

Suggested Text Books


1. Engineering Practices Lab Manual- Jeyapoovam, Saravanapandian, Vikash Publishing;
2. Electronics Lab Primer- K.K. Sarma, Global Publishing;

GE 213 Engineering Mechanics


(2-0-0-2, contact hours – 2)

Course Outcomes:

• Describe about the components about a force in rectangular or nonrectangular


coordinates.
• Illustrate systems that include frictional forces.
• Describe the internal reactions in a beam, draw and write equations for shear force and
bending moment diagrams.

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.

Suggested Text Book:

1. Engineering Mechanics; Timoshenko, Young, Rao; McGraw Hill

Suggested Reference Books:

1. A text-book of engineering mechanics; Dr. R K Bansal; Laxmi Publications


2. Engineering mechanics; K L Kumar; Tata-McGraw Hill

HS211 Environmental Science


(2-0-0-2, contact hours – 2)
Course Outcomes:
• Explain some of the basic knowledge of environment and environmental issues.
• Create awareness among students towards the environment.
• Produce knowledge for decision making while taking any development project taking
into account of various environmental issues.

Unit 1: Natural Resources.


Multidisciplinary nature of environmental studies. Definition, scope and importance, need for
public awareness. Renewable and non-renewable resources -Natural resources and associated
problems. Forest resources: Use and over-exploitation, deforestation, case studies. Timber
extraction, mining, dams and their effects on forest and tribal people. Water resources: Use
and over-utilization of surface and ground water, floods, drought, conflicts over water, dams-
benefits and problems. Mineral resources: Use and exploitation, environmental effects of
extracting and using mineral resources, case studies. Food resources: World food problems,
changes caused by agriculture and over-grazing, effects of modern agriculture, fertilizer-
pesticide problems, water logging, salinity, case studies. Energy resources: Growing energy
needs, renewable and non renewable energy sources, use of alternate energy sources. Case
studies. Land resources: Land as a resource, land degradation, man induced landslides, soil
erosion and desertification.

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.

Unit 3 : Environmental Pollution


Definition - Cause, effects and control measures of Air pollution ,Water pollution , Soil
pollution ,Marine pollution ,Noise pollution ,Thermal pollution ,Nuclear hazards
Solid waste Management: Causes, effects and control measures of urban and
industrial wastes.Role of an individual in prevention of pollution. Pollution case studies.
Diaster management : Principles of Disaster Management, Natural Disasters, Hazards, Risks
and Vulnerabilities. Preparedness and Mitigation measures for various Disasters
floods, earthquake, cyclone and landslides. School Awareness & Safety Programme. Post
Disaster Relief & Logistics Management-Emergency Support Functions and their coordination
mechanism.

Unit 4: Social Issues and the Environment


From Unsustainable to Sustainable development Role of an individual in conservation of
natural resources. Equitable use of resources for sustainable lifestyles. Urban problems related
to energy, Water conservation, rain water harvesting, watershed management
Resettlement and rehabilitation of people; its problems and concerns. Case
Studies, Environmental ethics : Issues and possible solutions. Climate change, global
warming, acid rain, ozone layer depletion, nuclear accidents and holocaust. Case Studies.
Wasteland reclamation. Consumerism and waste products. Environment Protection Act.
Air (Prevention and Control of Pollution) Act. Water (Prevention and control of Pollution) Act,
Wildlife Protection Act, Forest Conservation Act, Issues involved in enforcement of
environmental legislation. Public awareness.

Unit 5 : Human Population and the Environment


Population growth, variation among nations. Population explosion – Family Welfare
Programme. Environment and human health. Human Rights. Value Education. HIV/AIDS.
Women and Child Welfare. Role of Information Technology in Environment and human
health. Case Studies.

Unit 6: Field Work


Visit to a local area to document environmental assets-river/forest/ grassland/ hill/mountain.
Visit to a local polluted site-Urban/Rural/Industrial/Agricultural-study of common plants,
insects, birds-Study of simple ecosystems-ponds, river, hill, slopes.

Books

1. Fundamentals of soil science - Forth H.D. (1984)-John Wiley


2. Environmental Science - Turk J & Turk A (1984)-Saunders
3. Environmental Science - Eugen -E.D. (1983)-W.C.Brown Co.
4. Man and changing environment- R.G.Franke, D.N. Franks Publ: Holt, Rinehart &
Winston.
5. Environmental Chemistry, De A.K. Wiley Eastern Ltd.
6. Environmental Engineering and Management-S.K.Dhameja, S.K.Kataria & Sons.
7. Environmental Chemistry-B.K Sharma-Goyal Publishing house.
8. Encyclopaedia of Disaster Management-Goel, S. L. Deep & Deep Publications Pvt
Ltd.
9. Disaster Management-G.K. Ghosh
A.P.H. Publishing Corporation

CS 221 Computer Organization and Architecture - 1


(3-1-0-4, contact hours - 4)

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.

Computer Evolution and Performance


A Brief History of Computers, Designing for Performance, Performance Assessment.

THE COMPUTER SYSTEM

A Top-Level View of Computer Function and Interconnection


Computer Components, Computer Function, Interconnection Structures, Bus Interconnection,
PCI.

Cache Memory
Computer Memory System Overview, Cache Memory Principles, Elements of Cache Design.

Internal Memory Technology


Semiconductor Main Memory, Error Correction, Advanced DRAM Organization.

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.

Operating System Support


Operating System Overview, Scheduling, Memory Management.
THE CENTRAL PROCESSING UNIT

Computer Arithmetic
The Arithmetic and Logic Unit (ALU), Integer Representation, Integer Arithmetic, Floating-
Point Representation, Floating-Point Arithmetic.

Instruction Sets: Characteristics and Functions-


Machine Instruction Characteristics, Types of Operands, Types of Operations.

Instruction Sets: Addressing Modes and Formats


Addressing, Instruction Formats, Assembly Language.

Processor Structure and Function


Processor Organization, Register Organization, the Instruction Cycle, Instruction Pipelining.
Reduced Instruction Set Computers (RISCs)
Instruction Execution Characteristics, The Use of a Large Register File, Compiler-Based
Register Optimization, Reduced Instruction Set Architecture, The RISC versus CISC.

THE CONTROL UNIT

Control Unit Operation


Micro-operations, Control of the Processor, Hardwired Implementation.

Microprogrammed Control
Basic Concepts, Microinstruction Sequencing
16.3 Microinstruction Execution.

CASE STUDY
The Intel x86 Processor Architecture and Organization.

Suggested Text Book


1. Computer Organization and Architecture: Designing for Performance; William
Stallings; Eighth Edition, PHI.

Suggested Reference Books


1. Computer Organization; ISRD Group; McGraw Hill.
2. Structured computer organization; Andrew S. Tanenbaum, James R. Goodman;
Prentice Hall.
3. Computer system architecture; M. Morris Mano; Prentice Hall.
4. Computer organization; V. Carl Hamacher, Zvonko G. Vranesic, Safwat G. Zaky;
McGraw-Hill.
CS 222 System Programming
(3-0-1-4, contact hours - 5)
Course Outcomes:
• Describe program, process ( static, dynamic)process control, address space, context
switching.
• Devise the students as masters in using c/c++, file i/o, threads execution.
• Illustrate different approaches of concurrent programming, remote execution techniques

Assemblers
Overview of the assembly process, Machine dependent assembler features, Machine
independent assembler features, Design of two pass assembler, single pass assembler.

Loaders and linkers


Loader functions, program relocatability, absolute and bootstrap loader.
Overview of linkage editing, linking loader, Dynamic linking, Design of the linkage editor.

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.

LINUX & UNIX Shell Programming


Introduction- the Bourne Shell, basic shell programming. The shell- file security &
permissions, running commands, shell I/O, text filtering, variables, iteration & control
statements, tests, merge & divide, shell functions, passing parameters to scripts, shell built-in
commands. Shell Programming examples.

Suggested Text Books


1. Systems Programming; John J. Donovan; McGraw Hill.
2. LINUX and UNIX Shell Programming; David Tansley; Addison-Wesley.

Suggested Reference Books


3. System Software - An Introduction to System Programming; Leland L.Beck;
Addison Wesely.
4. System Programming and Operating Systems; D. M. Dhamdhere; 2nd Ed., Tata
Mcgraw Hill.
CS 223 Discrete Mathematics
(3-1-0-4, contact hours - 4)
Course Outcomes:
• Explain the approach of mathematical induction as demonstrated by the lecturer to
prove mathematical statements.
• Differentiate and select either the direct method or the contradiction method in order to
prove a mathematical statement effectively.
• Discriminate between a Eulerian graph from a Hamiltonian graph for use in solving
mathematical problems

Sets, relations and functions


Sets, relations, properties of binary relations, closures of relation, equivalence relations,
equivalence classes and partitions. Partial ordering relations and lattices. Functions, one-to-one
and onto, principles of mathematical induction.

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.

Suggested Text Book:

1. Elements of Discrete Mathematics; C. L. Liu; Mc-Graw Hill International Ed.


2. Discrete Mathematics structures with applications to Computer Science; J. P. Tremblay
and R. Manohar; Mc-Graw Hill

Suggested Reference Books

1. Discrete Mathematics and its Applications; K. H. Rosen; Mc-Graw Hill International


Ed.
2. Discrete Mathematics; N. Ch.SN Iyengar, K.A. Venkatesh, V. M. Chandrasekaran, P.
S. Arunachalam; Vikash Publishing House Pvt Ltd.

CS224 Object Oriented Programming


(3-0-1-4 contact hours - 5)
Course Outcomes:
• Describe abstract data types, design and implementation.
• Create knowledge to simulate the problem, in operating system, computer networks and
real world problems.
• Explains principles of object oriented language, data encapsulation, inheritance,
polymorphism

Introduction

What is OOP, benefits of OOP and methods.

Concepts of OOP

Objects, classes, constructors, destructors, memory allocation for objects, member functions,
friend functions.

Inheritance

Single and multiple inheritance, virtual base class.

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.

Suggested Text Book

1. The Complete Reference to C++; Herbert Schild; Tata McGraw Hill Edition.

Suggested Reference Books

1. The C++ Programming Language; Bjarne Stroustrup; Addison Wesley.


2. Practical C++ programming; Steve Qualline; O’Reilly.
3. Object Oriented Programming using C++; R. Lafore; Galgotia Publications.
CS225 Database Management System
(3-0-1-4, contact hours – 5)
Course Outcomes:
• Elaborate the role of a Database Management System in an organization.
• Arrange DB requirements and determine the entities and their relationships to one
another.
• Analyze an information storage problem and derive an information model expressed in
the form Entity Relation diagram and other optional analysis forms.

Overview of Database Management System

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.

Data Modeling using the Entity-Relationship (ER) model

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.

Overview of advanced DBMS topics


(only a general idea at the surface level)

Data Storage: Disk storage, basic file structures and hashing.


Indexing structures for files.
Query processing: Query processing stages and what is done in each stages, use of query
execution plans in improving application performance.
Concept of transaction and transaction processing: ACID properties of database concurrency
and database recovery.
Introduction to distributed database, client/server database, object oriented database. Database
security.

Suggested Text Book


1. Fundamentals of Database Systems; Elmasri & Navathe; Pearson Education.

Suggested Reference Books

1. An introduction to Database Systems; C.J. Date; Pearson Education.


2. An Introduction to Database Systems; Bipin C. Desai; Galgotia.

HS221 Research Methodology


(2-0-0-2, contact hours – 2)
Course Outcomes:
• Provide knowledge to acquire the concept of research methodology and familiarize the
students with various methods of research.
• Explain various tools and techniques of research and enabling the students to
understand the methods of collecting data organizing
• Generate knowledge to apply statistics in research

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.

B) Statistical applications in research.

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

1. Best John, Research in Education,New Delhi,Pentice Hall India.


2. Kaul Lokesh, Methodology of Educational research, New Delhi,Vikash Publishing
House.
3. Garrett H.E, Statistics in psychology education Bombayvalues.
4. Guilfood J P-Fundamental statistics in psychology and education John Wiley.

CS 311 ALGORITHMS AND COMPLEXITY THEORY


(3-1-0-4, contact hours - 4)
Course Outcomes:
• Providing skills to deal with real time problems in designing new algorithms for the
same
• Comparing and measuring efficiency and complexity of algorithms
• Explaining the analysis and visualization of problem solving approach with respect to
computation

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.

Advanced Algorithm Design and Analysis Techniques


Algorithm design techniques – Divide and Conquer, Dynamic programming, Greedy
Algorithm, Back-tracking, Branch and Bound. Illustration of design techniques by application
to some specific problems such as: sorting and searching, matrix manipulation problems,
knapsack problem, internal and external sorting, problem job sequencing problem, set
manipulation problem.

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.

Lower Bound Theory.

Recommended Text Book

1. Introduction to Algorithms; T. H. Cormen, C. E. Leiserson and R. L. Rivest; Tata-


Mcgraw Hill Publishers.

Recommended Reference Books

1. Design and Analysis of Computer Algorithms; Aho, J. E. Hopcroft and J. D. Ullman;


Addison-Wesley.
2. Fundamentals of Computer Algorithms, Horowitz and Sahani,, Galgotia.
3. Computer Algorithms-Introduction to Design and Analysis, S. Baase and Allen Van
Gelder, , Pearson Education, LPE.

CS 312 OPERATING SYSTEMS


(3-0-1-4, contact hours – 4)
Course Outcomes:
• Describe the knowledge of process control, threads, concurrency, memory, scheduling.
• Explain the design issues associated with operating system.
• Construct knowledge about protection and security of different operating system like
Unix.
INTRODUCTION

History of Operating Systems


The First Generation, The Second Generation, The Third Generation, The Fourth Generation
Mainframe Operating Systems, Server Operating Systems Multiprocessor Operating Systems,
Personal Computer Operating Systems, Real-Time Operating Systems, Embedded Operating
Systems, Smart Card Operating Systems.

Computer Hardware Review


Processors, Memory, I/O Devices Buses.

Operating System concepts

Processes, Deadlocks, Memory Management, Input/Output Files, Security, The Shell,

System Calls
System Calls for Process Management, System Calls for file Management, System Calls for
Directory Management. Miscellaneous System Calls.

Operating System Structure


Monolithic Systems, Layered Systems, Virtual Machines, Exokernels, Client-Server Model

Research on operating Systems.

PROCESSES AND THREADS

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.

Classical IPC Problems


The Dining Philosophers Problem,The Readers and Writers Problem, The Sleeping Barber
Problem.

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.

Suggested Text Book

1. Modern Operating Systems; Andrew S. Tanenbaum; Pearson Education.


Suggested Reference Books

1. Operating System Concepts; Silberschats, Galvin and Gagne; John Willy and Sons.

CS313 Software Engineering


(3-1-0-4 contact hours 4)
Course Outcomes:
• Demonstrate the ability to apply knowledge of mathematics, science and engineering.
• Design a component, system or process to meet desired needs within realistic
constraints.
• Organize the techniques, skills and modern engineering tools necessary for engineering
practice.

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.

Suggested Text Book

1. An integrated Approach to Software Engineering: Pankaj Jalote: Narosa Publishing


House

Suggested Reference Books

1. Software Engineering: Ron Patton: Pearson Education.


2. Software Engineering: K K Agarwal, Yogesh Singh: New Age International Publisher.
3. Software Engineering: Ian Sommerville: Pearson Education (Addison Wesley)
4. Software Engineering: A practitioner’s Approach: Roger S. Pressman: McGraw Hill.

CS314 Data Communication


(3-1-0-4 contact hours - 4)
Course Outcomes:
• Describe various important hardware devices used in networking
• Describe the tasks associated with network management.
• Describe about Wired and Wireless configurations and deployments.

Introduction

Need of Data Communication study; what is DC; components; networks; protocols and standards;
standard organizations.

Basic Concepts

Line configurations: PoP, Multipoint; Topologies; Transmission modes; Network categories;


Internetworks.

The OSI Model

Layered architecture; Functions of the layers; What is TCP/IP suit (definition).

Signals

Analog and digital; periodic and aperiodic; Simple analog signals; Time and frequency domains;
Composite signals; decomposition of a digital signal.

Encoding and Modulating

Digital to digital conversion; ADC; DAC; Analog to analog conversion.

Transmission of Digital Data: Interfaces Modems

Digital data transmission; DTE-DCE Interface; EIA-449; EIA 530; X.21; Modems; 56 K Modem; Cable
Modem.

Transmission Media

Guided media, Unguided media; Transmission impairments; Performance; Wavelength; Shannon


Capacity; Media Comparison.

Multiplexing
Many to one; One to many; FDM; WDT; TDM; Telephone system; DSL; FTTC.

Error Detection and Correction

Type of errors; detection; VRC, LRC, CRC; Checksum; Error correction.

Data Link Controls

ENQ/ACK; poll/select; Flow control; error control.

Data Link Protocols

Asynchronous and synchronous protocols; character oriented and bit oriented protocols; Link access
procedures.

Local Area Networks standards

Project 802; Ethernet; switched/fast/gigabit Ethernets; token bus; token ring; FDDI; comparison.

Metropolitan Area Networks standards

802.6; SMDS.

Switching

Circuit switching; Packet Switching; Message Switching.

Point-to-Point Protocols

Transition states; ppp layers; LCP; authentication; NCP.

Integrated Services Digital Network(ISDN)

Services; History of ISDN development; Access to ISDN; Layers; Broadband ISDN.

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.

Suggested Text Book

1. Data Communication and Networking by B. A. Forouzan; Tata McGraw Hill, 2nd Edition

Suggested Reference Books

1. Data and Computer Communication by William Stallings; Prentice Hall India


2. Data Communication and Computer Networks by ISRD Group; Tata McGraw Hill

CS 315 Engineering Statistics and Random Processes


(3-1-0-4 contact hours - 4)
Course Outcomes:
• Illustrate about various statistical methods applicable to handle engineering data.
• Provide information about using specific techniques such as Regression Analysis,
Queuing model etc.
• Create awareness about how to think and solve a problem in concrete statistical way
rather than sticking to a random way of problem solving.

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

Discrete Time Processes


Formal definitions and theory, First passage and First Return Probabilities , Ergodic Markov
chains, Absorbing Markov Chains.

Continuous Time Process


The Assumptions, Steady State Probabilities, Birth-Death Process, Poisson Process.

Queuing Models
General Characteristics, Markonian Queuing Models, The M/M/1 Model, Multiple Services,
Non - Markonian Queues .

Suggested Text Books for Engineering Statistics

1. Introductory Engineering Statistics; Irwit Guttman, Samuel Wilks, John Stuart


Hunter; John Wiley& Sons NY

2. Operations Research; Principles and Practice; A Ravindran, Don Phillips, James


Solberg; John Wiley & Sons NY

Suggested Reference Books for Engineering Statistics

1. Introductory Statistics, Wonnacott and Wonnacott


2. Statistics: An Introduction, D. A. S Frazer
3. Introduction to Mathematical Statistics P.G. Hoel

Suggested Text Books for Random Processes

1. An Introduction to Probability : Theory and Applications; William Feller

Suggested Reference Books for Random Processes

1. Theory of Stochastic Process; D. R. Cox & H. D. Miller

2. The Elements of Stochastic Processes with Applications to the Natnatural


Sciences N. T. J. Bailey
CS 321 Theory of Computations
(3-1-0-4, contact hours - 4)
Course Outcomes:
• Create an environment for thinking analytically and intuitively for problem solving
situations in related areas of theory in computer science.
• Provides a broad overview of the theoretical foundations of computer science
• Explain about Regular languages, finite Automata, context free languages, push‐ down
automata, and Turing recognizable languages.

Finite Automata
DFA, NFA, NFA with ε-moves. Equivalence of DFA and NFA. Reduction of the number of
states in a finite automata.

Regular Expressions and Languages


Regular expressions. FA and regular expressions. Applications of regular expressions,
Algebraic laws for regular expressions.

Properties of Regular Languages


Proving languages not to be regular, pumping lemma. Closure under simple set operations.
Decision algorithms for emptiness, finiteness and infiniteness, equality.

Context free Grammars and Languages


Context-free grammars, leftmost and rightmost derivations, derivation trees. Parsing and
Ambiguity in grammars and languages.

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.

Properties of Context free Languages


Normal forms for CFG - removing useless productions, empty-productions and unit-
productions. Normal forms- Chomsky and Greibach normal form. Pumping Lemma for CFL
and its applications. Closure properties of CFL. Decision algorithms for CFL.

Introduction to Turing Machines


The Turing Machine (TM). Programming techniques for TM, extensions to the basic TM,
restricted TM, TM and Computers.

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

1. Introduction to Automata Theory, Languages and Computation; Hopcroft, Motwani and


Ullman; Pearson Education.

Suggested Reference Books


1. Introduction to Automata Theory, Languages and Computation; Hopcroft and Ullman;
Narosa Publishing House.
2. An introduction to Formal Languages and Automata; Peter Linz, Narosa.
3. K. L. P. Mishra, N. Chandrasekaran; Theory of Computer Science (Automata,
Languages and Computation); P. H. I.

CS 322 Computer Networks


(3-0-1-4, contact hours - 5)
Course Outcomes:
• Describe various important hardware devices used in networking
• Describe the tasks associated with network management.
• Describe about Wired and Wireless configurations and deployments.

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.

UNIT II: Introduction to TCP/IP

UNIT III:: Internet Basics :


Network Connectivity Types: Dial up-PPP, SLIP; Leased, VSAT, ISP, HTTP, TCP/IP, IP
Address, Domain Names, DNS, Services- email, WWW, Search Engine.

Unit IV: Concept of Client/Server Computing:


Paradigm, Thin Client vs. Flat Client, Middle ware, Client Pull, Server Push, Hypermedia
Information, and Concept of Threading / Multithreading.

Unit V: Web Client:


Browser Architecture, Basic features & Functions, Client-side Inclusive- Scripts, VB Script,
Java Script, ActiveX, Plugins, Case Study- Netscape Communicator, IE.

Unit VI: File Server and Mail Server:


FTP, Telnet, SMTP, POP, MIME

Unit VII: Web Server:


Stateful vs. Stateless Servers, Web Server Architecture, URL, Server side includes – CGI, API,
PERL, Web Database Connectivity- JDBC, ODBC, Case Study- IIS, Apache.
Books:
1. Available latest books in the departmental library
2. Deital & Deital, Web Technology.
3. Goode, Sussman, Krishnamoorthy, Miller,ASP.NET using VB.NET, Wrox Press.

CS 323 Programming Languages


(3-1-0-4, contact hours - 4)
Course Outcomes:
• Provide information of different paradigms and categories of existing programming
languages.
• Generate working knowledge of associating suitable programming language to real
world problems.
• Comparing, concluding and planning of various software solutions to the same
problems become easier for the student after completion of this course.
• Illustrates the programming language paradigms such as Structured programming,
Object Oriented Programming, Functional programming and Logic Programming.

Programming Language concepts


Factors influencing the evolution of programming languages - influence of architecture and
operating system, implementation methods. Development in programming methodology,
desirable features and design issues. Language processors. Syntax, semantics and Virtual
Computers, Binding and Binding time.
Paradigms and Languages
Imperative Programming Languages
Statements, data types, subprograms, sequence control, data control, dynamic allocation using
pointers, operating and programming environment, Subprogram activation- parameter passing
methods, scope rules for names. Nested procedures. Syntax and translation.
Object Oriented Languages
Data abstraction
What an object is, object oriented thinking, class, grouping of data and operations, member and
friend functions, memory allocation for objects, constructors and destructors, templates.
Inheritance
Extending a class, casting up the hierarchy, single and multiple inheritances, virtual base class.
Polymorphism
Compile time polymorphism, operator overloading, function overloading, static binding, run-
time polymorphism, virtual functions, pure virtual functions, abstract class, dynamic binding.
Exception handling.
Functional Programming
Principles of functional programming. Types-values, bindings and functions, environment and
scope, recursive functions, polymorphic functions, type variables. Lists and programming with
lists.
Logic Programming
Review of Predicate Logic. Logic as a language for problem solving. Facts, rules, queries and
deductions, sentence structure. General structure and computational behavior of logic
programs. Unification algorithm. Procedural interpretation of Logic. Algorithmic view of logic
program execution. A brief introduction to PROLOG.

Suggested Text Book


1. Programming Languages: Design and Implementation; T.W. Pratt and M. V.
Zelkowitz; PHI.
Suggested Reference Books
1. Programming Languages- Principles and Practice; K. C. Louden; Thompson (Indian
Edition); 2nd edition
2. Programming Languages - Concepts and Constructs; Ravi Sathi; Pearson.
3. Foundations of Logic Programming; W. Lloyd; Springer 1984.
4. Programming Language Concepts; Carlo Ghezzi and Mehdi Jazayeri; J. Wiley &
sons.
5. Fundamentals of Programming Languages; E. Horowitz; Galgotia.

CS 324 Embedded System


(3-0-1-4, contact hours – 5)
Course Outcomes:
• Introduction to embedded Hardware and Interfacing.
• Organize the students familiar with software development & tools for embedded
systems.

Introduction
What is an embedded system? Why is it special? What types of processor are used? What are
the other peculiarities?

Processors for embedded systems

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.

Operating systems for embedded systems

Real time operating systems Issues


I/O programming
Synchronization, transfer rate and latency. Polled I/O issues. Interrupt driven I/O. ISR.
Response time interrupt controller. Software interrupts and exceptions. Buffering of data and
queuing of interrupt requests.

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.

Scheduling in Embedded Systems


Conventional scheduling, deadline driven scheduling, rate monotonic scheduling, deadlock,
watchdog timer.

Memory Management
Static allocation, dynamic allocation. Recursion and dynamic allocation. shared memory,
reentrant functions.

Boot up and System initialization


80x86 microprocessor with a C compiler (suited for RTOS) and uC/OS RTOS may be used for
practicals.
Some real embedded application shall be taken up for practical.

Suggested Text Book

1. Embedded Systems, Architecture, Programming and Design; Raj Kamal; Tata McGraw
Hill.
2.
Suggested Reference Books

1. Fundamentals of Embedded Software; Daniel W Lewis; Pearson Education


2. An Embedded Software Priomer; David E. Simon; Pearson Education
3. Microcontrollers; Raj Kamal; Pearson Education.
4. Modern Operating Systems; Andrew S. Tanenbaum; Pearson Education.

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.

Suggested Text Book

1. Artificial Intelligence : E. Rich & K. Knight : Tata McGraw Hill.

Suggested Reference Books

1. Artificial Intelligence: Structures and Strategies for Complex Problem solving: George
Luger, Pearson Education.
2. Principles of Artificial Intelligence: Nils J Nisson: Narosa

CS 412 Computer Organization and Architecture - II


(3-1-0-4, contact hours -4)
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

Introduction to parallel processing


Evolution of Computer Systems- Trends towards Parallel Processing. Parallelism in
Uniprocessor Systems- basic Uniprocessor architecture, parallel processing mechanisms,
multiprogramming and time sharing. Parallel computer structures- Pipeline computers, Array
computers, multiprocessor systems, performance of parallel computers. Architectural
classification schemes- multiplicity of instruction-data streams, Flynn’s classification. Parallel
Processing Applications.

Memory and input-output subsystems


Hierarchical Memory Structure- memory hierarchy, optimization of memory hierarchy,
addressing schemes for main memory. Virtual Memory System- the concept of virtual
memory, paged memory system, segmented memory system, memory with paged segments.
Memory Allocation and Management- classification of memory policies. Cache Memories and
Management- characteristics of cache memories, cache memory organizations, fetch and main
memory update policies, block replacement polices. Input-Output Subsystems- characteristics
of I/O subsystems, interrupt mechanisms and special hardware, I/O processors and I/O
channels.

Principles of pipelining and vector processing


Pipelining- principles of linear pipelining, classification of pipeline processors, interleaved
memory organizations. Instruction and Arithmetic Pipelines- Design of pipelined instruction
units, arithmetic pipelines design examples, multifunction and array pipelines. Vector
Processing Requirements- characteristics of vector processing, pipelined vector processing
methods.

Structures and algorithms for array processors


SIMD Array Processors- SIMD computer organization, masking and data routing mechanisms,
Inter-PE communications. SIMD Interconnection Networks- static versus dynamic networks,
Mesh-Connected Illiac networks, Cube Interconnection networks, Barrel Shifter and Data
Manipulator, Shuffle-Exchange and Omega networks. Parallel Algorithms for Array
Processors- SIMD matrix multiplication, connection issues for SIMD processing. Associative
Array Processing- associative memory organizations.

Multiprocessor architecture and programming


Functional Structures- loosely couples multiprocessors, tightly coupled multiprocessors,
processor characteristics. Interconnection Networks- time-shared or common-buses, crossbar
switch and multiport memories, Parallel Memory Organizations. Multiprocessor Operating
Systems- classification, software requirements, operating system requirements.

Multiprocessor architecture and programming


Functional Structures- loosely couples multiprocessors, tightly coupled multiprocessors,
processor characteristics. Interconnection Networks- time-shared or common-buses, crossbar
switch and multiport memories, Parallel Memory Organizations. Multiprocessor Operating
Systems- classification, software requirements, operating system requirements.

Multiprocessing control and algorithms


Interprocess Communication Mechanisms- process synchronization mechanisms. System
Deadlocks and Protection- problems, prevention and avoidance, detection and recovery,
protection schemes. Parallel Algorithms for Multiprocessors- classification, synchronized
parallel algorithms, asynchronized parallel algorithms.

Data flow computers and VLSI computations


Data-Driven Computing and Languages- control-flow versus data-flow computers, data flow
graphs and languages, advantages and potential problems. Data Flow Computer Architectures-
static data flow computers, dynamic data flow computers. VLSI Computing Structures- the
systolic array architecture.

Suggested Text Book


1. Computer Architecture and Parallel Processing; K. Hwang and F. A. Briggs;
McGraw Hill.

Suggested Reference Book


1. Advanced Computer Architecture: Parallelism, Scalabiliry, Programmability; K.
Hwang, McGraw Hill.
2. Advanced Computer Architecture: A Systems Design Approach; R. Y. Kain,; PHI.
3. Computer Architecture and Organization; J. P. Hayes; McGraw Hill.
4. Advanced Computer Architecture And Parallel Processing; Hesham El-Rewini and
Mostafa Abd-El-Barr; Wiley.

CS 413 Computer Graphics and Multimedia


(3-0-1-4, contact hours - 5)
Course Outcomes:
• Provides comprehensive introduction about computer graphics system, 2D, 3D graphics
objects such as lines, circles, ellipse design algorithms along with 2D, 3D
transformations.
• Prepares students for activities involving in design, development and testing of
modeling, rendering, shading and animation.
• Illustrate various Color models, Surface illumination, projection etc.

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.

Suggested Text Book


1. Computer Graphics C Version; Donald Hearn, M. Pauline Baker; PHI.
2. Introduction to Computer Graphics; Anirban Mukhopadhyay and Arup
Chattopadhyay; Vikas Publishing.
Suggested Reference Books
3. Computer Graphics principles and practice; Foly, Van Dam, Feiner, Hughes;
Pearson Education.
4. Computer Graphics; Z. Xiang, R. A. Plastock; second edition, McGraw Hill, 2006.
5. Computer Graphics; A N Sinha, A. D. Udai; 1st edition, McGraw Hill, 2008.

CS 414 Compiler Design


(3-0-1-4, contact hours – 5)
Course Outcomes:
• Explain about lexical analyzer, parser generator tools
• Generate assembly codes for RISC machine and Java programming language.
• Elaborate compiler optimization, register allocation etc

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.

Sugested Text Book

1. Compilers, Principles, Techniques, Tools; Aho, Sethi, Ullman; Pearson Education

Suggested Reference Books

1. Compiler Design in C; Holub; P.H.I.


2. Compiler Design; Santanu Chattopadhyay; P.H.I.
3. The Essence of Compilers; Hunter; Pearson Education.

You might also like