0% found this document useful (0 votes)
231 views164 pages

COPO

This document provides information on the course "Introduction to Computing and Problem Solving" taught at Musaliar College of Engineering and Technology. The course is a 3 credit core course for first semester B.Tech students in Computer Science Engineering. The course objectives are to learn basics of digital computers, develop problem solving skills, and learn programming to solve problems. The course outcomes include designing algorithms, converting algorithms to Python programs, designing modular Python programs using functions, and designing programs involving input/output, arithmetic, decisions, arrays, and files. The syllabus is divided into 6 units covering topics such as computer basics, programming languages, problem solving strategies, Python programming, strings/lists, files and exceptions, and classes/objects. Text

Uploaded by

Krishna Moorthy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
231 views164 pages

COPO

This document provides information on the course "Introduction to Computing and Problem Solving" taught at Musaliar College of Engineering and Technology. The course is a 3 credit core course for first semester B.Tech students in Computer Science Engineering. The course objectives are to learn basics of digital computers, develop problem solving skills, and learn programming to solve problems. The course outcomes include designing algorithms, converting algorithms to Python programs, designing modular Python programs using functions, and designing programs involving input/output, arithmetic, decisions, arrays, and files. The syllabus is divided into 6 units covering topics such as computer basics, programming languages, problem solving strategies, Python programming, strings/lists, files and exceptions, and classes/objects. Text

Uploaded by

Krishna Moorthy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 164

MUSALIAR COLLEGE OF ENGINEERING AND TECHNOLOGY,

PATHANAMTHITTA

DEPARTMENT OF COMPUTER SCIECNE AND ENGINEEERING

CO PO MAPPING OF COURSES
BE 101-05

INTRODUCTION TO COMPUTING AND PROBLEM SOLVING


BE 101-05 INTRODUCTION TO COMPUTING AND PROBLEM
SOLVING

COURSE INFORMATION SHEET

PROGRAMME: DEGREE: B.TECH


COMPUTER SCIENCE ENGINEERING

COURSE: INTRODUCTION TO COMPUTING AND


PROBLEM SOLVING SEMESTER: 1 CREDITS: 3

COURSE CODE: BE 101-05 COURSE TYPE: CORE


REGULATION: 2015

COURSE AREA/DOMAIN: BASICS AND


PROGRAMMING CONTACT HOURS: 2-1-0
CORRESPONDING LAB COURSE CODE (IF ANY): LAB COURSE NAME: COMPUTER
CS110 SCIENCE WORKSHOP

COURSE OBJECTIVES:

1 To learn basics of digital computers


2 To develop problem solving skills
3 To learn programming and to solve problems using computers

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

CO 1 Ability to design algorithmic solution to problems.

CO 2 Ability to convert algorithms to Python programs

CO 3 Ability to design modular Python programs using functions

CO 4 Ability to design programs with Interactive Input and Output, utilizing


arithmetic expression repetitions, decision making, arrays.

CO 5 Ability to design programs using file Input and Output.

CO 6 Ability to develop recursive solutions


SYLLABUS

UNIT DETAILS HOURS

Introduction to digital computer — Von Neumann concept — A simple model of


computer, acquisition of data, storage of data, processing of data, output of processed
data. Details of functional units of a computer. Storage
— primary storage and secondary storage.

(The discussion should focus more on the functionalities oJ the units and their
interaction than on specific hardware details. However, concepts like memory cells
and their addressability (need not be binary), registers, inter- connections (buses)
huve to introcluced at an abstract level. For storage devices —primary and
secondary —, various categories have to be introduced along with their
distinguishing features. For I-O devices also, various categories are to be
1 introduced. The Von Neumann concept should be effectively introduced. History 8
computers need not be taught. However, students have to be encouraged to read the
relevant sections of the text book. Chapters 1 4 oJ ’Goel may be used to
support teaching -learning.)

Introduction to programming languages:- types of programming languages - high


level language , assembly language and machine language, System software -
Operating system— s objectives of operating systems, compiler,
assembler and interpreter.

(For all the above topics, focus should be more on the concepts, significance and
objectives. Chapter 6 and 7 ifp to 7.4) of ’Goel may be used to support the teaching-
learning process.)

Problem Solving strategies — Problem analysis — formal definition of problem —


Solution — top- down design — breaking a problem into sub problems- overview of
the solution to the sub problems by writing step by step procedure (algorithm) -
representation of procedure by flowchart - Implementation of algorithm— s use of
procedures to achieve modularity. (For this part the instructor has to initially use
suitable analogies o real world problems to explafn the concepts, before delvfng into
2 computer- solvable problems.) 8
Examples for algorithms and flow charts - at least 10 problems (starting with non-
numerical examples, and numeric problems like factorial, largest among three
numbers, largest among N, Fibonacci etc.; to be introduced tF fth progressive levels
of difficulty ) must be discussed in detail. (Class assignments and/or tutorial.s may he
u.red to .strengthen under.standing of this part. Chapters 4 and 5 of the ’Rajaraman’
may be used for the teaching-learning process.)
FIRST INTERNAL EXAM

Introduction to Python — variables, expressions and statements, evaluation of


expressions, precedence, string operations
(Note.’- the instructor can demonstrate simple prop=rams to the students and encourage
them to develop similar ones. In particular, before attempting programs containing
functions, the students should be given enough support and time to develop python
code contai•!*K ! ng sequence
of statements for the simple fiowcharts developed earlier. This will
3 strengthen the students understanding of instruction sequencing. Chapters 1 and 2 of 8
’Downey have to be covered. Chapter 1 & 2 of ’Lambert can also be used.) Control
statements, Boolean expressions and logical operators, conditional and alternative
executions (Note. - Chapter 4 of ’Downey up to Section 4.9 has to be covered. The
instructor should demon.strate each of the.se concept.s with real examples and
encourage students to develop as many as possible. Chapter 3 of’ ’Lambert’ can be
used for detailed discussion and self-study) Iteration - while statement and tables.
(Note. - Chapter 6 of ’Downey has to be covered. C’hapter 3 of ’Lambert’ can be
used for detailed discussion and self-study.)
Functions, calling functions, type conversion and coercion, composition of
functions, mathematical functions, user-defined functions, parameters and arguments.
4 (Note. - Chapter 3 of ’Downey has to be covered. The instructor should demonstrate 6
cach aspect of the function with real examples and encourage students to develop their
own. Chapter 6 (up to 6.3) of ’Lambert’ can be used for detailed discussion and sel[-
study.)

SECOND INTERNAL EXAMINATION

Strings and lists — string traversal and comparison with examples.


(Note. - Chapter 7 of ’Downey has to be covered. Section 4.1 of ’Lambert’ can be used
(or detailed discussion List operations with examples (Note. - Chapter 8 of
5 ’Downey up to Section 8.6 has to be covered. Section 5.1 of ’Lambert’ can be used for 6
detailed discussion and self-study.); tuples and dictionaries — operations and
examples (Note. - Chapters 9 & 10 of the third text have to be covered. Section 5.4 of
’Lambert’ can be used for detailed discussion and self-study.)
Files and exceptions - text files, directories
(Note. - Chapter 11 of ’Downey has to be covered)
6 Introduction to classes and objects - attributes, instances 6
(Note. - Chapter 12 of ’Downey’ up to Section 12.6 has to be covered)

TOTAL HOURS 42

TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION
Downey, A. et al., How to think like a Computer Scientist: Learning with Python,
T John Wiley, 2015

T Goe1, A., Computer Fundamentals, Pearson Education

Lambert K. A., Fundamentals of Python - First Programs, Cengage Learning India,


T
2015

T Rajaraman, V., Computer Basics and C Programming, Prentice-Hall India

Barry, P., Head First Python, , O’ Reilly Publishers


R3

R4 Dromy, R. G., How to solve it by Computer, Pearson India

Guzdial, M. J., Introduction to Computing and Programming in Python, Pearson


R5 India

Zelle, J., Python Programming: An Introduction to Computer Science, Franklin,


R6
Beedle & Associates Inc.

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1 H H

CO2 H

CO3 H H

CO4 H H H

CO5 H H

CO6 H M
CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO2 Able to design algorithms for basic mathematical problems.

CO1-PO5 Able to design programs in python programming.

CO2-PO2 Able to develop programs based on tuple , dictionary.

CO3-PO2 Able to create programs using string list.

CO3-PO5 Able to use the python programming environment.

CO4-PO1 Able to design programs with Interactive Input and Output.

CO4-PO2 Able to design programs utilizing arithmetic expression repetitions, decision


making, arrays.

CO4-PO3 Able to design and analyse the Interactive expression and decisions.

CO5-PO1 Able to make knowledge about file operations.

CO5-PO2 Able to design problems related to file .

CO6-PO5 Able to use recursive solutions to problems.

CO6-PO7 Able to develop sustainable programs in python.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA
SEMINARS EXAMS TION
☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐
CERTIFICATION
PRACTICES PROJECTS S

 GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

COURSE EXIT SURVEY

Q1. Are you able to design an algorithm for given problem?

Q2. Are you able to convert the algorithms to python programs ?

Q3. Are you able to develop programs using string ,list,tuple,file ?

Q4. Are you able to develop modular function using python ?

Q5. Are you able to to design programs with Interactive Input and Output, utilizing
arithmetic expression repetitions, decision making, arrays.?

Q6. Are you able to to develop recursive solutions?


SEMESTER – 2

CS 100: COMPUTER PROGRAMMING

COURSE INFORMATION SHEET

PROGRAMME: COMPUTER SCIENCE AND DEGREE: BTECH


ENGINEERING

COURSE: Problem Solving and Computer SEMESTER: II CREDITS: 3


Programming

COURSE CODE: CS100 REGULATION: 2016 COURSE TYPE: CORE

COURSE AREA/DOMAIN: CONTACT HOURS: 2-1-0


COMPUTER APPLICATIONS

CORRESPONDING LAB COURSE CODE (IF LAB COURSE NAME: NIL


ANY): NIL

Course Objective

1. To understand the fundamental concept of C programming and use it in problem solving

Course Outcome

CO1 Students will be able Identify appropriate C language constructs to solve problems

CO2 Students will be able analyze problems, identify subtasks and implement them as
functions/procedures

CO3 Students will able Implement algorithms using efficient C-programming techniques
CO4 Students will able Explain the concept of file system for handling data storage and apply it
for solving problems
CO5 Students will able Apply sorting & searching techniques to solve application programs

.
.

SYLLABUS

UNIT DETAILS HOURS

1 Introduction to C Language: Preprocessor directives, header files, data types and qualifiers. 7
Operators and expressions. Data input and output, control statements.

2 Arrays and strings- example programs. Two dimensional arrays - matrix operations. 8
Structure, union and enumerated data type.
3 Pointers: Array of pointers, structures and pointers. Example programs using pointers and 7
structures

4 Functions – function definition and function prototype. Function call by value and call by 7
reference. Pointer to a function –. Recursive functions.
.

5 Sorting and Searching : Bubble sort, Selection sort, Linear Search and Binary search. Scope 6
rules Storage classes. Bit-wise operations.

6 Data files – formatted, unformatted and text files. Command line arguments – examples

References

1. Rajaraman V., Computer Basics and Programming in C, PHI.

2. Anita Goel and Ajay Mittal, Computer fundamentals and Programming in C., Pearson.

3. Gottfried B.S., Programming with C, Schaum Series, Tata McGraw Hill.

4. Horowitz and Sahni, Fundamentals of data structures - Computer Science Press.

5. Gary J. Bronson, ANSI C Programming, CENGAGE Learning India.

6. Stewart Venit and Elizabeth Drake, Prelude to Programming – Concepts & Design,

Pearson

7. Dromy R.G., How to Solve it by Computer, Pearson.

8. Kernighan and Ritche D.M., The C. Programming Language, PHI.

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 H H H
CO2 M H
CO3 M H M M
CO4 M H
CO5 M H

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1 –PO1 Students will be able to apply the programming constructs to find solutions for
various computational problems.

CO1 – PO2 Students will be able to identify, analyze and define computing problems and can find
the solutions using c programming constructs.
CO1- PO3 Students will be able to design and develop solutions to computing problems using c
programming constructs

CO2-PO1 Students will be able to use functions to find solutions for various computational
problems

CO2 - PO3 Students will be able to design and develop solutions to computing problems
using the concept of functions
CO3 - PO1 Students will be able to apply their knowledge to construct different algorithms
using various data structures to meet various computational problems
CO3 - PO3 Students will be able to design and develop different efficient algorithms using
various data structures.
CO3 – P04 Students will be able to implement different algorithms using various data
structures to meet various computational problems
CO3 – PO5 Students will be able to create, select and apply the appropriate concepts to
complex computational problems.
CO4 – PO1 Students will be able to identify the concept of file systems that will be useful
to solve certain computational problems.
CO4 - PO3 Students will be able to design and develop the concept of file system for handling data
storage and apply it for solving problems
CO5 – PO1 Students will be able to Apply sorting & searching techniques to solve application
programs.
CO5 – PO2 Students will be able to design and develop new application programs using different
searching and sorting techniques

Questionnaire

1. Whether you passed the course?


2. Are you able to identify appropriate C language constructs to solve problems?
3. Are you able to analyze problems, identify subtasks and implement them as
functions/procedures?
4. Are you able to implement algorithms using efficient C-programming techniques?
5. Are you able to explain the concept of file system for handling data storage and apply it for
solving problems?
6. Are you able to apply sorting & searching techniques to solve application programs?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated
CO 1
CO 2
CO 3
CO 4
CO 5
CS110
Computer Science Workshop
CS110 Computer Science Workshop
COURSE INFORMATION SHEET

PROGRAMME: DEGREE: B.TECH


Computer Science Engineering,

COURSE: Computer Science Workshop SEMESTER: 1 CREDITS: 1

COURSE CODE: CS110 COURSE TYPE: CORE


REGULATION: 2015

COURSE AREA/DOMAIN: PROGRAMMING CONTACT HOURS:( 2+1)HRS/WEEK

CORRESPONDING LAB COURSE CODE (IF


ANY):NIL LAB COURSE NAME: NA

COURSE OBJECTIVES:

1 To familiarise students with basic hardware and software tools.

2 To implement algorithms studied in the course Introduction to computing and


problem solving.

3 To learn the implementation of control structures,iterations and recursive


function,Lists,Tuples and dictionaries.

4 To implement operations on file.

5 To implement a micro Project using Python.

COURSE OUTCOMES:

1 To familiarise students with basic hardware and software tools.

2 To implement algorithms studied in the course Introduction to computing and


problem solving.

3
To learn the implementation of control structures,iterations and recursive
function,Lists,Tuples and dictionaries.

4 To implement operations on file.

5 To implement a micro Project using Python.

SYLLABUS

UNIT DETAILS HOURS

Introduction: Familiarization of hardware components of a desktop computer


(motherboard, cards, memory, slots, power, cables etc.) Familiarization of Operating
systems and various tools, particularly those for scientific computing, open source
tools etc. Programming exercises in Python based on the course Introduction to
Computing-and Problem Solving (BE 101-05). The exercises may include programs
using the following concepts

Decision making, branching and looping


1 1. Variables, Expressions & Conditional statements
2. Iterationstatements (While, For etc.)

Function & Function calls


1. Function calls, Math functions
2
2. Parameters and arguments
3. Adding new functions, Recursion

Strings
1. String traversal
3
2. String searching,Comparison
3. Other important String methods

Lists, Tuples and Dictionaries


1.TraversingList, List Operations
4
2.Creation of Dictionary and Operations
3. Lists andTuples

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1 H H
CO2 H H

CO3 H H H

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO4 Able to identify the different hardware components of system.

CO1-PO10 Able to answer the different tools in the systems.

CO2-PO4 Able to use the new features like function ,tuple,dictionary,tuples.

CO2-PO10 Able to develop the micro project in group .

CO3-PO1 Able to develop software solution to basic mathematical problems.

CO3-PO3 Able to design complex problems using python.

CO3-PO10 Able to answer the basic conceptsof programming in python.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

 ☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

STUD.  TESTS/MODEL UNIV.


 ASSIGNMENTS
SEMINARS EXAMS EXAMINA
TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

COURSE EXIT SURVEY

Q1. Are you able to identify common hardware components and their purpose?

Q2. Are you able to gain sufficient awareness about latest software tools.?

Q3. Are you able to to develop programs in python for common problems of reasonable
complexity .
CS202

Computer Organization and


Architecture
CS202:Computer Organization and Architecture

COURSE INFORMATION SHEET


PROGRAMME: DEGREE: B.TECH

Computer Science Engineering

COURSE: Computer Organization


SEMESTER: 4 CREDITS: 4

COURSE CODE: CS 202 COURSE TYPE: CORE


REGULATION: 2016

COURSE AREA/DOMAIN: CONTACT HOURS: 3-1-0-4

CORRESPONDING LAB COURSE CODE (IF


ANY):NIL LAB COURSE NAME: NA

SYLLABUS

UNIT DETAILS HOURS

Basic Structure of computers–functional units – basic operational concepts –bus


structures – software. Memory locations and addresses – memory operations –
1 6
instructions and instruction sequencing – addressing modes – ARM Example
(programs not required). Basic I/O operations –stacks subroutine calls.

Basic processing unit – fundamental concepts – instruction cycle - execution of a


complete instruction –multiple- bus organization – sequencing of control signals.
2 Arithmetic algorithms: Algorithms for multiplication and division of binary and BCD 10
numbers — array multiplier —Booth’s multiplication algorithm — restoring and non-
restoring division — algorithms for floating point, multiplication and division

3 I/O organization: accessing of I/O devices – interrupts –direct memory access – 8


buses –interface circuits –standard I/O interfaces (PCI, SCSI, USB

Memory system : basic concepts –semiconductor RAMs –memory system


4 considerations – semiconductor ROMs –flash memory –cache memory and mapping 9
functions

Processor Logic Design: Regster transfer logic –inter register transfer – arithmetic, logic
5 w . k t u t u d 9
and shift micro operations –conditional control statements.
Processor organization:–design of arithmetic unit, logic unit, arithmetic logic unit
and shifter –status register –processor unit –design of accumulator.

Control Logic Design: Control organization – design of hardwired control –control of


processor unit –PLA control. Micro-programmed control: Microinstructions –
6 9
horizontal and vertical micro instructions – micro-program sequencer –micro
programmed CPU organization

TOTAL HOURS 51

TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION

“V. Carl Hamacher, Zvonko Vranesic, Safwat G. Zaky”,Computer


T Organization,McGraw Hill,2011

T Mano M. M., Digital Logic & Computer Design, 4/e, Pearson Education, 2013.

R1 Mano M. M., Digital Logic & Computer Design, 4/e, Pearson Education, 2013.

R2 William Stallings, Computer Organization and Architecture: Designing for


Performance, Pearson, 9/e, 2013
Chaudhuri P., Computer Organization and Design, 2/e, Prentice Hall, 2008.
R3

Rajaraman V. and T. Radhakrishnan, Computer Organization and Architecture,


R4
Prentice Hall, 2011

COURSE OBJECTIVES:

1 To impart an understanding of the internal organization and operations of a computer.

2 To introduce the concepts of processor logic design and control logic design.

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

CO 1 Students will be able to identify the basic structure and functional units of a
digital computer
KNOWLEDGE

CO 2
Students will be able to analyze the effect of addressing modes on the execution
COMPREHENSI time of a program.
ON

CO 3 Students will be able to design processing unit using the concepts of ALU and
control logic design
APPLICATION

CO 4 Students will be able to identify the pros and cons of different types of control
logic design in processors
ANALYSIS

CO 5 Students will be able to select appropriate interfacing standards for I/O devices
SYNTHESIS

CO 6 Students will be able to identify the roles of various functional units of a


EVALUATION computer in instruction execution

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1 H

CO2 H M H

CO3 H H H

CO4 H H H

CO5 H

CO6 H H

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO1 Students will identify basic concept in a system


CO2-PO1 Students will identify addressing mode details

CO2-PO2 Students will identify addressing mode generation

CO2-PO5 Students will identify application of different addressing modes

CO3-PO2 Students will identify arithmetic problems

CO3-PO3 Students will identify analyze logic problems in system

CO3-PO5 Students will identify tools for different computation

CO4-PO2 Students will identify sequencing of control logic problem

CO4-PO5 Students will identify tools for microinstructions

CO4-PO11 Students will identify engineering instructions in control sequence

CO5-PO2 Students will identify interfacing problems

CO6-PO2 Students will identify instruction execution problems


CO6-PO4 Students will identify instruction decoding problems
DELIVERY/INSTRUCTIONAL METHODOLOGIES:

☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA
SEMINARS EXAMS TION
☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐
CERTIFICATION
PRACTICES PROJECTS S

 GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

COURSE EXIT SURVEY

Q1. Are you able to recall and identify the different functional units of a computer?

Q2. Are you able to demonstrate an understanding of computer organization and


architecture ?

Q3. Are you able to solve arithmetic computation in digital computers?

Q4. Are you able to understand the sequencing of control signals?

Q5. Are you able to identify different standard input output interfaces?
Q6. Are you able to design a hardwired control unit?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated

CO 1

CO 2

CO 3

CO 4

CO 5

CO 6
CS206
Object Oriented Design and Programming
CS206 :OBJECT ORIENTED DESIGN AND PROGRAMMING

COURSE INFORMATION SHEET

PROGRAMME: DEGREE: B.TECH


Computer Science Engineering,

COURSE: Object Oriented Design & Programming SEMESTER: 4 CREDITS: 3

COURSE CODE: CS206 COURSE TYPE: CORE


REGULATION: 2016

COURSE AREA/DOMAIN:OBJECT ORIENTED


PROGRAMMING CONTACT HOURS: 2-1-0

CORRESPONDING LAB COURSE CODE (IF


ANY):NIL LAB COURSE NAME: NA

COURSE OBJECTIVES:
1 To introduce basic concepts of object oriented design techniques.

2 To give a thorough understanding of Java language.

3 To provide basic exposure to the basics of multithreading, database connectivity


etc.

4 To impart the techniques of creating GUI based applications.

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

CO 1
Apply object oriented principles in software design process.

CO 2 Develop Java programs for real applications using java constructs and
libraries.
CO 3 Understand and apply various object oriented features like
inheritance, data
abstraction, encapsulation and polymorphism to solve various
computing
problems using Java language.

CO 4
Able to use Exception Handling in java.

CO 5
Use Graphical user interface and Exception Handling in java.

CO 6
Develop and deploy Applet in java.

SYLLABUS

UNIT DETAILS HOURS

Object oriented concepts, Object oriented systems development life cycle. Unified
Modeling Language, UML class diagram, Use-case diagram.
1 8
Java Overview: Java virtual machine, data types, operators, control
statements,Introduction to Java programming..

Classes fundamentals, objects, methods, constructors, parameter passing, overloading,


2 7
access control keywords.

FIRST INTERNAL EXAMINATION

Inheritance basics, method overriding, abstract classes, interface. Defining and


3 7
importing packages. Exception handling fundamentals, multiple catch and nested
trystatements.

Input/Output: files, stream classes, reading console input. Threads: thread model, use
4 6
of Thread class and Runnable interface, thread synchronization, multithreading.

SECOND INTERNAL EXAMINATION

String class - basics.


5 Applet basics and methods. Event Handling: delegation event model, event classes, 8
sources, listeners.
Introduction to AWT: working with frames, graphics, color, and font. AWT Control
6 fundamentals. Swing overview. Java database connectivity: JDBC overview, creating 7
and executing queries, dynamic queries.
TOTAL HOURS 42

TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION

T Herbert Schildt, Java: The Complete Reference, 8/e, Tata McGraw Hill, 2011.

T Bahrami A., Object Oriented Systems Development using the Unified Modeling Language,
McGraw Hill,
R1 Y. Daniel Liang, Introduction to Java Programming, 7/e, Pearson, 2013.

R2 Nageswararao R., Core Java: An Integrated Approach, Dreamtech Press, 2008.

R3 Flanagan D., Java in A Nutshell, 5/e, O'Reilly, 2005.

R4 Barclay K., J. Savage, Object Oriented Design with UML and Java, Elsevier, 2004.
CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1 H H

CO2 H H

CO3 H H

CO4 H H

CO5 H

CO6 H

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO1 Able to analyse object oriented principles.

CO1-PO2 Able to identify and analyse object oriented problems.

CO2-PO1 Able to identify real applications using java constructs and libraries.

CO2-PO3 Able to design real applications using java constructs and libraries

CO3-PO2 Able to apply various object oriented features like inheritance, data
abstraction, encapsulation and polymorphism to solve various computing
problems using Java language.

CO3-PO4 Able to design complex problems using inheritance polymorphism.

CO4-PO4 Able to use Exception Handling in java.

CO4-PO5 Able to design a Exception Handling in java.

CO5-PO3 Able to Use Graphical user interface and Exception Handling in java.

CO6-PO3 Able to design and develop programs using APPLET.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS


 GROUP
DISCUSSION

COURSE EXIT SURVEY

Q1. Are you able to apply object oriented principles in software design process.?

Q2. Are you able to develop Java programs for real applications using java constructs and
libraries.?

Q3. Are you able to understand and apply various object oriented features like inheritance,
data
abstraction, encapsulation and polymorphism to solve various computing
problems using Java language.?

Q4. Are you able to Implement Exception Handling in java.

Q5. Are you able to Develop and deploy Applet in java.?


SEMESTER – 4

PRINCIPLES OF DATABASE ENGINEERING

PROGRAMME:COMPUTER SCIENCE DEGREE:B TECH : YEAR JAN2018-MAY


AND & ENGINERRING 2018
COURSE:PRINCIPLES OF DATABASE SEMESTER : IV CREDIT:3
COURSE CODE:CS208 COURSE TYPE : CORE
REGULATION:2016
COURSE AREA/DOMAIN:SYSTEM CONTACT HOURS :2 + 1(
SOFTWARE CONCEPT TUTORIAL)HOURS/WEEK
CORRESPONDING LAB COURSE LAB COURSE NAME: Application
CODE(IF ANY) CS333 Software Development Lab

Course Objective

1: To impart the basic understanding of theory and application of database management


systems.

2: To give basic level understanding of internals of database system.

3: To expose to some of the recent trends in database

Course Outcome

COURSE
EXPLANATION
OUTCOMES
CS 208.CO 1 Students will be able to define, explain and illustrate the fundamental
concepts of databases

Student will be able to construct an Entity-Relationship (E-R) model


CS 208.CO 2 from specification and to perform the transformation of the conceptual
model into corresponding logical data structures
Students will be able to model and design a relational database
CS 208.CO 3 following the design principles.
CS 208.CO 4 Students will be able to develop queries for relational database in the
context of practical applications.
CS 208.CO 5 Students will be able to define, explain, and illustrate fundamental
principles of data organization query optimization and concurrent
transaction processing
CS 208.CO 6 Students will be able to appreciate the latest trends in database.
SYLLABUS

MODULE CONTENT HOURS


1 Introduction: Data: structured, semi-structured and unstructured 6
data, Concept & Overview of DBMS, Data Models, Database
Languages, Database Administrator, Database Users, Three Schema
architecture of DBMS. Database architectures and classification.
(Reading: Elmasri Navathe, Ch. 1 and 2. Additional Reading:
Silbershatz, Korth, Ch. 1) Entity-Relationship Model: Basic
concepts, Design Issues, Mapping Constraints, Keys, Entity
Relationship Diagram, Weak Entity Sets, Relationships of degree
greater than 2 (Reading: Elmasri Navathe, Ch. 7.1-7.8)

2 Relational Model: Structure of relational Databases, Integrity 7


Constraints, synthesizing ER diagram to relational schema
(Reading: Elmasri Navathe, Ch. 3 and 8.1, Additional Reading:
Silbershatz, Korth, Ch. 2.1-2.4) Database Languages: Concept of
DDL and DML relational algebra (Reading: Silbershatz, Korth, Ch
2.5-2.6 and 6.1-6.2, Elmasri Navathe, Ch. 6.1-6.5)
3 Structured Query Language (SQL): Basic SQL Structure, examples, 7
Set operations, Aggregate Functions, nested sub-queries (Reading:
Elmasri Navathe, Ch. 4 and 5.1) Views, assertions and triggers
(Reading: Elmasri Navathe, Ch. 5.2-5.3, Optional reading:
Silbershatz, Korth Ch. 5.3).
4 Relational Database Design: Different anomalies in designing a 7
database, normalization, functional dependency (FD), Armstrong’s
Axioms, closures, Equivalence of FDs, minimal Cover (proofs not
required). Normalization using functional dependencies, INF, 2NF,
3NF and BCNF, lossless and dependency preserving decompositions
(Reading: Elmasri and Navathe, Ch. 14.1-14.5, 15.1-15.2. Additional
Reading: Silbershatz, Korth Ch.
8.1-8.5)

5 Physical Data Organization: index structures, primary, secondary 7


and clustering indices, Single level and Multi-level indexing, B+-
Trees (basic structure only, algorithms not needed), (Reading
Elmasri and Navathe, Ch. 17.1-17.4) Query Optimization:
heuristics-based query optimization, (Reading Elmasri and Navathe,
Ch. 18.1, 18.7)
6 Transaction Processing Concepts: overview of concurrency control 9
and recovery acid properties, serial and concurrent schedules,
conflict serializability. Two-phase locking, failure classification,
storage structure, stable storage, log based recovery, deferred
database modification, check-pointing, (Reading Elmasri and
Navathe, Ch. 20.1-20.5 (except 20.5.4-20.5.5) , Silbershatz, Korth
Ch. 15.1 (except 15.1.4-15.1.5), Ch. 16.1 – 16.5) Recent topics
(preliminary ideas only): Semantic Web and RDF(Reading: Powers
Ch.1, 2), GIS, biological databases (Reading: Elmasri and Navathe
Ch. 23.3-23.4) Big Data (Reading: Plunkett and Macdonald, Ch. 1,
2)
TEXT/RFERENCE BOOKS

T/R BOOKS TITLE/AUTHORS /PUBLICATION


T1 Elmasri R. and S. Navathe, Database Systems: Models, Languages, Design
andApplication Programming, Pearson Education, 2013.
T2 Sliberschatz A., H. F. Korth and S. Sudarshan, Database System Concepts,
6/e, McGraw Hill, 2011.
R1 Powers S., Practical RDF, O’Reilly Media, 2003.
R2 Plunkett T., B. Macdonald, et al., Oracle Big Data Hand Book, Oracle Press,
2013

COURSE PRE-REQUISITES:
C CODE COURSE NAME DESCRIPTION SEM
To learn how data are I & II
CS205 Data structures stored and organized

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 L L M
CO2 H M M
CO3 M M M
CO4 M L M M
CO5 M M M
CO6 H M M

MAPPING JUSTIFICATION
CS208.1-PO1 As students could just classify different data models
CS208.1-PO2 Students could identify functionalities of DBMS
CS208.1-PO3 Knowledge in architecture of DBMS help students to clearly
understand the functionalities of DBMS
CS208.2-P01 Students will be able to classify different SQL queries
CS208.2-PO2 Students will be able to identify formal query languages in database
CS208.2-PO3 Students will be able to understand the formulation and working of
SQL queries
CS208.3-PO1 Students will be able to identify oracle database structure
CS208.3-PO2 Students will be able to classify different indexing schemes used in
retrieval
CS208.3-PO3 Students gain competency in PL/SQL programming.
CS208.4-PO1 Students will be able to identify different normalization procedures
used in database design
CS208.4-PO2 Students will gain knowledge in classifying different normal forms
CS208.4-PO3 Students gain competency in designing database following normal
form standard
CS208.4-PO5 Students will be to apply proper normalization for developing well
tuned database
CS208.5-PO1 Students will be able to describe transaction processing and related
issues.
CS208.5-PO2 Students will be able to classify different concurrency control
techniques
CS208.5-PO3 Students gain competency in understanding different query
processing &optimization
Questionnaire for Course Exit Survey

7. Whether you passed the course

8. Can you construct an Entity - Relationship (E-R) model from specification and to
perform the transformation of the conceptual model into corresponding logical data
structures?

9. Can you model and design a relational database following the design principles.?

10. Are you able to define explain and illustrate the fundamental concept of database?

11. Are you able to develop queries for relational database in the context of practical
application?

12. Are you able to appreciate the latest trends in database?

SEMESTER – 3

CS 205: DATA STRUCTURES

PROGRAMME: COMPUTER SCIENCE AND DEGREE: BTECH


ENGINEERING

COURSE: DATA STRUCTURES SEMESTER: III CREDITS: 4

COURSE CODE: CS100 REGULATION: 2016 COURSE TYPE: CORE

COURSE AREA/DOMAIN: CONTACT HOURS: 3-1-0-4


COMPUTER APPLICATIONS
CORRESPONDING LAB COURSE CODE (IF LAB COURSE NAME: DATA STRUCTURES
ANY): CS231 LAB

Course Objective

1 To impart a thorough understanding of linear data structures such as stacks, queues and
their applications .
2 To impart a thorough understanding of non-linear data structures such as trees, graphs and
their applications
3 To impart familiarity with various sorting, searching and hashing techniques and
their performance comparison
4 To impart a basic understanding of memory management.
Course Outcome

CO1 Students will be able to compare different programming methodologies and define
asymptotic notations to analyze performance of algorithms.
CO2 Students will be able to use appropriate data structures like arrays, linked list, stacks and
queues to solve real world problems efficiently.
CO3 Students will be able to represent and manipulate data using nonlinear data structures like
trees and graphs to design algorithms for various applications.
CO4 Students will be able to illustrate and compare various techniques for searching and
sorting.
CO5 Students will be able to illustrate various hashing techniques.

SYLLABUS

Module Contents Hours


(56)
Introduction to programming methodologies – structured approach,
stepwise refinement techniques, programming style, documentation
– analysis of algorithms: frequency count, definition of Big O
I 9
notation, asymptotic analysis of simple algorithms. Recursive and
iterative algorithms.

Abstract and Concrete Data Structures- Basic data structures –


vectors and arrays. Applications, Linked lists:- singly linked list,
doubly linked list, Circular linked list, operations on linked list,
II 9
linked list with header nodes, applications of linked list:
polynomials,.
Applications of linked list (continued): Memory management,
memory allocation and de-allocation. First-fit, best-fit and worst-fit
allocation schemes
III 9
Implementation of Stacks and Queues using arrays and linked list,
DEQUEUE (double ended queue). Multiple Stacks and Queues,
Applications.

String: - representation of strings, concatenation, substring


searching and deletion.

Trees: - m-ary Tree, Binary Trees – level and height of the tree,
IV complete-binary tree representation using array, tree traversals 10
(Recursive and non-recursive), applications. Binary search tree –
creation, insertion and deletion and search operations, applications.

Graphs – representation of graphs, BFS and DFS (analysis not


required) applications.

Sorting techniques – Bubble sort, Selection Sort, Insertion sort,


V 09
Merge sort, Quick sort, Heaps and Heap sort. Searching algorithms
(Performance comparison expected. Detailed analysis not required)

Linear and Binary search. (Performance comparison expected.


Detailed analysis not required)
VI Hash Tables – Hashing functions – Mid square, division, folding, 10
digit analysis, collusion resolution and Overflow handling
techniques.

References

T1 Samanta D., Classic Data Structures, Prentice Hall India, 2/e, 2009.
T2 Richard F. Gilberg, Behrouz A. Forouzan, Data Structures: A Pseudocode Approach with C,
2/e, Cengage Learning, 2005.
R1 Horwitz E., S. Sahni and S. Anderson, Fundamentals of Data Structures in C, University
Press (India), 2008.
R2 Aho A. V., J. E. Hopcroft and J. D. Ullman, Data Structures and Algorithms, Pearson
Publication,1983.
R3 Tremblay J. P. and P. G. Sorenson, Introduction to Data Structures with Applications, Tata
McGraw Hill, 1995.
R4 Peter Brass, Advanced Data Structures, Cambridge University Press, 2008
R5 Lipschuts S., Theory and Problems of Data Structures, Schaum’s Series, 1986.
R6 Wirth N., Algorithms + Data Structures = Programs, Prentice Hall, 2004.
R7 Hugges J. K. and J. I. Michtm, A Structured Approach to Programming, PHI, 1987.
R8 Martin Barrett, Clifford Wagner, And Unix: Tools For Software Design, John Wiley, 2008

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 M M
CO2 L H
CO3 M H M
CO4 L M H
CO5 L

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO3 The knowledge in programming methodologies helps in designing solutions for


complex engineering problems.
CO1-PO4 The knowledge of asymptotic notations helps in analysis of performance of solutions to
complex problems
CO2-PO1 The knowledge of arrays, linked lists, stacks and queues can be applied to solve
complex engineering problems.
CO2-PO3 The knowledge of arrays, linked lists, stacks and queues can be applied to design
solutions to complex engineering problems.
CO3-PO1 The knowledge of non linear data structures like trees and graphs can be applied to
solve complex engineering problems.
CO3-PO3 This knowledge can be used to design efficient solutions to complex problems.

CO3-PO4 This knowledge helps in representation, analysis and interpretation of data to provide
valid conclusions.
CO4-PO1 This basic knowledge of sorting and searching can be used in solutions to complex
engineering problems.
CO4-PO3 This basic knowledge of sorting and searching can be used in designing solutions to
complex engineering problems.
CO4-PO4 This concept is fundamental in conducting investigations and interpretations of data.

CO5-PO1 The knowledge of various hashing techniques can be applied in designing solutions to
complex engineering problems.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
☐LCD/SMART

√ CHALK & √ STUD. √ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED

SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

√ UNIV.

√ ASSIGNMENTS √ STUD. √ TESTS/MODEL EXAMINATION

SEMINARS EXAMS

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐


PRACTICES PROJECTS CERTIFICATIONS

 GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

COURSE EXIT SURVEY

1. Whether you passed the course?


2. Are you able to compare different programming methodologies and define asymptotic
notations to analyze performance of algorithmsa?
3. Are you able to use appropriate data structures like arrays, linked list, stacks and queues to
solve real world problems efficiently Are you e able to compare and illustrate various process
scheduling algorithms?
4. Are you able to represent and manipulate data using nonlinear data structures like trees and
graphs to design algorithms for various applications.
5. Are you able to illustrate and compare various techniques for searching and sorting.?
6. Are you able to illustrate various hashing techniques
SEMESTER – 4
CS 204: OPERATING SYSTEMS
COURSE INFORMATION SHEET

PROGRAMME: COMPUTER SCIENCE DEGREE: BTECH


AND ENGINEERING

COURSE: OPERATING SYSTEMS SEMESTER: IV CREDITS: 4

COURSE CODE: CS204 REGULATION: 2016 COURSE TYPE: CORE

COURSE AREA/DOMAIN: SYSTEM CONTACT HOURS: 3-1-0-4


SOFTWARE CONCEPTS

CORRESPONDING LAB COURSE CODE (IF LAB COURSE NAME: FREE AND OPEN
ANY): CS232 SOURCE SOFTWARE LAB

Course Objective

2. To impart fundamental understanding of the purpose, structure, functions of operating


system.
3. To impart the key design issues of an operating system

Course Outcome

CO1: Students will be able to identify the significance and working of operating system in computing
devices.
CO2: Students will be able to exemplify the communication between application programs and
hardware device through system calls.
CO3: Students will be able to compare and illustrate various process scheduling algorithms.
CO4: Students will be able to apply appropriate memory and file management schemes.
CO5: Students will be able to illustrate various disk scheduling algorithms.
CO6: Students will be able to appreciate need of access control and protection in an operating system
Syllabus
UNIT DETAILS HOURS

Introduction: Functions of an operating system. Single processor, multiprocessor


and clustered systems – overview. Kernel Data Structures – Operating Systems
used in different computing environments.
1 7
Operating System Interfaces and implementation - User Interfaces, System
Calls – examples. Operating System implementation - approaches. Operating
System Structure – Monolithic, Layered, Micro-kernel, Modular.
System Boot process.
Process Management: Process Concept – Processes-States – Process Control
Block – Threads. Scheduling – Queues – Schedulers – Context Switching. Process
2 9
Creation and Termination.

Inter Process Communication: Shared Memory, Message Passing, Pipes.


Process Synchronization: Critical Section- Peterson's solution. Synchronization –
3 9
Locks, Semaphores, Monitors, Classical Problems –
Producer Consumer, Dining Philosophers and Readers-Writers Problems
CPU Scheduling – Scheduling Criteria – Scheduling Algorithms.
4 8
Deadlocks – Conditions, Modeling using graphs. Handling – Prevention –
Avoidance – Detection- Recovery.
5 Memory Management: Main Memory – Swapping 9
– Contiguous Memory allocation – Segmentation – Paging – Demand paging
Storage Management: Overview of mass storage structure- disks and tapes. Disk
structure – accessing disks. Disk scheduling and management. Swap Space.
6 10
File System Interface: File Concepts – Attributes – operations – types – structure
– access methods. File system mounting. Protection. File system implementation.
Directory implementation – allocation methods. Free space Management.
Protection– Goals, Principles, Domain. Access Matrix.
TOTAL HOURS 52

Reference

T1. Abraham Silberschatz, Peter B.Galvin and Greg Gagne, “Operating System Concepts”, John Wiley &

Sons Inc, 8th Edition 2010.

R1 Garry Nutt, Operating Systems: 3/e, Pearson Education, 2004

R2
Bhatt P. C. P., An Introduction to Operating Systems: Concepts and Practice, 3/e,Prentice
Hall of India, 2010.
R3. William Stallings, Operating Systems: Internals and Design Principles, Pearson, Global
Edition, 2015.
R4. Andrew S Tanenbaum, Herbert Bos, Modern Operating Systems, Pearson, 4/e, 2015

R5.
Madnick S. and J. Donovan, Operating Systems, McGraw Hill, 2001..

R6
Hanson P. B., Operating System Principle, Prentice Hall of India, 2001.
Deitel H. M., An Introduction to Operating System Principles, Addison-Wesley, 1990.

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 H H
CO2 M M
CO3 H H M
CO4 M H H
CO5 H H
CO6

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1 – PO1 Identifying the significance and working of OS in computing devices will be helpful
in designing new operating systems

CO1- PO3 Students will be able to design and develop new operating systems which will be able
to solve the disadvantages of the existing operating systems.

Students will be able to identify, analyze and define the communication between
CO2 – PO2 application programs and hardware device through system calls

CO2 – PO5 Students will be able to use modern tools to implement communication between the
process and hardware devices.

CO3 – PO2 Students will be able to identify and analyze the cpu scheduling problems and can opt
the appropriate scheduling algorithms suitable for applications

CO3 – PO3 Students will be able to design and develop new algorithms and to opt the best one
while designing a new OS.
CO3 – PO4 The knowledge about process and process scheduling algorithms helps the students to
develop new operating systems for advanced environment.

CO4- PO1 Students will be able to develop new memory and file management techniques and to
solve existing problems

CO4 –PO2 Students will be able to identify and define the problems in memory and file
management techniques which are useful in new operating systems development.

CO4 – PO3 Students will be able to design and develop efficient memory management techniques
and to find solutions for the problems in current operating systems.

CO5- PO1 Students will be able to apply the knowledge about different disk scheduling
algorithms in the development of new operating systems

CO5 – PO2 Students will be able to identify, analyze and define different disk scheduling
algorithms which will be helpful in developing new operating systems

CO5 – PO3 Students will be able to design and develop new disk scheduling techniques and to
overcome the problems in existing disk scheduling algorithms

CO6 - PO1 Identifying the need of access control and protection in computing devices will be
helpful in designing new operating systems

CO6 – PO3 Students will be able to implement protection and access control in new operating
systems at the stage of design and development.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

☐LCD/SMART

√ CHALK & √ STUD. √ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

√ UNIV.

√ ASSIGNMENTS √ STUD. √ TESTS/MODEL EXAMINATION

SEMINARS EXAMS

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐


PRACTICES PROJECTS CERTIFICATIONS

 GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION
COURSE EXIT SURVEY

13. Whether you passed the course?


14. Are you able to identify the significance of operating system in computing devices?
15. Are you able to exemplify the communication between application programs and hardware devices
through system calls?
16. Are you e able to compare and illustrate various process scheduling algorithms?
17. Are you able to apply appropriate memory and file management schemes?
18. Are you able to illustrate various disk scheduling algorithms?
19. Are you able to appreciate need of access control and protection in an operating system?

Theory of Computation

PROGRAMME:COMPUTER SCIENCE DEGREE:B TECH : YEAR AUGUST


AND & ENGINERRING 2017-DECEM 2016
COURSE:THEORY OF COMPUTATION SEMESTER : V CREDIT:
COURSE CODE:CS301 COURSE TYPE : CORE
REGULATION:2016
COURSE AERA/DOMAIN:THEORITICAL CONTACT HOURS :3 + 1(
COMPUTER SCIENCE TUTORIAL)HOURS/WEEK
CORRESPONDING LAB COURSE CODE LAB COURSE NAME: NA
(IF ANY):NA

Objectives

• To impart the basic concepts of theory of automata, languages and computation.

• To develop understanding about machines for sequential computation,


formal languages and grammars, and classification of feasible and
intractable problems.
Course Outcome
COURSE
EXPLANATION
OUTCOMES
CS 301.CO 1 To discuss the Chomsky classification of formal languages with
discussion on grammar and automata for regular, context-free, context
sensitive and unrestricted languages.
To discuss the Chomsky classification of formal languages with
CS 301.CO 2 discussion on grammar and automata for regular, context-free, context
sensitive and unrestricted languages

CS 301.CO 3 To discuss the notions of decidability and halting problem

MODULE CONTENT HOURS


1 Introduction to Automata Theory and its significance. Type 3 10
Formalism: Finite state automata – Properties of transition
functions, Designing finite automata, NFA, Finite Automata
with Epsilon Transitions, Equivalence of NFA and DFA,
Conversion of NFA to DFA, Equivalence and Conversion of
NFA with and without Epsilon Transitions.
2 Myhill-Nerode Theorem, Minimal State FA Computation. 10
Finite State Machines with Output- Mealy and Moore machine
(Design Only), Two- Way Finite Automata. Regular Grammar,
Regular Expressions, Equivalence of regular expressions and
NFA with epsilon transitions. Converting Regular Expressions
to NFA with epsilon transitions Equivalence of DFA and
regular expressions, converting DFA to Regular Expressions
3 Pumping Lemma for Regular Languages, Applications of 9
Pumping Lemma. Closure Properties of Regular sets (Proofs
not required), Decision Problems related with Type 3
Formalism Type 2 Formalism:- Context-Free Languages
(CFL), Context-Free Grammar (CFG), Derivation trees,
Ambiguity, Simplification of CFG, Chomsky Normal Form,
Greibach normal forms .
4 Non-Deterministic Pushdown Automata (NPDA), design. 8
Equivalence of acceptance by final state and empty stack in PDA.
Equivalence between NPDA and CFG, Deterministic Push Down
Automata, Closure properties of CFLs (Proof not required), Decision
Problems related with Type 3 Formalism.
5 Pumping Lemma for CFLs, Applications of Pumping Lemma. 9
Type 1 Formalism: Context-sensitive Grammar. Linear Bounded
Automata (Design not required) Type 0 Formalism: Turing
Machine (TM) – Basics and formal definition, TMs as language
acceptors, TMs as Transducers, DesigningTuringMachines.
6 Variants of TMs -Universal Turing Machine, Multi- tape TMs, Non 8
Deterministic TMs, Enumeration Machine (Equivalence not
required), Recursively Enumerable Languages, Recursive languages,
Properties of Recursively Enumerable Languages and Recursive
Languages, Decidability and Halting Problem. Chomsky Hierarchy

TEXT/RFERENCE BOOKS

T/R BOOKS TITLE/AUTHORS /PUBLICATION


T1 John E Hopcroft, Rajeev Motwani and Jeffrey D Ullman, Introduction to
Automata Theory, Languages, and Computation, 3/e, Pearson Education, 2007
T2 John C Martin, Introduction to Languages and the Theory of Computation, TMH,
2007
T3 Michael Sipser, Introduction To Theory of Computation, Cengage Publishers,
2013
R1 Dexter C Kozen , Autoamata and Computablity , Springer 1999
R2 K.L.P. Mishra, N. Chandrashekharan , Theory of Computer Science , Prentice Hall of
India
R3 Harry R Lewis, Christos H Papadimitriou, Elements of the theory of computation,
Pearson Education Asia.
R4 RajendraKumar,Theory of Automata Language &Computation,Tata McGraw
Hill,New Delhi,2010
R5 Wayne Goddard, Introducing Theory of Computation, Jones & Bartlett India,New
Delhi2010
R6 Bernard M Moret: The Theory of Computation, Pearson Education
R7 Raymond Greenlaw,H. James Hoover, Fundamentals of Theory of
Computation,Elsevier,Gurgaon,Haryana,2009
R8 Kamala Krithivasan, Rama R, Introduction to Formal Languages,Automata Theory
and Computation, Pearson Education Asia,2009
R9 Rajesh K. Shukla, Theory of Computation, Cengage Learning, New Delhi,2009
R10 K V N Sunitha, N Kalyani: Formal Languages and Automata Theory, Tata McGraw
Hill,New Delhi,2010
R11 S. P. Eugene Xavier, Theory of Automata Formal Language &Computation,New Age
International, New Delhi ,2004

CO-PO MAPPING

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 L L
CO2 M H H
CO3 M H

CO-PO Justification

CO1-PO1 Students will be able to define the mathematical principles behind theoretical computer
science.
CO1-PO2 Students will be able to differentiate and given example for the different types of
automata like finite automata, push down automata , linear bounded automata and
turing machine .
CO2-PO2 Students will be able to create different types of automata using language

CO3-PO3 Student will be able to correlate the different types of automata to real world
applications.
CO2-PO2 Different computational problems can be identified, formulated, reviewed and
conclusions can be reached.
CO3-PO3 Thorough understanding of different types of automata will help in the design and
development of abstract models for computational problems.
CO2-PO4 Students will be able to identify decidability and halting problem

Questionnaire for Course Exit Survey

20. Whether you passed the course


21. Can you design context free grammar for any language set?
22. Can you demonstrate a PDA for the given language?
23. Are you able outline the concept of finite automata?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated
CO 1
CO 2
CO 3
CO 4
CS302

DESIGN AND ANALYSIS


OF ALGORITHM
CS302: DESIGN AND ANALYSIS OF ALGORITHM

COURSE INFORMATION SHEET


PROGRAMME: DEGREE: B.TECH

Computer Science Engineering

COURSE: DESIGN AND ANALYSIS OF ALGORITHM SEMESTER: 6 CREDITS: NA

COURSE CODE: CS302 COURSE TYPE: CORE


REGULATION: 2018

COURSE AREA/DOMAIN: CORE CONTACT HOURS:52

CORRESPONDING LAB COURSE CODE (IF


ANY):NIL LAB COURSE NAME: NA

COURSE OBJECTIVES:

1 To introduce the concepts of Algorithm Analysis, Time Complexity, Space Complexity.

2 To discuss various Algorithm Design Strategies with proper illustrative examples.

3 To introduce Complexity Theory

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

CO 1 Students will be able to Analyze a given algorithm and express its time and
KNOWLEDGE space complexities in asymptotic notations

CO 2 Students will be able to Solve recurrence equations using Iteration Method,


COMPREHENSION Recurrence Tree Method and Master’s Theorem

CO 3
Students will be able to design algorithms using Divide and Conquer Strategy.
APPLICATION

CO 4 Students will be able to compare Dynamic Programming and Divide and


ANALYSIS Conquer Strategies

CO 5 Students will be able to solve Optimization problems using Greedy strategy.


SYNTHESIS

CO 6 Students will be able to design efficient algorithms using Back Tracking and
EVALUATION Branch Bound Techniques for solving problems

SYLLABUS

UNIT DETAILS HOURS

Introduction to Algorithm AnalysisTime and Space Complexity- Elementary operations


1 and Computation of Time Complexity- Best, worst and Average Case Complexities- 8
Complexity Calculation of simple algorithms
Recurrence Equations:Solution of Recurrence Equations – Iteration Method and Recursion
Tree Methods

Master’s Theorem(Proof not required) – examples, Asymptotic


Notations and their properties- Application of Asymptotic
2 Notations in Algorithm Analysis- Common Complexity Functions 10

AVL Trees – rotations, Red-Black Trees insertion and deletion


(Techniques only; algorithms not expected). B-Trees – insertion
and deletion operations. Sets- Union and find operations on
disjoint sets.

FIRST INTERNAL EXAM

Divide and Conquer:The Control Abstraction, 2 way Merge sort, Strassen’s Matrix
3 Multiplication, Analysis 7
Dynamic Programming : The control Abstraction- The Optimality Principle- Optimal
matrix multiplication, Bellman-Ford Algorithm
Divide and Conquer:The Control Abstraction, 2 way Merge sort,
4 Strassen’s Matrix Multiplication, Analysi 9
Dynamic ProgrammingThe control Abstraction- The Optimality
Principle- Optimal matrix multiplication, Bellman-Ford Algorithm
SECOND INTERNAL EXAMINATION

Analysis, Comparison of Divide and Conquer and Dynamic Programming strategies


5 Greedy Strategy: - The Control Abstraction- the Fractional Knapsack Problem, 9
Minimal Cost Spanning Tree Computation- Prim’s Algorithm – Kruskal’s Algorithm

Back Tracking: -The Control Abstraction – The N Queen’s Problem, 0/1 Knapsack
Problem
6 Branch and Bound:Travelling Salesman Problem.
9
Introduction to Complexity Theory :-Tractable and Intractable Problems- The P and NP
Classes- Polynomial Time Reductions - The NP- Hard and NP-Complete Classes
TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION

Thomas Coremen, Charles, Ronald Rives, Introduction to algorithm, PHI Learning, Ellis Horowitz
and Sartaj Sahni, Sanguthevar Rajasekaran,
T
nd
Fundamentals of Computer Algorithms,Universities Press, 2 Edition, Hyderabad

Anany Levitin, Introduction to The Design & Analysis of Algorithms, Pearson


nd
T Education, 2 Edition, New Delhi, 2008.

Berman and Paul, Algorithms, Cenage Learning India Edition, New Delhi, 2008.
R1

S.K.Basu , Design Methods And Analysis Of Algorithms ,PHI Learning Private Limited, New
Delhi,2008.
R2

R3 Jon Kleinberg and Eva Tardos, Algorithm Design, Pearson Education, New Delhi, 2006

Hari Mohan Pandey, Design Analysis And Algorithms, University Science Press, 2008.
R4

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1 M M

CO2 H H

CO3 M H
CO4 M M M

CO5 H

CO6 M M

CO-PO MAPPING (JUSTIFICATION)

CO-PO H/L/M Justification

CO1-PO1 M As the students could define the knowledge acquired

CO1-PO2 M Knowledge of algorithm analysis methods helps students in problem


analysis

C02-PO3 H Complexity analysis of the engineering solutions will help students to


design and develop sustainable solutions.

C02-PO4 H A complexity analysis of the engineering solutions provide Information


to provide valid conclusions

CO3-PO3 M Choosing an appropriate problem solving method helps students during


the design and development of solutions

CO3-PO5 H A knowledge in the problem solving methods will help the students to
choose the best method to solve a problem

CO4-PO1 M Having the knowledge of different algorithm development strategies


students can apply these knowledge in solving complex engineering
problems

CO4-PO2 M Having the knowledge in algorithm development strategies students


could analyze the problem and come to a conclusion on which design
principle to be used

CO4-PO3 M Having the knowledge in algorithm development strategies students


could analyze the problem and come to a conclusion on which design
principle to be used

CO5-PO4 H Knowledge of classification of algorithms into different classes helps


the students to get to know various complex algorithms
CO6-PO1 M As the students could define the knowledge acquired

CO6-PO2 M Knowledge of algorithm analysis methods helps students in problem


analysis

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS


 GROUP
DISCUSSION

SURVEY QUESTIONS

Q1. Are you able to recall and identify analyze a given algorithm and express its time and space
complexities?

Q2. Are you able to solve recurrence equations using Iteration Method, Recurrence Tree Method and
Master’s Theorem

Q3. Are you able to design algorithms using Divide and Conquer Strategy?

Q4. Are you able to compare able to compare Dynamic Programming and Divide and Conquer Strategies?.

Q5.Are you able to to solve Optimization problems using Greedy strategy?

Q6.Are you able to classify computational problems into P, NP, NP-Hard and NP-Complete?
SEMESTER – 5

System Software

COURSE INFORMATION SHEET

PROGRAMME: COMPUTER SCIENCE DEGREE: BTECH


& ENGINEERING
COURSE: SYSTEM SOFTWARE SEMESTER: v CREDITS: 4

COURSE CODE: CS303 REGULATION: COURSE TYPE: CORE


2016
COURSE AREA/DOMAIN: SYSTEM CONTACT HOURS: 2+1 (Tutorial)
SOFTWARE CONCEPTS hours/Week.
CORRESPONDING LAB COURSE CODE LAB COURSE NAME: SYSTEM
(IF ANY): CS331 SOFTWARE LAB

SYLLABUS:

Introduction : System Software Vs.


Application Software, Different
System Software – Assembler,
Linker, Loader, Macro Processor,
I Text Editor, Debugger, Device 8
Driver, Compiler, Interpreter,
Operating System(Basic Concepts
only) SIC & SIC/XE Architecture,
Addressing modes, SIC & SIC/XE
Instruction set, Assembler Directives
and Programming
Assemblers Basic Functions of
Assembler. Assembler output format
II – Header, Text and End Records- 6
Assembler data structures, Two pass
assembler algorithm, Hand assembly
of SIC/XE program, Machine
dependent assembler features.
Assembler design options: Machine
Independent assembler features –
program blocks, Control sections,
III 7
Assembler design options-
Algorithm for Single Pass
assembler, Multi pass assembler,
Implementation example of MASM
Assembler
Linker and Loader: Basic Loader
functions-Design of absolute loader,
Simple bootstrap loader, Machine
IV Dependent loader features,- 7
Relocation, program Liking,
Algorithm and data structures of two
pass linking loader, machine
dependent loader features, loader
design options.
Macro Preprocessor: - Macro
Instruction Definition and
V Expansion. One pass Macro 7
processor Algorithm and data
structures, Machine Independent
Macro Processor Features, Macro
processor design options.
Device drivers: Anatomy of a device
driver, Character and block device
drivers, General design of device
drivers
Text Editors: Overview of Editing,
VI User Interface, Editor Structure. 8
Debuggers: - Debugging Functions
and Capabilities, Relationship with
other parts of the system, Debugging
Methods- By Induction, Deduction
and Backtracking.

TOTAL HOURS 43

Text book
1. Leland L. Beck, System Software: An Introduction to Systems Programming, 3/E, Pearson Education Asia,
1997.

References
1. D.M. Dhamdhere, Systems Programming and Operating Systems, Second Revised Edition, Tata McGraw Hill.
2. http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html - The C Preprocessor
3. J Nithyashri, System Software, Second Edition, Tata McGraw Hill.
4. John J. Donovan, Systems Programming, Tata McGraw Hill Edition 1991.
5. Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, Linux Device Drivers, Third Edition, O.Reilly
Books
6. M. Beck, H. Bohme, M. Dziadzka, et al., Linux Kernel Internals, Second Edition, Addison Wesley Publications,
7. Peter Abel, IBM PC Assembly Language and Programming, Third Edition, Prentice Hall of India.
8. Writing UNIX device drivers - George Pajari – Addison Wesley Publications (Ebook : http://tocs.ulb.tu-
darmstadt.de/197262074.pdf ).

Course Objectives

 To make students understand the design concepts of Assembler


 To make students understand the design concepts of Linker
 To make students understand the design concepts of Loader
 To make students understand the design concepts of Macroprocessor
 To make students understand the design of Text Editor
 To make students understand the design of Debugger

Course Outcome

CO1: Students will be able to distinguish different software into different categories.

CO2: Students will be able to design, analyze and implement one pass, two pass or multi pass assembler.

CO3: Students will be able to design, analyze and implement loader and linker.

CO4: Students will be able to design, analyze and implement macro processors.

CO5: Students will be able to critique the features of modern editing /debugging tools.

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 H
CO2 M
CO3 L M M
CO4 H M
CO5 H

JUSTIFICATIONS FOR THE MAPPING

Justification

Identify and analyze software using the concepts learnt


CO1-PO2-
High

CO2-PO3- Design and analyze functioning of various assemblers


Medium

CO3-PO1- Algorithms learnt can be extrapolated to design new system software


Low

CO3-PO3- Algorithms learnt can be used to design new loading and linking schemes for solving
Medium complex engineering problems

CO3-PO4- Algorithms studied can be used to analyze and implement new system software for
Medium multidisciplinary environment

CO4-PO1- Algorithms studied can be used to design and develop software solutions for
High engineering problems

CO4-PO2- Algorithms learnt about macro-processors help to analyze and implement computing
requirements and solutions for various system software problems
Medium

CO5-PO3- Study of modern editing or debugging tools helps students to get aware about the
High advantages and disadvantages of latest techniques and tools in simulation of various
software

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON ICT ENABLED

SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

Questionnaire for Course Exit Survey

24. Whether you passed the course?


25. Can you classify the different types of software?
26. Is it possible for you to analyze the algorithm of one pass/two pass assembler?
27. Can you implement a two pass assembler?
28. Can you design a loader/linker?
29. Are you able to design, analyze and implement a macroprocessor.
Course Outcome Attainment*(after course survey)

Course Outcome No of Students Participated Attainment Percentage


CO 1
CO 2
CO 3
CO 4
CO 5
CO 6
CS 352-Comprehensive

Exam
COURSE INFORMATION SHEET

PROGRAMME: Information Technology DEGREE: BTECH

COURSE: Comprehensive Exam SEMESTER:S6 CREDITS: 2

COURSE CODE: IT352 COURSE TYPE: CORE /ELECTIVE /


REGULATION: 2015 BREADTH/ S&H

COURSE AREA/DOMAIN: Information CONTACT HOURS: 2 hours/Week.


Technology

CORRESPONDING LAB COURSE LAB COURSE NAME:


CODE (IF ANY):

SYLLABUS:

UNIT DETAILS HOURS

Oral examination – To be conducted weekly during the slot allotted for the course in the curriculum (@
three students/hour) – 50 marks

Written examination - To be conducted by the Dept. immediately after the second internal examination–
common to all students of the same branch – objective type (1 hour duration)– 50 multiple choice
questions ( 4 choices) of 1 mark each covering all the courses up to and including semester V – no
negative marks – 50 marks.

Oral Examination

1 Information Technology branch subjects up to and including semester V

Witten Examination: Part A

CS205 Data Structures, CS202 Computer Organization & Architecture,


2 80%
IT 204 Object Oriented Techniques, CS 208 Principles of Database

Design, IT 303 Theory of Computation, IT 305 Operating Systems,

IT 307 Computer Networks

Written Examination: Part B

3 MA101 Calculus, MA102 Differential Equations, BE100 Engineering 20%


Mechanics, BE103 Sustainable Engineering, BE110 Engineering Graphics,
B102 design & Engineering
TEXT/REFERENCE BOOKS:

Given in the curriculum

COURSE PRE-REQUISITES: Nil

COURSE OBJECTIVES:

1 To assess the comprehensive knowledge gained in basic courses relevant to the branch of
study
2 To comprehend the questions asked and answer them with confidence.

COURSE OUTCOMES:

Sl DESCRIPTION
No.

1 The students will be confident in discussing the fundamental aspects of any engineering
problem/situation and give answers in dealing with them

CO MAPPING WITH PO, PSO

Programme Outcomes Programme


(POs) -

Specific Outcomes
(PSOs
CO )

No. 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3

1 2 2 1 1 1 2 1

JUSTIFICATION FOR CO-PO-PSO CORRELATION:

JUSTIFICATION FOR CO-PO MAPPING

MAPPING LEVEL JUSTIFICATION

CO1-PO1 2 comprehensive knowledge gained from mathematics and


engineering fundamentals contribute to solving complex
engineering

problems

comprehensive knowledge gained in basic courses relevant to the


CO1-PO2 2 Information

technology banch contribute to Identify, formulate, review research


literature, and analyze complex engineering problems

CO1-PO3 1 comprehensive knowledge gained in basic courses can utilize in design


and

develop solutions for complex engineering problems

comprehensive knowledge gained in computer engineering courses


CO1-PO6 1 helps to

Apply reasoning informed by the contextual knowledge to assess societal

and safety issues and the consequent responsibilities relevant to the

professional engineering practice.

CO1-PO9 1 comprehensive knowledge gained in basic Information Technology


courses
will enable the student to become a productive member of a design team

CO1-PO11 comprehensive knowledge gained in basic courses in IT contribute to


2
Demonstrate knowledge and understanding of the engineering principles

and apply these to one’s own work.

CO1-PO12 1
The student will become aware of the need for lifelong learning and the

continued upgrading of technical knowledge

WEB SOURCE REFERENCES:

3. http://nptel.ac.in/courses/

4. https://www.nodia.co.in/gate-previous-year-solved-papers

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

☑ CHALK & TALK ✓☐ WEB


RESOURCES

☑ LCD/SMART ☐ STUD. ☐ ADD-ON


BOARDS SEMINARS COURSES

ASSESSMENT METHODOLOGIES-DIRECT

ASSIGNMENTS STUD. SEMINARS ☑ TESTS/MODEL ☐ UNIV.


EXAMS EXAMINATION

☐STUD. LAB ☐✓STUD. VIVA ☐ MINI/MAJOR ☐


PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON ☐ OTHERS
COURSES
ASSESSMENT METHODOLOGIES-INDIRECT

☑ ASSESSMENT OF COURSE OUTCOMES ☑ STUDENT FEEDBACK ON


(BY FEEDBACK, ONCE) FACULTY (TWICE)

☐ ASSESSMENT OF MINI/MAJOR ☐ OTHERS


PROJECTS BY EXT. EXPERTS

SEMESTER – 6

COMPILER DESIGN

COURSE INFORMATION SHEET

PROGRAMME: COMPUTER SCIENCE DEGREE: BTECH


& ENGINEERING
COURSE: COMPILER DESIGN SEMESTER:VI CREDITS: 3
COURSE CODE: CS304 COURSE TYPE:CORE
REGULATION: 2015
COURSE AREA/DOMAIN: CONTACT HOURS: 3 hours/Week.
Computing:
CORRESPONDING LAB COURSE CODE LAB COURSE NAME:
(IF ANY): NIL

Course Objectives

 To provide a thorough understanding of the internals of Compiler Design.

Course Outcome

CO1: Explain the concepts and different phases of compilation with compile time error handling.

CO2: Represent language tokens using regular expressions, context free grammar and finite automaton and

design lexical analyzer for a language.

CO3: Compare top down with bottom up parsers, and develop appropriate parser to produce parse tree

representation of the input.

CO4: Generate intermediate code for statements in high level language

CO5: Design syntax directed translation schemes for a given context free grammar.

SYLLABUS

Introduction to compilers –
Analysis of the source
program,Phases of a compiler,
Grouping of phases, compiler
writing
I tools – bootstrapping Lexical 7
Analysis:The role of Lexical
Analyzer, Input Buffering,
Specification of
Tokens using Regular
Expressions, Review ofFinite
Automata,
Recognition of Tokens.
Syntax Analysis: Review of
Context-Free Grammars –
Derivation trees and Parse Trees,
II 6
Ambiguity.Top-Don Parsing:
Recursive Descent parsing,
Predictive parsing, LL(1)
Grammars.

Bottom-Up Parsing: Shift Reduce


parsing Operator
precedenceparsing(Concepts
III only)LR parsing – Constructing 7
SLR parsing tables, Constructing,
Canonical LR parsing tables and
Constructing LALR parsing
tables.

Syntax directed translation:


Syntax directed definitions,
Bottom- up evaluation of S-
attributed definitions, L-
IV 8
attributed definitions, Top-down
translation, Bottom-up evaluation
of inherited attributes.Type
checking :
Type systems, Specification of a
simple type checker..
Source Language issues,
Storage organization,Storage
Intermediate Code Generation
Intermediate languages –
V 7
Graphical representations,
Three-
Address code, Quadruples,
Triples. Assignment
statements,
Boolean expressions.
Code Optimization:Principal
sources of optimization,
Optimization of Basic blocks
VI Code generation: Issues in the 7
design of a code generator.
The target machine, Asimple
code generator.
TOTAL HOURS 42
Reference
1. Aho A. Ravi Sethi and D Ullman. Compilers – Principles Techniques and Tools, Addison
Wesley.
2. D. M.Dhamdhare, System Programming and Operating Systems,Tata McGraw Hill &
Company.
3. Kenneth C. Louden, Compiler Construction – Principles and Practice,Cengage Learning
Indian Edition.
4. Tremblay and Sorenson,The Theory and Practice of Compiler Writing, Tata McGraw Hill
& Company.

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 H H H
CO2 H H H
CO3 H H H
CO4 H H
CO5 H

JUSTIFICATIONS FOR THE MAPPING

CO-PO Justification

Students will understand the different phases of compiler and that could be used to solve
CO1-PO1 engineering problems.

CO1-PO3 They can design solutions for complex engineering problems such as language processing
etc
CO1-PO5 Students will be able to use modern IT tools to model complex engineering problems

Using basic computing techniques students will be able to represent tokens using regular
CO2-PO1 expressions.

Understanding the concepts of regular expressions will help them to design appropriate
CO2-PO4 lexical analyzers.

Using modern IT tools to model finite automaton for complex engineering problems.
CO2-PO5

CO3-PO1 Students will understand and gain knowledge about different types of parsers.

CO3-PO3 Students will be able to design parse trees for different input strings.

CO3-PO5 Modern IT tools can be used to model syntax analyzer.

CO4-PO3 Students will be able to design and develop solutions for various optimization problems.
CO4-PO5 Students will learn the modern modeling tools for optimization.

CO5-PO1 Understanding the concept of syntax directed translation for semantic analysis.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

CHALK & BOARD


STUD. ASSIGNMENT
WEB RESOURCES
STUD. SEMINARS

ASSESSMENT METHODOLOGIES-DIRECT

ASSIGNMENTS
TESTS/MODEL EXAMS
UNIV. EXAMINATION
STUD. SEMINARS

ASSESSMENT METHODOLOGIES-INDIRECT

ASSESSMENT OF COURSE OUTCOMES (BY FEEDBACK, ONCE)


STUDENT FEEDBACK ON FACULTY (ONCE)

Questionnaire for Course Exit Survey

1. Whether you passed the course?

2. Can you represent language tokens using regular expressions?


Strongly agree agree neutral disagree strongly disagree

3. Is it possible for you to design a simple lexical analyzer?


Strongly agree agree neutral disagree strongly disagree
4. Can you generate intermediate code for high level languages?
Strongly agree agree neutral disagree strongly disagree

5. Can you design a syntax directed translation scheme for a context free grammar?
Strongly agree agree neutral disagree strongly disagree

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Participated Attainment Percentage


CO 1
CO 2
CO 3
CO 4
CO 5

CS 305

Microprocessors and Microcontrollers


CS010 405: MICROPROCESSORS AND MICROCONTROLLERS

COURSE INFORMATION SHEET

PROGRAMME: Computer Science And


Engineering DEGREE: B.TECH

COURSE: Microprocessors and Microcontrollers SEMESTER: V CREDITS: 3

COURSE CODE: CS COURSE TYPE: Regular


REGULATION: 2015

CONTACT HOURS: 4/1


COURSE AREA/DOMAIN: Hardware Design (Tutorial)hrs/week

CORRESPONDING LAB COURSE CODE (IF ANY): LAB COURSE NAME: Microprocessor
CS 332 Lab

SYLLABUS

UNIT DETAILS HOURS

Evolution of microprocessors, 8086 Microprocessor-Architecture and signals, Memory


organization, Minimum and maximum mode of operation, Minimum mode Timing
Diagram. Comparison of 8086 and 8088
1 7
.

2 8
8086 Addressing Modes, 8086 Instruction set and Assembler Directives - Assembly
Language Programming with Subroutines, Macros, Passing Parameters, Use of stack.

Interrupts - Types of Interrupts and Interrupt Service Routine. Handling Interrupts in


3 7
8086, Interrupt programming. Basic Peripherals and their Interfacing
with 8086 - Programmable Interrupt Controller - 8259 -Architecture.

Interfacing Memory, I/O, 8255 - Detailed study -Architecture, Control word format and
4 modes of operation, Architecture and modes of operation of 8279 and 8257 (Just 7
mention the control word, no need to memorize the control word format)

Microcontrollers - Types of Microcontrollers – Criteria for selecting a microcontroller -


Example Applications. Characteristics and Resources of a microcontroller.

5 Organization and design of these resources in a typical microcontroller - 8051. 8

8051 Architecture, Register Organization, Memory and I/O addressing, Interrupts and
Stack.

6 8051 Addressing Modes, Different types of instructions and Instruction Set, Simple 8
programs. Peripheral Chips for timing control-8254/8253

TOTAL HOURS 45

TEXT/REFERENCE BOOKS:

AUTHORS/BOOK TITLE /PUBLICATION

Bhurchandi and Ray, Advanced Microprocessors and Peripherals, Third Edition McGraw

T1 Hill.

Raj Kamal, Microcontrollers: Architecture, Programming, Interfacing and System Design,

T2 Pearson Education

T3 Douglas V. Hall, SSSP Rao, Microprocessors and Interfacing, Third Edition, McGrawHill
Education.

Barry B. Brey, The Intel Microprocessors – Architecture, Programming and Interfacing,


R1
Eigth Edition, Pearson Education

A. NagoorKani, Microprocessors and Microcontrollers, Second Edition, Tata


R2
McGraw Hill.

COURSE OBJECTIVES:

To impart basic understanding of the internal organisation of 8086 Microprocessor and 8051
1 microcontroller

To introduce the concepts of interfacing microprocessors with external devices.


2

3
To develop assembly language programming skills.

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

Students are able to describe different modes of operations of a typical


CO 1
microprocessor and microcontroller

Students are able to design and develop 8086 assembly language programs
using software interrupts and various
CO 2
assembler directives

CO 3 Students are able to interface microprocessors with various external devices.


CO 4 Students are able to analyze and compare the features of microprocessors
and microcontrollers.

CO 5 Students are able to design and develop assembly language programs using
8051 microcontroller.

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
4

CO1 H L 

CO2 H M

CO3 H M

CO4 H M 

CO5 M H  

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

Apply the knowledge obtained to describe the concepts of microprocessor based


CO1-PO1- system and microcontroller based systems
High

CO1-PO3- Capable to design and develop microprocessor based systems


Low

CO2-PO1- Instructions in 8086microprocessor uses the basic mathematical concepts to develop


High programs for 8086 microprocessor

CO2-PO3- Design and develop programs that solve engineering problems


Medium

CO3-P1-High Application of engineering knowledge in interfacing help a student to develop


hardware solution
CO3-PO2- Study of interfacing helps a student to analyze and define computing requirements
Medium for a problem

CO4-PO2- Compare and contrast various features of microprocessors and microcontrollers and
High its applications helps to analyze and identify what are the computing requirements of
a microprocessor and microcontroller
CO4-PO6 Contribute the knowledge of microcontroller to select a particular microcontroller for
a particular application
CO5-PO1- Uses the basic mathematical concepts to develop programs for 8051 microcontroller
Medium

CO5-PO3- Design and develop programs that solve engineering problems


Medium

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON ICT ENABLED

SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

COURSE EXIT SURVEY


Q1. Are you able to recognize the architectural parts of a microprocessor?

Q2. Are you able to identify the criteria for selecting a microcontroller for a particular application

Q3. Are you able to develop assembly language programs for given problems?

Q4.Are you able to interface 8086 microprocessor with given specification of external memory?

Q5.Are you able to identify the connections to establish interfacing of an external peripheral device with
8086 microprocessor

Q6. Are you able to develop programs for 8051 microcontroller?


CS306

Computer Networks
CS306 : COMPUTER NETWORKS

COURSE INFORMATION SHEET

PROGRAMME: COMPUTER SCIENCE AND


ENGINEERING DEGREE: B.TECH

COURSE: COMPUTER NETWORKS SEMESTER: 6 CREDITS: 3

COURSE CODE: CS306 COURSE TYPE: CORE


REGULATION: 2016

COURSE AREA/DOMAIN: NETWORKING CONTACT HOURS: 3-0-0

CORRESPONDING LAB COURSE CODE (IF ANY): LAB COURSE NAME: NETWORK
CS 334 PROGRAMMING LAB

COURSE OBJECTIVES:
1 To build an understanding of the fundamental concepts of computer networking.

2 To introduce the basic taxonomy and terminology of computer networking.

To introduce advanced networking concepts.


3

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

The student is able to describe the different aspects of networks, protocols and
CO 1 network design models.

The student is able to examine various Data Link layer design issues and Data
Link protocols..
CO 2

CO 3
The Student is able to analyse and compare different LAN protocols.

CO 4 Enables the students to compare and select appropriate routing algorithms for a
network.

CO 5 Enables the students to examine the important aspects and functions of network layer,
transport layer and application layer in internetworking.
SYLLABUS

UNIT DETAILS HOURS

1 Introduction – Uses – Network Hardware – LAN –MAN – WAN, Internetworks – 7


Network Software – Protocol hierarchies – Design issues for the layers – Interface &
Service – Service Primitives. Reference models – OSI – TCP/IP.

Data Link layer Design Issues – Flow Control and ARQ techniques. Data link Protocols
– HDLC. DLL in Internet. MAC Sub layer – IEEE 802 FOR LANs & MANs, IEEE
2 8
802.3, 802.4, 802.5. Bridges - Switches – High Speed LANs - Gigabit Ethernet. Wireless
LANs - 802.11 a/b/g/n, 802.15.PPP

FIRST INTERNAL EXAM

Network layer – Routing – Shortest path routing, Flooding, Distance Vector Routing, Link
3 State Routing, RIP, OSPF, Routing for mobile hosts. 7

Congestion control algorithms – QoS. Internetworking – Network layer in internet. IPv4 -


4 IP Addressing – Classless and Class full Addressing. Sub-netting. 7

SECOND INTERNAL EXAMINATION

Internet Control Protocols – ICMP, ARP, RARP, BOOTP. Internet Multicasting – IGMP,
5 Exterior Routing Protocols – BGP. IPv6 – Addressing – Issues, ICMPv6. 7

Transport Layer – TCP & UDP. Application layer –FTP, DNS, Electronic mail, MIME,
6 SNMP. Introduction to World Wide Web. 7

TOTAL HOURS 43

TEXT/REFERENCE BOOKS:

T/R AUTHORS/BOOK TITLE /PUBLICATION

T1
Andrew S. Tanenbaum, Computer Networks, 4/e, PHI

T2 Behrouz A. Forouzan, Data Communications and Networking, 4/e, Tata McGraw Hill

Larry L. Peterson & Bruce S. Dave, Computer Networks-A Systems Approach, 5/e, Morgan
T3
Kaufmann, 2011.

R1 Fred Halsall, Computer Networking and the Internet, 5/e.

R2 James F. Kurose, Keith W. Ross, Computer Networking: A Top-Down Approach, 6/e.

R3 Keshav, An Engineering Approach to Computer Networks, Addison Wesley, 1998.

R4 Request for Comments (RFC) Pages - IETF -https://www.ietf.org/rfc.html

R5 W. Richard Stevens. TCP/IP Illustrated volume 1, Addison-Wesley, 2005.

William Stallings, Computer Networking with Internet Protocols, Prentice-Hall, 2004.


R6

CO-PO MAPPING
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1 M H H

CO2 M M

CO3 M M H

CO4 M M

CO5 M M

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

They could just apply the knowledge acquired to classify the layers based on its function
CO1-PO1

Understanding the layer functions helps the students to identify and formulate the problems
CO1-PO2 based on the layer

Understanding the layer functions and understanding the network factors, helps in analyzing
CO1-PO4 and interpreting the quality of networks.

Applies the knowledge in identifying the appropriate channel access techniques for both
CO2-PO2 wired and wireless communications

Understanding the various channel access techniques helps in analyzing and interpreting the
CO2-PO4 quality of networks.

Studies about the various routing techniques helps the students to fix up the shortest path
CO3-PO3 routes for packets in the network.

Understanding the various routing techniques helps in analyzing and interpreting the quality
CO3-PO4 of networks.

Understanding the various routing techniques helps in analyzing research based works.

CO3-PO5

Applies the knowledge in identifying the appropriate end to end protocol for reliable
CO4-PO2 communication.

Understanding the various end to end protocols helps in analyzing and interpreting the
CO4-PO4 quality of networks.

They could apply the knowledge acquired on various applications over internet.
CO5-PO1

They could identify the various applications over internet.


CO5-PO2

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD.  WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

 STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS ☐ GROUP


DISCUSSION

COURSE EXIT SURVEY

Q1. Are you able to visualize the different aspects of networks?

Q2. Are you able to examine various Data Link layer design issues and Data Link protocols?

Q3. Are you able to analyze and compare different LAN protocols?

Q4. Are you able to compare and select appropriate routing algorithms for a network.

Q5. Are you able to examine the important aspects and functions of network layer in internetworking?
Q6. Are you able to examine the important aspects and functions of transport layer in internetworking?
Q7. Are you able to examine the important aspects and functions of application layer in internetworking?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated

CO 1

CO 2

CO 3

CO 4

CO 5
CS309
GRAPH THEORY AND
COMBINATORICS
GRAPH THEORY AND COMBINATORICS
COURSE INFORMATION SHEET

PROGRAMME: Computer Science and Engineering DEGREE: B.TECH

COURSE: Graph Theory And Combinatorics

SEMESTER: 5 CREDITS: 3

COURSE CODE: CS 309 COURSE TYPE: CORE

REGULATION: 2015

COURSE AREA/DOMAIN: Graph Theory And


Combinatorics CONTACT HOURS: 2-0-2

CORRESPONDING LAB COURSE CODE : NIL LAB COURSE NAME: NA

COURSE OBJECTIVES:
To introduce the fundamental concepts in graph theory, including properties and
1
characterization of graphs/ trees and Graphs theoretic algorithms

PROGRAM OUTCOMES:

1 Engineering knowledge: Apply knowledge of Computing, Science and Mathematics for


developing hardware and software solutions for engineering problems.
Problem analysis: Identify, analyze and define the computing requirements appropriate to
2
problems relevant to Computer Science & Engineering discipline.

3 Design/development of solutions: Expertise in design, development and analysis of efficient


computer based solutions for complex engineering problems.
4 Conduct investigations of complex problems: Develop software solutions for
multidisciplinary environment, test the performance and effectively maintain it.
5 Modern tool usage: Understand the pros and cons of latest techniques and tools and to use
them in modeling and simulation of engineering activities.
The engineer and the society: Understand the requirements of various societal domains such
6
as public health and safety, cultural, medical, cyber security, social network and ecommerce,
and contribute the knowledge and experience as a computer scientist/engineer keeping
environmental considerations and sustainability.
Environment and sustainability: Design and develop system software and new programming
7 languages to provide more efficient computing environment which adds to the ease of human
life.
8 Ethics: Apply professional, ethical, legal principles in developing solutions for issues related to
social responsibilities and security.
9 Individual and team work: Perform effectively as an individual, as a member or a leader of a
group for achieving a common goal.
10
Communication: Communicate effectively with members in a working group, clients, society
at large and also able to present report on requirements and solutions.

11 Project management and finance: Study and understand the project requirements, estimation
of cost and time of the implementation and the continuous monitoring of the progress.
12 Life-long learning: Recognize and adapt to latest changes in the relevant technologies in the
world.
COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

Student shall be able to demonstrate the knowledge of fundamental concepts in


CO 1
graph theory, including properties and characterization of graphs and trees.

CO 2 Student shall be able to use graphs for solving real life problems.

Student shall be able to distinguish between planar and non-planar graphs and solve
CO 3
problems.

Student shall be able to develop efficient algorithms for graph related problems in
CO 4
different domains of engineering and science.

SYLLABUS:

UNIT DETAILS HOURS

Introductory Concepts - What Is Graph – Application Of Graphs – Finite And


Infinite Graphs – Incidence And Degree – Isolated Vertex, Pendent Vertex And
1 09
Null Graph. Paths And Circuits – Isomorphism, Sub Graphs, Walks, Paths And
Circuits, Connected Graphs, Disconnect Graphs.

Euler graphs, Hamiltonian paths and circuits, Dirac's theorem for Hamiltonicity,
2 Travelling salesman problem. Directed graphs – types of digraphs, Digraphs 10
and binary relation

FIRST INTERNAL EXAM

3 Trees – properties, pendent vertex, Distance and centres - Rooted and binary 07
tree, counting trees spanning trees.

Vertex Connectivity, Edge Connectivity, Cut set and Cut Vertices, Fundamental
4 circuits, Planar graphs, Different representation of planar graphs, Euler's 09
theorem, Geometric dual, Combinatorial dual.

SECOND INTERNAL EXAMINATION

5 Matrix representation of graphs- Adjacency matrix, Incidence Matrix, Circuit 08


matrix, Fundamental Circuit matrix and Rank, Cut set matrix, Path matrix

6 Graphs theoretic algorithms - Algorithm for computer representation of a graph, 07


algorithm for connectedness and components, spanning tree, shortest path.
TOTAL HOURS 50
TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION

T1 Narasingh Deo, Graph theory, PHI

R1 Douglas B. West, Introduction to Graph Theory, Prentice Hall India Ltd.

R2 Robin J. Wilson, Introduction to Graph Theory, Longman Group Ltd.

R3 R. Diestel, Graph Theory, free online edition: diestel-graph-theory.com/basic.html.

CO-PO MAPPING:

PO1 PO1 PO1


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9
0 1 2

CO1 H M

CO2 H

CO3 H

CO4 H H

CO-PO MAPPING (JUSTIFICATION):

CO-PO Justification

CO1-PO1 (H) Knowledge of graph and different terminologies in graph shall strongly help
student to clearly understand the basics of many engineering concepts.

CO1-PO12 (M) Knowledge of graph and different terminologies in graph form a foundation to
learning advanced techniques in several engineering disciplines.

CO2-PO2 (H) Learning to use graphs to solve real world problems strongly helps the students to
analyse and judge the real world problems and deduce which type of graph to be
considered for a particular problem and how to map it with regard to the problem.

CO3-PO2 (H) Learning the concept and method to use planar graph and to judge whether a graph
is planar or not strongly helps the student analyse and solve certain real world
problems

CO4-PO1 (H) Learning how to represent graphs by different programming structures available in
computer programming makes a student capable of converting his knowledge in
graph theory to developing programs to demonstrate the different graph theoretical
operations.

CO4-PO3 (H) Using different graph theoretical algorithms strongly helps the students to develop
efficient algorithms for different complex, real world problems.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON ☐ ICT ENABLED

SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES - DIRECT:


 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINATION

SEMINARS EXAMS

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

Questionnaire for Course Exit Survey

1. Whether you have passed the course?


2. Can you differentiate between a path, walk and circuit?
3. Can you map a real world problem to a graph theoretical problem?
4. Can you identify whether a drawn graph is planar graph or not ?
5. Are you able to find a minimum spanning tree if a graph is given using any algorithm derived for the
purpose?

Course Outcome Attainment*(after course survey)

No of Students
Course Outcome Attainment Percentage
Participated
CO 1

CO 2

CO 3

CO 4
CS334 NETWORK PROGRAMMING LAB
COURSE INFORMATION SHEET

PROGRAMME:COMPUTER SCIENCE &


ENGINEERING DEGREE: BTECH

COURSE: NETWORK PROGRAMMING


LAB SEMESTER: VICREDITS: 1

COURSE CODE: CS334 COURSE TYPE: LAB


REGULATION: 2016

COURSE AREA/DOMAIN:
PROGRAMMING/DATA CONTACT HOURS: 3 Lab hours/Week.
COMMUNICATION

CORRESPONDING THEORY COURSE


CODE (IF ANY): CS306 LAB COURSE NAME:NA
SYLLABUS

List of Exercises/ Experiments (12 Exercises/ Experiments are to be completed. Exercises/


Experiments marked with * are mandatory)

1. Getting started with Basics of Network configurations files and Networking Commands in Linux.

2. To familiarize and understand the use and functioning of System Calls used for Operating system and
network programming in Linux.
3. Familiarization and implementation of programs related to Process and thread.
4. Implement the First Readers-Writers Problem.
5. Implement the Second Readers-Writers problem.

6. Implement programs for Inter Process Communication using PIPE, Message Queue and Shared Memory.

7. Implement Client-Server communication using Socket Programming and TCP as transport layer
protocol.*

8. Implement Client-Server communication using Socket Programming and UDP as transport layer
protocol.*
9. Implement a multi user chat server using TCP as transport layer protocol.*

10. Implement Concurrent Time Server application using UDP to execute the program at remoteserver. Client
sends a time request to the server, server sends its system time back to the client. Client displays the result.*
11. Implement and simulate algorithm for Distance vector routing protocol.
12. Implement and simulate algorithm for Link state routing protocol.
13. Implement Simple Mail Transfer Protocol.*

14. Develop concurrent file server which will provide the file requested by client if it exists. If not server
sends appropriate message to the client. Server should also send its process ID (PID) to clients for display
along with file or the message.*

15. Using Wireshark observe data transferred in client server communication using UDP and identify the
UDP datagram.

16. Using Wireshark observe Three Way Handshaking Connection Establishment, Data Transfer and Three
Way Handshaking Connection Termination in client server communication using TCP.
17. Develop a packet capturing and filtering application using raw sockets.

18. Design and configure a network with multiple subnets with wired and wireless LANs using required
network devices. Configure the following services in the network- TELNET, SSH, FTP server, Web server,
File server, DHCP server and DNS server.*

19. Install network simulator NS-2 in any of the Linux operating system and simulate wired and wireless
scenario.
LAB CYCLE
1. Write simple java program for the following:

a. To find the factorial of a given number

b. To print the first n fibonacci series

c. To check whether a given string is palindrome.

2. Familiarization of Basic Networking Commands and Network configuration files in Linux.

3. Familiarization of system calls used for operating system and network programming in linux.

4. Write a program to implement process creation.

5. Write a program to implement a simple thread.

6. Implementation of Inter Process Communication using

a. PIPE

b. Message Queue

c. Shared Memory.

7. Implement Distance vector routing protocol.

8. Implement Link state routing protocol.

9. Implement Client Server Communication using socket programming and TCP as transport layer
protocol.
10. Implement Client Server Communication using socket programming and UDP as transport layer
protocol.

11. Implement a multi user chat server using TCP as Transport layer protocol.

12. Implement Concurrent Time Server application using UDP to execute the program at remote
server. Client sends a time request to the server, server sends its system time back to the client.
Client displays the result.

13. Implement Simple Mail Transfer Protocol.


14. Develop concurrent file server which will provide the file requested by client if it exists. If not
server sends appropriate message to the client. Server should also send its process ID (PID) to
clients for display along with file or the message.

15. Familiarization of Wireshark (home assignment)

TEXT/REFERENCE BOOKS

T/R BOOK TITLE/AUTHORS/PUBLICATION

R1 Herbert Schildt, Java: The Complete Reference, 8/e, Tata McGraw Hill, 2011.

R2 Y. Daniel Liang, Introduction to Java Programming, 7/e, Pearson, 2013

Abraham Silberschatz, Peter B Galvin, Greg Gagne, Operating System Concepts, 9/e, Wiley India,
R3 2015.

R4 Computer Networks A Systems Approach-Larry L.Peterson and Bruce S.Davie,4th

Edition .Morgan Kaufman

COURSE PRE-REQUISITES

C.CO SE
DE COURSE NAME DESCRIPTION M

Object Oriented Design and


CS206 Programming Fundamentals of Java programming 4

CS204 Operating Systems Overview of thread, process and IPC 4

CS307 Data Communication Fundamentals of communication 5

CS306 Computer Networks Familiarization of Network protocols 6


COURSE OBJECTIVES

1 To introduce Network related commands and configuration files in Linux Operating System.

2 To introduce tools for Network Traffic Analysis and Network Monitoring

3 To practice Network Programming using Linux System Calls.

4 To design and deploy Computer Networks.

COURSE OUTCOMES

SNO DESCRIPTION

CO1 Use network related commands and configuration files in Linux Operating
System.

CO2 Develop operating system and network application programs.

CO3 Analyze network traffic using network monitoring tools.

CO-PO MAPPING

PO PO PO PO PO PO PO PO PO P0 PO PO

1 2 3 4 5 6 7 8 9 10 11 12

CO1 H

CO2 H

CO3 M M M H
JUSTIFICATIONS FOR CO-PO
MAPPING

Mappin LOW/MEDIUM/HIG
g H Justification

The knowledge about system calls helps to find the solution


CO1-PO1 H of

complex engineering problems related to


OS.

CO2-PO3 H The knowledge about process helps to choose the suitable

algorithm to solve complex


problems.

The knowledge about Wireshark and other network


CO3-PO1 M protocols to

find the solution of complex engineering problems related to

network.

Knowledge about networking protocols helps to identify,


CO3-PO2 M formulate

and analyze network traffic monitoring.

CO3-PO9 M Individual and team work effectively help to understand the

network traffic monitoring and tools associated


to it.

CO3-PO10 H Communication can be made possible by demonstrating the

networking traffic and commands.


WEB SOURCE REFERENCES

http://www.studytonight.com/operating-
1 system

https://hubpages.com/technology/Communication-Engineering-
2 FAQs

https://www.smartzworld.com/notes/data-communication-and-computer-networks-
3 notes-pdf-dccn

4 https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands

http://www.comptechdoc.org/os/linux/commands/linux_crspfiles
5 .html

6 http://www.nptelvideos.in/2012/11/computer-networks.html

DELIVERY/INSTRUCTIONAL METHODOLOGIES
 ☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 STUD.  TESTS/MODEL  UNIV.


 ASSIGNMENTS
SEMINARS EXAMS EXAMINA
TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS


 GROUP
DISCUSSION

SEMESTER – 5

DESIGN PROJECT

PROGRAMME:COMPUTER SCIENCE DEGREE:B TECH : YEAR JUNE2017-


AND & ENGINERRING DECE 2017
COURSE:DESIGN PROJECT SEMESTER : V CREDIT: 2
COURSE CODE:CS010503 COURSE TYPE : CORE
REGULATION:2010
CONTACT HOURS :2 + 1( LAB COURSE NAME: NA
TUTORIAL)HOURS/WEEK

Objectives
 To understand the engineering aspects of design with reference to simple products.
 To foster innovation in design of products, processes or systems.
 To develop design that adds value to products and solves technical problems.

Course Outcome

COURSE
EXPLANATION
OUTCOMES
CS341.1 The students will be able to understand the engineering aspects of
design of products

The students will be able to think innovatively on the development of


CS341.2 components,products,processes or technologies in the engineering filed
The students will be able to analyze the problem requirement and arrive at
CS341.3 workable design solution.
Syllabus
PHASE DETAILS HOURS
1 STUDY: 10
Take minimum three sample products, process or techniques in the
area of specialization,study,analyze and present them.The analysis
shall be focused on functionality ,strength,material,
manufacture/construction, quality ,reliability, aesthetics,
ergonomics,safety , maintenance, handling,sustainblity ,cost
etc,whichever are applicable.Each student in the group has to present
individually , choosing different products,processes or techniques.

2 DESIGN: 14
The project team shall identify an innovative products , process or
technology and proceed with detailed design . At the end , the team
has to document it properly and present and defend it. The design is
expected to concentrate on functionality , design for strength is not
expected.
NOTE:
The one hour/week allotted for tutorial shall be used for discussions
and presentations . The project team (not exceeding the four) can be
students from different branches, if the design problem is
multidisciplinary
TEXT/RFERENCE BOOKS

T/R BOOKS TITLE/AUTHORS /PUBLICATION


R Michael Luchs, Scott Swan, Abbie Griffin, 2015. Design Thinking. 405 pages, John
Wiley & Sons, Inc.
R Kevin Otto, Kristin Wood, 2017. Product Design, 1065 pages, Pearson Education,
Inc

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 M H
CO2 M H H M M H H H
CO3 M H H H H H H

CO-PO Justification

CS341.1-PO1 Students will understand and gain knowledge on various engineering aspects of product
design.
CS341.2-PO1 Students will apply engineering knowledge while developing components, products, processes
and technologies in the engineering field.
CS341.2-PO3 Students will design and develop solutions for complex engineering problems by developing innovative
components, products, processes and technology.
CS341.2-PO5 Students shall learn the use of tools for innovation & creative thinking and modern modeling tools etc. for
innovation and development of components, products and processes.
CS341.2-PO6 Students shall also consider societal aspects like health, safety, legal and cultural in addition to functional
aspects while innovating and developing components, products and processes
CS341.2-PO7 Students shall also consider environmental issues and the need for sustainable development while innovating
and developing components, products and processes.
CS341.2-PO9 Students shall develop individual skills as well as team & leadership skills while working in student groups.
CS341.2-PO10 Students shall develop communication skills while working in student groups.
CS341.2-PO11 Students shall develop project management skills while working in groups and managing the development of
components, products and processes.

Questionnaire for Course Exit Survey

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated
CO 1
CO 2
CO 3
SEMESTER – 6

SOFT COMPUTING

COURSE INFORMATION SHEET

PROGRAMME: COMPUTER SCIENCE DEGREE: BTECH


& ENGINEERING
COURSE: SOFT COMPUTING SEMESTER:V CREDITS: 3

COURSE CODE: CS361 COURSE TYPE:ELECTIVE


REGULATION: 2015
COURSE AREA/DOMAIN: CONTACT HOURS: 3 hours/Week.
Computing:
CORRESPONDING LAB COURSE CODE LAB COURSE NAME: NIL
(IF ANY): NIL

Introduction to Soft Computing


Artificial neural networks -
I 8
biological neurons, Basic models
of artificial neural networks –
Connections, Learning,
Activation Functions, McCulloch
and Pitts Neuron, Hebb network.
Perceptron networks – Learning rule
– Training and testing algorithm,
II Adaptive Linear Neuron, Back 8
propagation Network – Architecture,
Training algorithm.

Fuzzy logic - fuzzy sets - properties


III - operations on fuzzy sets, fuzzy 7
relations - operations on fuzzy
relations

Fuzzy membership functions,


fuzzification, Methods of
IV 7
membership value assignments –
intuition – inference – rank ordering,
Lambda –cuts for fuzzy sets,
Defuzzification
Truth values and Tables in Fuzzy
Logic, Fuzzy propositions,
Formation of fuzzy rules -
V Decomposition of rules – 8
Aggregation of rules, Fuzzy
Inference Systems – Mamdani – and
– Sugeno - types, - Neuro-fuzzy –
hybrid - systems - characteristics -
classification
Introduction to genetic algorithm,
operators in genetic algorithm -
coding - selection - cross over –
VI 8
mutation, Stopping condition for
genetic algorithm flow, Genetic
neuro hybrid systems, Genetic-
Fuzzy rule based system

TOTAL HOURS 46

Reference
1. S. N. Sivanandam and S. N.Deepa, Principles of soft computing - Wiley India.
2. Timothy J. Ross, Fuzzy Logic with engineering applications – Wiley India
3. N. K. Sinha and M. M. Gupta, Soft Computing & Intelligent Systems: Theory &
Applications-Academic Press /Elsevier. 2009.
4. Simon Haykin, Neural Network- A Comprehensive Foundation- Prentice Hall
International, Inc
5. R. Eberhart and Y. Shi, Computational Intelligence: Concepts to Implementation, Morgan
Kaufman/Elsevier, 2007
6. Ross T.J. , Fuzzy Logic with Engineering Applications- McGraw Hill
7. Driankov D., Hellendoorn H. and Reinfrank M., An Introduction to Fuzzy ControlNarosa
Pub.
8. Bart Kosko, Neural Network and Fuzzy Systems- Prentice Hall, Inc., Englewood Cliffs
9. Goldberg D.E., Genetic Algorithms in Search, Optimization, and Machine Learning- Addison
Wesley.

Course Objectives

 To introduce the concepts in Soft Computing such as Artificial Neural Networks, Fuzzy logic based systems,
genetic algorithm-based systems and their hybrids

Course Outcome

CO1: Learn about soft computing techniques and their applications.

CO2: Analyze various neural network architectures.

CO3: Define the fuzzy systems.

CO4: Understand the genetic algorithm concepts and their applications.

CO5: Identify and select a suitable Soft Computing technology to solve the problem.

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 M M H
CO2 M M H
CO3 H H
CO4 M H
CO5 H H H

JUSTIFICATIONS FOR THE MAPPING


CO-PO Justification

As they could just apply the knowledge of soft computing for solutions to engineering
problems.
CO1-PO1

CO1-PO2 Students could arrive at conclusions using principles of soft


computing.
CO1-PO3 They can design soft computing systems for societal needs

Students will be able to describe neural network architectures

CO2-PO1

Students will be able to analyze problems and arrive at


conclusions using neural networks.
CO2-PO2

CO2-PO3 Students will be able to design systems using neural networks

CO3-PO1 Students will be able to describe various fuzzy systems

CO3-PO3 Students gain competency in designing fuzzy inference system

CO4-PO2 Students will gain knowledge in applying genetic algorithm


Methods
CO4-PO3 Students gain competency in designing a genetic method for a
Problem
CO5-PO1 Students will be able to identify different soft computing methods
for real time problems
CO5-PO2 Students will be able to design algorithms using standard
practices in soft computing
CO5-PO3 Students gain competency in designing and developing their own
soft computing system

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

CHALK & BOARD


STUD. ASSIGNMENT
WEB RESOURCES
STUD. SEMINARS

ASSESSMENT METHODOLOGIES-DIRECT

ASSIGNMENTS
TESTS/MODEL EXAMS
UNIV. EXAMINATION
STUD. SEMINARS

ASSESSMENT METHODOLOGIES-INDIRECT

ASSESSMENT OF COURSE OUTCOMES (BY FEEDBACK, ONCE)


STUDENT FEEDBACK ON FACULTY (ONCE)

Questionnaire for Course Exit Survey

1. Whether you passed the course?


2. Can you differentiate supervised and un-supervised learning techniques?
3. Is it possible for you to analyze various neural network architectures?
4. Using different membership value assignment techniques can you assign membership values to a given real world problem.
5. Can you develop a software project using the current technologies available?
6. Are you able to model a fuzzy inference system for any real world application?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Participated Attainment Percentage


CO 1
CO 2
CO 3
CO 4
CO 5
CO 6

CS362
COMPUTER VISION
CS362: COMPUTER VISION (ELECTIVE)

COURSE INFORMATION SHEET

PROGRAMME: DEGREE: B.TECH

Computer Science Engineering

CREDITS:
COURSE: COMPUTER VISION SEMESTER: 6 NA
COURSE CODE: CS302 COURSE TYPE: ELECTIVE
REGULATION: 2018

COURSE AREA/DOMAIN: IMAGE FORMATION


AND PROCESSING CONCEPTS & ML LEARNING CONTACT HOURS:42

CORRESPONDING LAB COURSE CODE (IF


ANY):NIL LAB COURSE NAME: NA

COURSE OBJECTIVES:

1 To build an understanding on detailed models of image formation.

2 To expose the students to image feature detection and matching

3 To introduce fundamental algorithms for pattern recognition

4 To introduce various classification techniques

5 To expose the students to various structural pattern recognition and feature extraction

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

CO 1 Appreciate the detailed models of image formation.

KNOWLEDGE

CO 2
Analyze the techniques for image feature detection and matching
COMPREHENSION

CO 3
Apply various algorithms for pattern recognition
APPLICATION

CO 4 Examine various clustering algorithms


ANALYSIS

CO 5
Analyze structural pattern recognition and feature extraction techniques
SYNTHESIS

SYLLABUS

UNIT DETAILS HOURS

Image formation and Image model- Components of a vision system-


1 Cameras- camera model and camera calibration- Radiometry- Light in 6
space- Light in surface - Sources, shadows and shading

Multiple images-The Geometry of multiple views- Stereopsis- Affine


structure from motion- Elements of Affine Geometry Affine structure and
2 motion from two images- Affine structure and motion from multiple
7
images- From Affine to Euclidean images.

FIRST INTERNAL EXAM

High level vision- Geometric methods- Model based vision- Obtaining


3 hypothesis by pose consistency, pose clustering and using Invariants, 7
Verification
Introduction to pattern and classification, supervised and unsupervised
learning, Clustering Vs classification, Bayesian Decision Theory- Minimum
error rate classification Classifiers, discriminant functions, decision
4 surfaces- The normal density and discriminant-functions for the Normal 7
density

SECOND INTERNAL EXAMINATION

Linear discriminant based classifiers and tree classifiers


Linear discriminant function based classifiers- Perceptron- Minimum Mean
5 Squared Error (MME) method, Support Vector machine, Decision Trees: 7
CART, ID3.
Unsupervised Methods Basics of Clustering; similarity / dissimilarity
measures; clustering criteria. Different distance functions and similarity
6 measures, K-means algorithm. 8
Recent Advances in Pattern Recognition Neural network structures for
pattern recognition, Pattern classification using Genetic Algorithms

END SEMESTER EXAM

TEXT/REFERENCE BOOKS:

T/R BOOK TITLE/AUTHORS/PUBLICATION

T Bernd Jahne and Horst HauBecker, Computer vision and Applications, Academic press, 2000.

David A. Forsyth & Jean Ponce, Computer vision – A Modern Approach, Prentice Hall, 2002
T

C. M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.


R1
Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, Second
Edition, Cambridge University Press, 2004.

R2 R. O. Duda, P. E. Hart and D. G. Stork, Pattern Classification, John Wiley, 2001

R3 Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, Second
Edition, Cambridge University Press, 2004.
S. Theodoridis and K. Koutroumbas, Pattern Recognition, 4th Ed., Academic Press, 2009.
R4

CO-PO MAPPING

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1 M M

CO2 M

CO3 M M M

CO4 M M

CO5 M

CO-PO MAPPING (JUSTIFICATION)

CO-PO H/L/M Justification

CO1-PO1 M As the students could define the knowledge about detailed models of
image formation

CO1-PO2 M Knowledge of models of image formation helps students in problem


analysis

C02-PO1 M A complexity analysis of the engineering solutions provide Information


about image feature extraction and matching.

CO3-PO2 M Students are able to apply various pattern recognition algorithms.

CO3-PO3 M Problem analysis will help the students to choose the best method for
pattern recognition.

CO3-PO4 M Having the knowledge of different algorithm can help students to


apply these knowledge in pattern recognition.

CO4-PO1 M Having the knowledge in algorithm development strategies students


could analyze the problem and come to a conclusion on which design
principle to be used

CO4-PO2 M Various clustering problem analysis helps to identify the best clustering
algorithm for better result.

CO5-PO4 H Experimental investigations to validate structural pattern recognition


and feature extraction technique

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS


 GROUP
DISCUSSION

SURVEY QUESTIONS

1. Whether you passed the course ?

2. Are you able to explain different models of image formation and the components of computer vision
system ?
3. Can you elaborate different camera models and the calibration procedures ?

4. Are you able to demonstrate multiple views of a image ?


5. Do you know how image features are detected and how would you perform matching?

6. Are you able to elucidate importance of pattern recognition and various algorithms used for recognition?

7. Are you able to appreciate the latest advancements in pattern recognition?

8. Can you explain different linear discrimnant based classifiers and various unsupervised methods?
CS368
Web Technologies
CS368: Web Technologies

COURSE INFORMATION SHEET

PROGRAMME: Computer Science and Engineering DEGREE: B.TECH

COURSE: Web Technologies SEMESTER: 6 CREDITS: 3

COURSE CODE: 368 COURSE TYPE: ELECTIVE

REGULATION: 2016

COURSE AREA/DOMAIN: Web Technologies CONTACT HOURS: 3-0-0

CORRESPONDING LAB COURSE CODE : NIL LAB COURSE NAME: NA

COURSE OBJECTIVES:

1 To impart the design, development and implementation of Dynamic Web Pages.

2 To develop programs for Web using Scripting Languages.

3 To give an introduction to Data Interchange formats in Web.

PROGRAM OUTCOMES:

1 Engineering knowledge: Apply knowledge of Computing, Science and Mathematics for


developing hardware and software solutions for engineering problems.
Problem analysis: Identify, analyze and define the computing requirements appropriate to
2
problems relevant to Computer Science & Engineering discipline.

3 Design/development of solutions: Expertise in design, development and analysis of efficient


computer based solutions for complex engineering problems.
4 Conduct investigations of complex problems: Develop software solutions for
multidisciplinary environment, test the performance and effectively maintain it.
5 Modern tool usage: Understand the pros and cons of latest techniques and tools and to use
them in modeling and simulation of engineering activities.
The engineer and the society: Understand the requirements of various societal domains such
6
as public health and safety, cultural, medical, cyber security, social network and ecommerce,
and contribute the knowledge and experience as a computer scientist/engineer keeping
environmental considerations and sustainability.
Environment and sustainability: Design and develop system software and new programming
7 languages to provide more efficient computing environment which adds to the ease of human
life.
8 Ethics: Apply professional, ethical, legal principles in developing solutions for issues related to
social responsibilities and security.
9 Individual and team work: Perform effectively as an individual, as a member or a leader of a
group for achieving a common goal.
10
Communication: Communicate effectively with members in a working group, clients, society
at large and also able to present report on requirements and solutions.

11 Project management and finance: Study and understand the project requirements, estimation
of cost and time of the implementation and the continuous monitoring of the progress.
12 Life-long learning: Recognize and adapt to latest changes in the relevant technologies in the
world.
COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

Students will be able to understand the working of web and its components.
CO 1

Student will be able to design and create the contents and styles for static/dynamic
CO 2
web pages.

Student will be able to create interactive web pages for real world application
CO 3
scenarios using JavaScript/JQuery and PHP.

Student shall be able to understand universal data interchange formats for web such
CO 4
as XML and JSON.

SYLLABUS:

UNIT DETAILS HOURS

Introduction to the Internet: The World Wide Web, Web Browsers, Web
Servers, Uniform Resource Locators, Multipurpose Internet Mail Extensions, The
1 06
Hypertext Transfer Protocol. Common Gateway Interface(CGI), Content
Management System – Basics, Case Study: Apache Server, Word Press

Introduction to HTML/XHTML : Origins and Evolution of HTML and


2 XHTML, Basic Syntax of HTML, Standard HTML Document, Structure, Basic 07
Text Markup, Images, Hypertext Links, Lists, Tables, Forms, HTML5, Syntactic
Differences between HTML and XHTML.

FIRST INTERNAL EXAM

Introduction to Styles sheets and Frameworks


Cascading Style Sheets: Levels of Style Sheets Style Specification Formats,
Selector Forms Property-Value Forms, Font Properties, List Properties,
3 06
Alignment of Text, Color, The Box Model, Background Images, The span and
div Tags
Frameworks: Overview and Basics of Responsive CSS Frameworks- Bootstrap

Introduction to JavaScript and jQuery The Basics of JavaScript:


Overview of JavaScript, Object Orientation and JavaScript, General
4 Syntactic Characteristics, Primitives, Operations and Expressions, Screen 07
Output and Modification, Arrays, Functions, Callback Functions, Java Script
HTML DOM.
Introduction to jQuery: Overview and Basics

SECOND INTERNAL EXAMINATION

Introduction to Data Interchange Formats


XML: The Syntax of XML, XML Document Structure, Namespaces, XML
5 Schemas, Displaying Raw XML Documents, Displaying XML Documents with 08
CSS, XSLT Style Sheets, XML Applications.
JSON(Basics Only): Overview, Syntax, Data types, Objects, Schema
Comparison with XML.

Introduction to PHP: Origins and Uses of PHP, Overview of PHP - General


6 Syntactic Characteristics - Primitives, Operations and Expressions - Control 08
Statements, Arrays, Functions, Pattern Matching, Form Handling, Cookies,
Session Tracking

TOTAL HOURS 42

TEXT/REFERENCE BOOKS:

T/R BOOK TITLE/AUTHORS/PUBLICATION

P. J. Deitel, H.M. Deitel, Internet &World Wide Web How To Program, 4/e, Pearson
T1 International Edition 2010.

Robert W Sebesta, Programming the World Wide Web, 7/e, Pearson Education Inc., 2014.
T2

Bear Bibeault and Yehuda Katz, jQuery in Action, Second Edition, Manning
R1 Publications.[Chapter 1] Black Book, Kogent Learning Solutions Inc. 2009.

nd
Bob Boiko, Content Management Bible, 2 Edition, Wiley Publishers. [Chapter 1, 2]
R2

rd
Chris Bates, Web Programming Building Internet Applications 3 ed., Wiley India Edition, New
R3 Delhi, 2009

R4 Dream Tech, Web Technologies: HTML, JS, PHP, Java, JSP, ASP.NET, XML, AJAX,
R5 Jeffrey C Jackson, Web Technologies A Computer Science Perspective, Pearson Education
Inc. 2009.

R6 Lindsay Bassett, Introduction to JavaScript Object Notation: A To-the-Point Guide to JSON


1st Edition, O’Reilly.[Chapter 1,2,3,4]

R7 Matthew MacDonald, WordPress: The Missing Manual, 2nd Edition, O'Reilly Media.
[Chapter 1]

CO-PO MAPPING:

PO1 PO1 PO1


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9
0 1 2

CO1 H

CO2 M

CO3 H M M

CO4 H

CO-PO MAPPING (JUSTIFICATION):

CO-PO Justification

CO1-PO1 (H) Knowledge of web and components strongly helps student to design and develop
web based engineering solutions

CO2-PO3 (M) Designing and developing static and dynamic web pages can help the student to
design and develop practical solutions, to common problems, over the web.

CO3-PO3 (H) Mastering the use of Javascript, JQuery etc allows student to make interoperable
real world web applications, which indeed is the core of solving complex web
application problems.

CO3-PO5 (M) Developing real world web application using Javascript or JQuery familiarize the
student to modern tools for web development.
CO3-PO7 (M) Using Javascript/JQurery allows student to develop web applications which are
environment friendly and sustainable.

CO4-PO5 (H) Developing PHP programs makes a student capable of developing web applications
for real world problems using the modern tools for web development.

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART

CHALK & STUD. WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON ☐ ICT ENABLED

SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES - DIRECT:


 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINATION

SEMINARS EXAMS

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

Questionnaire for Course Exit Survey

1. Whether you have passed the course?


2. Can you identify the normal underlying technology used, when you are visiting a webpage?
3. Can you create a webpage if the layout is given to you?
4. Can you create a website for a normal company which can aid them in reducing their state-of-the-art
office chores?
5. Are you able to store data in the universal data interchange formats like XML, JSON?

Course Outcome Attainment*(after course survey)

No of Students
Course Outcome Attainment Percentage
Participated
CO 1

CO 2

CO 3

CO 4
CS403
PROGRAMMING PARADIGMS

CS403 PROGRAMMING PARADIGMS

PROGRAMME: COMPUTER SCIENCE & DEGREE: BTECH YEAR: AUG 2018-NOV 2018
ENGINEERING
COURSE: PROGRAMMING PARADIGMS SEMESTER: VII CREDITS: 3
COURSE CODE: CS403 YEAR OF COURSE TYPE: CORE
INTRODUCTION:2016
COURSE AREA/DOMAIN: CONTACT HOURS: 3 hours/Week.
CORRESPONDING LAB COURSE CODE (IF ANY): LAB COURSE NAME:
COURSE OBJECTIVE

1. To introduce the basic constructs that underlie all programming languages


2. To introduce the basics of programming language design and implementation
3. To introduce the organizational framework for learning new programming languages.
Course Outcome

COURSE
EXPLANATION
OUTCOMES
CO1 compare scope and binding of names in different programming languages
CO2 analyze control flow structures in different programming languages
CO3 appraise data types in different programming languages
CO4 analyze different control abstraction mechanisms
CO5 appraise constructs in functional, logic and scripting languages
CO6 analyze object oriented constructs in different programming languages
CO7 compare different concurrency constructs
CO8 interpret the concepts of run- time program management

SYLLABUS:

UNIT DETAILS HOURS

Names, Scopes and Bindings:- Names and Scopes, Binding Time, Scope Rules, Storage
Management, Binding of Referencing Environments. Control Flow: - Expression
Evaluation, Structured and Unstructured Flow, Sequencing, Selection, Iteration,
I Recursion, Non-determinacy. 7

Data Types:-Type Systems, Type Checking, Records and Variants, Arrays, Strings, Sets,
Pointers and Recursive Types, Lists, Files and Input/Output, Equality Testing and
II Assignment. 7

Subroutines and Control Abstraction: - Static and Dynamic Links, Calling Sequences,
III Parameter Passing, Generic Subroutines and Modules, Exception Handling, Co-routines 7

Functional and Logic Languages:- Lambda Calculus, Overview of Scheme, Strictness and
Lazy Evaluation, Streams and Monads, Higher-Order Functions, Logic Programming in
IV Prolog, Limitations of Logic Programming. 7

Data Abstraction and Object Orientation:-Encapsulation, Inheritance, Constructors and


Destructors, Aliasing, Overloading, Polymorphism, Dynamic Method Binding, Multiple
Inheritance. Innovative features of Scripting Languages:-Scoping rules, String and Pattern
V Manipulation, Data Types, Object Orientation 7

Concurrency:- Threads, Synchronization. Run-time program Management:- Virtual


Machines, Late Binding of Machine Code, Reflection, Symbolic Debugging, Performance
VI Analysis. 7

TOTAL HOURS 60

TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION

T Scott M L, Programming Language Pragmatics, 3rd Edn., Morgan Kaufmann Publishers, 2009.
R1 David A Watt, Programming Language Design Concepts, Wiley Dreamtech, 2004

R2 Ghezzi C and M. Jazayeri, Programming Language Concepts, 3rd Edn, Wiley.1997

Kenneth C Louden, Programming Languages: Principles and Practice, 3rd Edn., Cengage
R3 Learning, 2011.

Pratt T W, M V Zelkowitz, and T. V. Gopal, Programming Languages: Design and


R4 Implementation, 4th Edn., Pearson Education, 2001

R5 R W Sebesta, Concepts of Programming Languages, 11th Edn., Pearson Education, 2015

R6 Ravi Sethi, Programming Languages: Concepts & Constructs, 2nd Edn., Pearson Education, 2006

Tucker A B and R E Noonan, Programming Languages: Principles and Paradigms, 2nd


R7 Edn,McGraw Hill, 2006.

CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 H M
CO2 H
CO3 H L
CO4 H
CO5 H
CO6 H
CO7 M
CO8 H H
CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO1(HIGH) Students will able to compare scope and binding of names in different
programming languages which enhance their knowledge in programming
domain.
CO1-PO2(HIGH) Students will be able to identify and analyze scope and binding in different
programming languages.
CO2-PO2 Students will be able to analyze different control flow structures in different
programming languages
CO3-PO2 Students will examine datatypes in different programming languages
CO3-PO3 They will analyze datatypes in different programming languages and be able to
use them in solving engineering problems

CO4-PO2 Students will analyze control abstraction mechanism to solve problems


related to discipline
CO5-PO2 Students will examine constructs in functional, logic and scripting languages and
will be able to use them in different context
CO6-PO2 Students will be able to analyze object oriented constructs to develop object
oriented solutions
CO7-PO1 Students will be able to compare different concurrency constructs which enhance
their knowledge in engineering domain
CO8-PO2 Students will be able to analyze and interpret the concepts of run- time program
management which solves run time management issue
DELIVERY/INSTRUCTIONAL METHODOLOGIES:

☐LCD/SMART

 CHALK &  STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

 STUD. ☐ ADD-ON ☐ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 TESTS/MODE
 ASSIGNMENTS  STUD. L EXAMINA

SEMINARS EXAMS TION

STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

Questionnaire for Course Exit Survey

30. Whether you passed the course


31. Can you compare scope and binding of names in different programming languages?
32. Are you able to analyze control flow structures in different programming languages?
33. Are you able to analyze different control abstraction mechanisms?
34. Can you appraise constructs in functional, logic and scripting languages?
35. Are you able to analyze object oriented constructs in different programming languages?
36. Can you compare different concurrency constructs?
37. Are you able to interpret the concepts of run- time program management?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated
CO 1
CO 2
CO 3
CO 4
CO 5
CO 6
CO7
CO7
CO8
CS 407

Distributed Computing
COURSE INFORMATION SHEET

PROGRAMME: Computer Science DEGREE: BTECH

COURSE: Distributed Computing SEMESTER: Seventh CREDITS: 3

COURSE CODE: CS 407 COURSE TYPE: CORE

COURSE AREA/DOMAIN: Operating System CONTACT HOURS: 5 hours/Week.

CORRESPONDING LAB COURSE CODE (IF ANY):No LAB COURSE NAME:NA

COURSE OBJECTIVES

• To understand the concepts that underlie distributed computing


systems along with design and implementation issues.

• To study the key mechanisms and models for distributed systems.

COURSE OUTCOMES

C01 Differentiate distributed computing paradigm from other computing

C02 Outline the core concepts and architecture of distributed systems


C03 Summarize the mechanisms for inter process communication in a
distributed computing system.

C04 Identify appropriate distributed system principles in ensuring


transparency,consistency and fault-tolerance in distributed file systems

C05 Explain the concurrency control mechanisms in distributed transactional


environment and the mutual exclusion and election algorithms.

SYLLABUS
UNI DETAILS HOUR
T S
1 Evolution of Distributed Computing -Issues in designing a distributed system-
Challenges- Minicomputer model – Workstation model - Workstation-Server
model– Processor - pool model - Trends in distributed systems 7

2
System models: Physical models - Architectural models - Fundamental 6
models

3 Interprocess communication: characteristics – group communication -


Multicast Communication –Remote Procedure call - Network
virtualization. Case study : Skype 7

4 Distributed file system: File service architecture - Network file system-


Andrew file system- Name Service
7

5 Transactional concurrency control:- Transactions, Nested transactions-


Locks-Optimistic concurrency control
7

6 Distributed mutual exclusion – central server algorithm – ring based


algorithm- Maekawa's voting algorithm – Election: Ring -based election
algorithm – Bully algorithm 7

COURSE PRE-REQUISITES
C.CODE COURSE NAME DESCRIPTION SEM

CS202 Computer Organization and Basics of computer organization 4

Architecture

CS 204 Operating System Functionalities of OS 5

TEXT/REFERENCE BOOKS
T/R BOOK TITLE/AUTHORS/PUBLICATION

George Coulouris, Jean Dollimore, Tim Kindberg, “Distributed Systems: Concepts and
Design”,
T
Pearson 2009, 5th Edition.

Sunita Mahajan, Seema shah, Distributed Computing ,Oxford University Press, first edition,
R1
2010

Mukesh Singhal, Niranjan G Shivarathri, “Advanced Concepts in Operating systems”,


Tata
R2
Mc Graw Hill Ltd.

Pradeep. K, Sinha, Distributed Operating Systems ,PHI Edition, first Edition,1997.


R3

Andrew S Tenenbaum, Distributed Operating Systems, Pearson Education Asia


R4

CO-PO MAPPING
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1 H H M

CO2 H M M
CO3 M M

CO4 H M M

CO5 M M

CO-PO MAPPING (JUSTIFICATION)

CO-PO LOW(L) /MEDIUM JUSTIFICATION


(M) /HIGH (H)

CO1-PO1 H The knowledge of basic concepts of distributed systems will help the stude

to apply the same to formulate solutions for engineering problems.

CO1-PO2 H The knowledge of different ways of handling distributed systems principl

will help the students to apply the same to identify and analyze engineering

problems.

CO1-PO12 M The knowledge of distributed systems concepts helps students to develop

system programs and system calls and implement using Java language and

shell scripts.

CO2-PO1 H The knowledge of basic concepts of processes will help the students to app

the same to formulate solutions for engineering problems.

CO2-PO3 M Understanding of different mechanisms will help to review and analyze the

operations in distributed system.

CO2-PO4 M Thorough understanding of different models will help in the design and

development of abstract models for communication.

CO3-PO1 M Correlating the study of file systems to real world applications will aid in

formulating engineering problems with similar background and arriving at

solutions

CO3-PO3 M Study of naming services can be utilized in designing, analyzing and


interpreting of different problems and provide valid solutions.

CO4-PO1 H Detailed analytical and evaluative study of time related issues will help in

identification, formulation and finding feasible solutions for real world

computational problems

CO4-PO3 M An evaluative knowledge of time related issues will help in applying the sa

while designing and developing solutions to computational problems

CO4-PO4 M Students will acquire skills to design ,analyse and develop algorithms

for coordinating and sharing values between different process

CO5-PO1 M Study of different Distributed DBMS concept will help in design and

development of solutions for real time computational problems.

CO5-PO4 M Can contribute knowledge in global states of distributed computations des

the lack of global time.

DELIVERY/INSTRUCTIONAL METHODOLOGIES
 ☐LCD/SMART

CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS


 GROUP
DISCUSSION
COURSE EXIT SURVEY

Q1. Are you able to recall and identify the relevance of Distributed Computing?

Q2. Are you able to understand the concept of different communication models?

Q3. Are you able to identify Distributed file system?

Q4. Are you able to get an idea about Distributed system management?

Q5. Are you able to catch Distributed Database?


CS401 Computer Graphics
COURSE INFORMATION SHEET

PROGRAMME: DEGREE: B.TECH


Computer Science Engineering,

COURSE: COMPUTER GRAPHICS SEMESTER: 7 CREDITS: 4

COURSE CODE:CS401 COURSE TYPE: CORE


REGULATION: 2016
COURSE AREA/DOMAIN: Recent trends in computing, CONTACT HOURS: 4-0-0 (Tutorial)
Animation hours/Week.

CORRESPONDING LAB COURSE CODE (IF ANY):


NA LAB COURSE NAME: NIL

COURSE OBJECTIVES:

1 To introduce concepts of graphics input and display devices.

2
To discuss line and circle drawing algorithms.
3
To introduce 2D and 3D transformations and projections.
4
To introduce fundamentals of image processing.

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES

CO 1
Compare various graphics devices

CO2 Analyze and implement algorithm for line drawing, circle drawing and polygon
filling.
CO3 Apply geometric transformation on 2D and 3D objects.
C04 Analyze and implement algorithm for clipping
CO5 Apply various projection techniques on 3D objects
CO6 Summarize visible surface detection methods
CO7 Interpret various concepts and basic operations of image processing

SYLLABUS
UNIT DETAILS HOURS

Basic concepts in Computer Graphics – Types of Graphic Devices – Interactive


I Graphic inputs – Raster Scan and Random Scan Displays. 7

Line Drawing Algorithm- DDA, Bresenham’s algorithm – Circle Generation


Algorithms –Mid point circle algorithm, Bresenham’s algorithm- Scan Conversion-
II frame buffers – solid area scan conversion – polygon filling algorithms 8

Two dimensional transformations. Homogeneous coordinate systems – matrix


formulation and concatenation of transformations. Windowing concepts –Window to
Viewport Transformation- Two dimensional clipping-Line clipping – Cohen
III Sutherland, Midpoint Subdivision algorithm 8

Polygon clipping-Sutherland Hodgeman algorithm, WeilerAtherton algorithm, Three


dimensional object representationPolygon surfaces, Quadric surfaces – Basic 3D
IV transformations 8

V 9

Projections – Parallel and perspective projections – vanishing points. Visible surface


detection methods– Back face removal- Z-Buffer algorithm, A-buffer algorithm,
Depth-sorting method, Scan line algorithm.
Image processing – Introduction - Fundamental steps in image processing – digital
image representations – relationship between pixels – gray level histogram –spatial
VI convolution and correlation – edge detection – Robert, Prewitt, Sobel. 8
TOTAL HOURS 48

TEXT/REFERENCE BOOKS:

T/R BOOK TITLE/AUTHORS/PUBLICATION

Donald Hearn and M. Pauline Baker, Computer Graphics, PHI, 2e, 1996

E. Gose, R. Johnsonbaugh and S. Jost., Pattern Recognition and Image Analysis, PHI PTR, 1996
T (Module VI – Image Processing part)

William M. Newman and Robert F. Sproull , Principles of Interactive Computer Graphics. McGraw
T Hill, 2e, 1979

T Zhigang Xiang and Roy Plastock, Computer Graphics (Schaum’s outline Series), McGraw Hill, 1986

R David F. Rogers , Procedural Elements for Computer Graphics, Tata McGraw Hill, 2001.

R
M. Sonka, V. Hlavac, and R. Boyle, Image Processing, Analysis, and Machine Vision, Thomson India
Edition, 2007.

R Rafael C. Gonzalez and Richard E. Woods, Digital Image Processing. Pearson, 2017

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1 M M

CO2 H M

CO3 H M M

CO4 M M M

CO5 H M

CO6 H M

CO7 H

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO1 Able to apply the fundamentals of computer graphics on graphics creation

CO1-PO3 Understanding of working principle of display devices helps to choose


appropriate devices in various application

CO2-PO1 Students can use different algorithms and the concepts on solving problems

CO2-PO2 Able to analyze various algorithms and make decisions on applying the
algorithm on various applications

CO3-PO1 By understanding the mathematical background and representation of


images, students can apply this concepts on complex problems.

CO3-PO3 Students will be able to design graphics patterns by the understanding of


representation of 2D and 3D representation of images.

CO3-PO4 Students can analyze various representations and make interpretation from
them.

CO4-PO1 Able to apply the fundamentals of graphics on developing applications.

CO4-PO2 Students can understand the procedure and practical limitations on


developing graphical application by analyzing the existing systems.

CO4-PO5 Students will be able to develop applications like games, animation etc based
on the techniques studied

CO5-PO1 Able to apply the projection techniques in 3D objects.

CO5-PO2 Able to analyze different types of projection techniques in 3D objects.

CO6-PO2 Able to Summarize visible surface detection methods

CO6-PO3 Able to analyze the different visible surface detection methods

CO7-PO1 Interpret various concepts and basic operations of image processing

DELIVERY/INSTRUCTIONAL METHODOLOGIES:

☐LCD/SMART
CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 STUD.  TESTS/MODEL  UNIV.


 ASSIGNMENTS
SEMINARS EXAMS EXAMINA
TION

 STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ ADD-ON COURSES ☐ OTHERS


 GROUP
DISCUSSION

COURSE EXIT SURVEY

Q1: Whether you passed the course ?


Q2: Are you able to apply the fundamentals of computer graphics on graphics creation?
Q3: Are you able to make decisions on applying the algorithm on various applications?
Q4: Are you able to apply various projection techniques on 3D objects ?
Q5: Are to able to interpret various concepts and basic operations of image processing?
CS409

Cryptography and network


security
CS 409: Cryptography and network security

COURSE INFORMATION SHEET


PROGRAMME: COMPUTER SCIENCE AND
ENGINEERING DEGREE: B.TECH

COURSE: CRYPTOGRAPHY&NETWORK
SECURITY SEMESTER: 7 CREDITS: 3

COURSE CODE: CS409 COURSE TYPE: CORE


REGULATION: 2016

COURSE AREA/DOMAIN: CONTACT HOURS: 3-0-0

CORRESPONDING LAB COURSE CODE (IF ANY): LAB COURSE NAME: NIL

COURSE OBJECTIVES:

1 To introduce fundamental concepts of symmetric and asymmetric cipher models

2 To introduce fundamental concepts of authentication.

To introduce network security and web


security protocols.
3

COURSE OUTCOMES:

COURSE
EXPLANATION
OUTCOMES
CO 1 The student will be able to summarize different classical encryption techniques

The student will be able to identify mathematical concepts for different


CO 2 cryptographic algorithms.

CO 3 The student will be able to demonstrate cryptographic algorithms for


encryption/key exchange.

The student will be able to summarize different authentication and digital


CO 4 signature schemes.

CO 5 The student will be able to identify security issues in network, transport and
application layers and outline appropriate security protocols.

SYLLABUS

UNIT DETAILS HOURS

Symmetric Cipher Models- Substitution techniques- Transposition techniques- Rotor


1 machines-Steganography. Simplified DES- Block Cipher principles- The Data 7
Encryption Standard, Strength of DES Differential and linear Cryptanalysis. Block
Cipher Design principles- Block Cipher modes of operations.

IDEA: Primitive operations- Key expansions- One round, Odd round, Even Round-
2 Inverse keys for decryption. AES: Basic Structure- Primitive operation- Inverse 7
Cipher- Key Expansion, Rounds, Inverse Rounds. Stream Cipher –RC4.

FIRST INTERNAL EXAM

3 Public key Cryptography: - Principles of Public key Cryptography Systems, Number 7


theory- Fundamental Theorem of arithmetic, Fermat’s Theorem, Euler’s Theorem,
Euler’s Totient Function, Extended Euclid’s Algorithm, Modular arithmetic. RSA
algorithmKey Management - Diffie-Hellman Key Exchange, Elliptic curve
cryptography

Authentication requirements- Authentication functions- Message authentication codes-


4 Hash functions- SHA -1, MD5, Security of Hash functions and MACs- Authentication 7
protocols-Digital signatures-Digital signature standards..

SECOND INTERNAL EXAMINATION

Network security: Electronic Mail Security: Pretty good privacyS/MIME. IP Security:


5 Architecture- authentication HeaderEncapsulating Security payload- Combining 7
Security associationsKey management.

Web Security: Web Security considerations- secure Socket Layer and Transport layer
6 Security- Secure electronic transaction. Firewalls-Packet filters- Application Level 7
Gateway- Encrypted tunnels.

TOTAL HOURS 42

TEXT/REFERENCE BOOKS:

T/R AUTHORS/BOOK TITLE /PUBLICATION

T1 Behrouz A. Forouzan, Cryptography and Network Security, Tata McGraw-Hill. 2010

William Stallings, Cryptography and Network Security, Pearson Education, 2014


T2

B. Schneier , Applied Cryptography, Protocols, Algorithms, and Source Code in C, 2 nd Edn,


R1
Wiley, 1995.

Charlie Kaufman, Radia Perlman, Mike Speciner,


R2
Network Security, PHI, 2002
CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1 H H

CO2 H H

CO3 H H H

CO4 M

CO5 H H

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

They could apply the knowledge acquired to classify the different encryption
CO1-PO1 techniques.

Understanding the encryption techniques helps the students to identify and


CO1-PO2 formulate the problems based on the techniques.

Applies the knowledge of mathematics behind cryptographic technique, students


CO2-PO1 can find solutions for engineering problem.

Using the knowledge in basic mathematics students can analyze and


CO2-PO2 formulate solutions for some problems

By knowing the existing cryptographic algorithms students can formulate


CO3-PO2 new algorithms doing problem analysis

By studying the existing cryptographic algorithms students can conduct


CO3-PO4 investigations of complex problems and provide valid conclusions.

Will be following ethics in security application like hacking.


CO3-PO8

By studying different authentication and digital signature schemes student can


CO4-PO3 develop solutions for complex security related problems.

They could apply the knowledge acquired on various security applications over
CO5-PO1 internet.

They could identify the various security applications over internet.


CO5-PO2

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 ☐LCD/SMART
CHALK & STUD.  WEB RESOURCES BOARDS

TALK ASSIGNMENT

STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT
 UNIV.
 ASSIGNMENTS  STUD.  TESTS/MODEL EXAMINA

SEMINARS EXAMS TION

 STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐ GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

COURSE EXIT SURVEY

Q1. Are you able to solve the classical encryption technique problems?

Q2. Are you able to solve mathematical problems behind cryptographic algorithms?

Q3. Are you able to differentiate different cryptographic algorithms?

Q4. Are you able to create an authentication procedure for a secure communication?

Q5. Are you able to identify security issues in network layer?

Course Outcome Attainment*(after course survey)

Course Outcome No of Students Attainment Percentage


Participated

CO 1

CO 2

CO 3

CO 4

CO 5
CS467

Machine Learning
CS467 : MACHINE LEARNING

COURSE INFORMATION SHEET

PROGRAMME: Computer Science Engineering, DEGREE: B.TECH

COURSE: MACHINE LEARNING SEMESTER: 7 CREDITS: 3


COURSE CODE: CS467 COURSE TYPE: ELECTIVE
REGULATION: 2016

COURSE AREA/DOMAIN: ARTIFICIAL


INTELLIGENCE CONTACT HOURS: 3-0-0

CORRESPONDING LAB COURSE CODE (IF


ANY):NIL LAB COURSE NAME: NA

SYLLABUS

UNIT DETAILS HOURS

Introduction to Machine Learning, Examples of Machine Learning applications -


1 Learning associations, Classification, Regression, Unsupervised Learning, 6
Reinforcement Learning. Supervised learning- Input representation, Hypothesis
class, Version space, Vapnik-Chervonenkis (VC) Dimension

Probably Approximately Learning (PAC), Noise, Learning Multiple classes, Model


2 Selection and Generalization, Dimensionality reduction- Subset selection, Principle 8
Component Analysis

FIRST INTERNAL EXAM

Classification- Cross validation and re-sampling methods- Kfold cross validation,


3 Boot strapping, Measuring classifier performance- Precision, recall, ROC curves. 8
Bayes Theorem, Bayesian classifier, Maximum Likelihood estimation, Density
functions, Regression

Decision Trees- Entropy, Information Gain, Tree construction, ID3, Issues in


Decision Tree learning- Avoiding Over-fitting, Reduced Error Pruning, The problem
4 of Missing Attributes, Gain Ratio, Classification by Regression (CART), Neural 6
Networks- The Perceptron, Activation Functions, Training Feed Forward Network
by Back Propagation.

SECOND INTERNAL EXAMINATION

Kernel Machines- Support Vector Machine- Optimal Separating hyper plane, Soft-
margin hyperplane, Kernel trick, Kernel functions. Discrete Markov Processes,
5 Hidden Markov models, Three basic problems of HMMs- Evaluation problem, 8
finding state sequence, Learning model parameters. Combining multiple learners,
Ways to achieve diversity, Model combination schemes, Voting, Bagging, Booting

Unsupervised Learning - Clustering Methods - K-means, Expectation-Maximization


6 6
Algorithm, Hierarchical Clustering Methods , Density based clustering
TOTAL HOURS 42

TEXT/REFERENCE BOOKS:
T/R BOOK TITLE/AUTHORS/PUBLICATION

R Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.

Ethem Alpaydın, Introduction to Machine Learning (Adaptive Computation and


R Machine

Learning), MIT Press, 2004

R Margaret H. Dunham. Data Mining: introductory and Advanced Topics, Pearson, 2006

R Mitchell. T, Machine Learning, McGraw Hill.

Ryszard S. Michalski, Jaime G. Carbonell, and Tom M. Mitchell, Machine Learning :


R An

Artificial Intelligence Approach, Tioga Publishing Company.

COURSE OBJECTIVES:

1 To introduce the prominent methods for machine learning

2 To study the basics of supervised and unsupervised learning

3 To study the basics of connectionist and other architectures

COURSE OUTCOMES:

STUDENTS WILL BE ABLE TO:

COURSE
EXPLANATION
OUTCOMES

CO 1 Differentiate various learning approaches, and to interpret the concepts


of supervised learning

CO 2 Compare the different dimensionality reduction techniques

CO 3 Apply theoretical foundations of decision trees to identify best split and


Bayesian classifier to label data points

CO 4 Illustrate the working of classifier models like SVM, Neural Networks


and identify classifier model for typical machine learning applications

CO 5 Identify the state sequence and evaluate a sequence emission probability


from a given HMM

CO 6 Illustrate and apply clustering algorithms and identify its applicability in


real life problems

CO-PO MAPPING

CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PPO11 PO12

CO1      

CO2      

CO3       

CO4      

CO5    

CO6    

CO-PO MAPPING (JUSTIFICATION)

CO-PO Justification

CO1-PO1 Acquire basic knowledge to identify machine learning concepts to solve


problems.

CO1PO2 Analyse various problems to identify concepts to solve.

CO1PO3 Design solutions for various problems.

CO1PO4 Experiments can be conducted using various techniques for conclusion.


CO1PO9 Analyse, discuss and formulate models in groups.

CO1PO12 Enables the students for continuous upgradation.

CO2PO1 Comparative study of different dimensionality reduction techniques


involves solving complex engineering problems.

CO2PO2 Analyse problems to identify proper dimensionality reduction technique.

CO2PO3 Apply proper dimensionality reduction technique for problems.

CO2PO4 Dimensionality reduction techniques knowledge can be used to design and


conduct experiments to provide valid conclusions

CO2PO9 Expertise developed, which will enable the student to become a productive
member of a design team

CO2PO12 The student will become aware of the need for lifelong learning and the
continued upgrading of technical knowledge

CO3PO1 Use decision tree concept to solve problems.

CO3PO2 Analyse problems to identify best split and Bayesian classifier.

CO3PO3 Develop solutions to find best split and Bayesian classifier.

CO3PO4 Knowledge can be used to design and conduct experiments to provide valid
conclusions.

CO3PO6 Can be used to find solutions to common social problems.

CO3PO9 Expertise developed, which will enable the student to become a productive
member of a design team.

CO3PO12 The student will become aware of the need for lifelong learning and the
continued upgrading of technical knowledge.

CO4PO1 Knowledge of classifier models applications helps in solving complex


engineering problems

CO4PO2 Principles of mathematics and engineering sciences are used in various


aspects of classifier models

CO4PO3 Knowledge of classifier models can be used to design and develop solutions
for complex engineering problems

CO4PO4 Various classifier models knowledge can be used to design and conduct
experiments to provide valid conclusions
CO4PO9 Expertise developed, which will enable the student to become a productive
member of a design team

CO4PO12 The student will become aware of the need for lifelong learning and the
continued upgrading of technical knowledge

CO5PO1 Study of HMM involves solving complex engineering problems

CO5PO2 Study of HMM involves principles of mathematics and engineering

CO5PO3 Sequence emission probability evaluation knowledge can be used to design


and develop solutions for complex engineering problems

CO5PO4 State sequence identification and sequence emission probability evaluation


skills can be used to design and conduct experiments to provide valid
conclusions

CO6PO1 Knowledge of clustering algorithms involves solving complex engineering


problems

CO6PO2 Design of clustering algorithms involves principles of mathematics and


engineering

CO6PO3 Clustering algorithms can be used to design and develop solutions for
complex engineering problems

CO6PO4 Clustering algorithms knowledge can be used to conduct experiments in real


life problems to provide valid conclusions

DELIVERY/INSTRUCTIONAL METHODOLOGIES:
 LCD/SMART
CHALK & STUD. ☐ WEB RESOURCES BOARDS

TALK ASSIGNMENT

☐STUD. ☐ ADD-ON  ICT ENABLED


SEMINARS COURSES CLASSES

ASSESSMENT METHODOLOGIES-DIRECT

 STUD.  TESTS/MODEL ☐ UNIV.


 ASSIGNMENTS
SEMINARS EXAMS EXAMINA
TION

☐ STUD. LAB ☐ STUD. VIVA ☐ MINI/MAJOR ☐

PRACTICES PROJECTS CERTIFICATIONS

☐GROUP
☐ ADD-ON COURSES ☐ OTHERS
DISCUSSION

ASSESSMENT METHODOLOGIES-INDIRECT
 ASSESSMENT OF COURSE
OUTCOMES (BY FEEDBACK,  STUDENT FEEDBACK ON
ONCE) FACULTY (TWICE)
☐ ASSESSMENT OF ☐ OTHERS
MINI/MAJOR PROJECTS BY EXT.
EXPERTS

COURSE EXIT SURVEY

Q1. Are you able to differentiate various learning approaches, and to interpret the
concepts of supervised learning?

Q2. Are you able to compare the different dimensionality reduction techniques?

Q3. Are you able to apply theoretical foundations of decision trees to identify best split
and Bayesian classifier to label data points?

Q4. Are you able to illustrate the working of classifier models like SVM, Neural
Networks and identify classifier model for typical machine learning applications?

Q5. Are you able to identify the state sequence and evaluate a sequence emission
probability from a given HMM?

Q6. Are you able to illustrate and apply clustering algorithms and identify its applicability
in real life problems?

You might also like