R22 B.Tech.
CSE Syllabus JNTU Hyderabad
cS501PC: DESIGN AND ANALYSIS OF ALGORITHMS
B.Tech. IlI Year I Sem. LTPC
3 10 4
Prorequisites:
1. Acourse on "Computer Programming and Data Structures".
2. A course on "Advanced Data Structures".
Course Objectives:
. Introduces the notations for analysis of the performance of algorithms and the data structure of
disjoint sets.
. Describes major algorithmic techniques (divide-and-conquer,
mention backtracking. dynamic
programming, greedy, branch and bound methods) and problems for which each
technique is appropriate
Describes how to evaluate and compare different algorithms using worst-, average-, and best
case analysis.
Explains the difference between tractable and intractable problems, and introduces the
problems that are P, NP and NP complete.
Course Outcomes:
" Analyze the performance of algorithms
Choose appropriate data structures and algorithm design methods for a specified application
Understand the choice of data structures and the algorithm design methods
UNIT-I
Introduction: Algorithm, Performance Analysis-Space complexity, Time complexity, Asymptotic
Notations- Big oh notation, Omega notation, Theta notation and Little oh notation.
Divide and conquer: General method, applications-Binary search, Quick sort, Merge sort, Strassen's
matrix multiplication.
UNIT -I|
Disjoint Sets: Disjoint set operations, union and find algorithms, Priority Queue- Heaps, Heapsort
Backtracking: General method, applications, n-queen's problem, sum of subsets problem, graph
Coloring., hamitonian cycles.
UNIT -II Programming: General method, applications- Optimal binary search tree, 0/1 knapsack
Dynamic
problem, All pairs shortest path problem, Traveling salesperson problem, Reliability design.
UNIT-IV
Greedy method: General method, applications-Job sequencing with deadlines, knapsack problem,
Minimum cost spanning trees, Single source shortest path problem.
Basic Traversal and Search Techniques: Techniques for Binary Trees, Techniques for Graphs,
Connected components, Biconnected components.
UNIT-Vand Bound: General method, applications Traveling salesperson problem, o/1 knapsack
Branch
problem - LC Branch and Bound solution, FIFO Branch and Bound solution. algorithms, NP-Hard and
non-deterministic
NP-Hard and NP-Complete problems: Basic concepts,
NP-Complete classes, Cook's theorem.
Page 66 of 154
JNTU Hyderabad
R22 B.Tech. CSE Syllabus
TEXT BOOK:
Horowitz, Satraj Sahni and Rajasekharan,
1. Fundamentals of Computer Algorithms, Ellis
University press, 1998.
REFERENCE BOOKS:
Ullman and Hopcroft, Pearson education.
1. Design and Analysis of algorithms, Aho, T. H. Cormen, C.E. Leiserson, R. L. Rivest, and C.
Algorithms, second edition,
2. Introduction to
Stein, PHI Pvt. LtdJ Pearson Education. R.
and Internet Examples, M.T. Goodrich and
3. Algorithm Design: Foundations, Analysis
Tamassia, John Wiley and sons.
R22 B.Tech. CSE Syllabus JNTU Hyderabad
cS502PC: cOMPUTER NETWORKS
B.Tech. II|Year I Sem. L TPC
3 00 3
Preroquisites
1. A course on "Programming for problem solving"
2. A course on "Data Structures"
Course Objectives
The objective of the course is to equip the students with a general overview of the concepts
and fundamentals of computer networks.
Familiarize the students with the standard models for the layered approach to communication
between machines in a network and the protocols of the various layers.
Course Outcomes
Gain the knowledge of the basic computer network technology.
Gain the knowledge of the functions of each layer in the OSl and TCPIP reference model.
Obtain the skills of subnetting and routing mechanisms.
Familiarity with the essential protocols of computer networks, and how they can be applied in
network design and implementation.
UNIT-I
Network hardware, Network software, OSI, TCPIP Reference models, Example Networks: ARPANET,
Internet.
Physical Layer: Guided Transmission media: twisted pairs, coaxial cable, fiber optics, Wireless
Transmission.
Data link layer: Design issues, framing, Error detection and correction.
UNIT-II
Elementary data link protocols: simplex protocol, A simplex stop and wait protocol for an error-free
channel, Asimplex stop and wait protocol for noisy channel.
Siding Window protocols: Aone-bit sliding window protocol, Aprotocol using Go-Back-N, Aprotocol
using Selective Repeat, Example data link protocols.
protocols: ALOHA, Carrier
Medium Access sublayer: The channel
access protocols. collision free n r o u p i e access
allocation
Sense muitiple Wireless LANS, Data link layer switching.
UNIT-IIl
Network Layer: Design issues, Routing algorithms: shortest path routing, Flooding. Hierarchical routing.
Broadcast, Multicast, distance vector routing, Congestion Control Algorithms, Quality of Service,
Internetworking, The Network layer in the internet.
UNIT-IV
Transport Layer: Transport Services, Elements of Transport protocols, Connection management,
TCP and UDP protocols.
UNIT-V
Application Layer -Domain name system, SNMP, Electronic Mail; the World WEB, HTTP, Streaming
audio and video.
TEXT BOOK:
1. Computer Networks - Andrew S Tanenbaum, David. j. Wetherall, 5th Edition. Pearson
Education/PHI
REFERENCE BOOKS:
1. An Engineering Approach to Computer Networks-S. Keshav, 2nd Edition, Pearson Education
2. Data Communications and Networking -Behrouz A. Forouzan. Third Edition TMH.
Page 68 of 154
R22 B.Tech. CSE Syllabus JNTU Hyderabad
cS503PC: DEVOPS
B.Tech. III Yoar I Som. LTPC
3 00 3
Pre-Roquisites:
1. Software Engineering
2. Software Project Management
Course Objectives:
Understand the skill sets and high-functioning teams involved in Agile, DevOps and related
methods to reach a continuous delivery capability.
Implement automated system update and DevOps lifecycle.
Course Outcomes:
Understand the various components of DevOps environment.
Identify Software development models and architectures of DevOps
Use different project management and integration tools.
Select an appropriate testing tool and deployment model for project.
UNIT-I
Introduction to DevOps:
Introduction, Agile development model, DevOps and ITIL. DevOps process and Continuous Delivery.
Release management, Scrum, Kanban, delivery pipeline, identifying bottlenecks.
UNIT-I|
Software development models and DevOps:
DevOps Lifecycle for Business Agility, DevOps, and Continuous Testing. DevOps influence on
Architecture: Introducing software architecture, The monolithic scenario, Architecture rules of thumb,
The separation of concerns, Handling database migrations, Micro services and the data tier, DevOps,
architecture, and resilience.
UNIT-III
Introduction to project management:
The need for source code control, the history of source code management, Roles and code, source
code system and migrations, shared authentication, Hosted Git servers, Different Git
ar imnlementations Docker intermission, Gerrit, The pull request model, GitLab.
UNIT-IV
Integrating the system:
Build systems, Jenkins build server, Managing build dependencies, Jenkins plugins, and file system
layout, The host server, Build slaves, Software on the host, Triggers, Job chaining and build pipelines,
Build servers and infrastructure as code, Building by dependency order, Build phases, Alternative build
servers, Collating quality measures.
UNIT-V
Testing Tools and Deployment:
Various types of testing, Automation of testing Pros and cons, Selenium - Introduction, Selenium
features, JavaScript testing. Testing backend integration points, Test-driven development, REPL-driven
development. Deployment of the system: Deployment systems, Virtualization stacks, code execution at
the client, Puppet master and agents, Ansible, Deployment tools: Chef, Salt Stack and Docker.
TEXT BOOKS:
1. Joakim Verona., Practical DevOps, Packt Publishing. 2016.
REFERENCE BOOKS:
1. Deepak Gaikwad, Viral Thakkar. DevOps Tools from Practitioner's Viewpoint. Wiley
publications.
2. Len Bass, Ingo Weber, Liming Zhu. DevOps: ASoftware Architect's Perspective. Addison
Wesley
Page 69 of 154
R22 B.Tech. CSE Syllabus
JNTU Hyderabad
CS515PE: PRINCIPLES OF PROGRAMMING LANGUAGES (Professional Elective - )
L TP C
B.Tech. Il| Year ISem.
3 00 3
Prerequisites Science".
1 Acourse on "Mathematical Foundations of Computer
2. Acourse on "Computer Programming and Data Structures".
Course Objectives
Introduce important paradigms of programming languages
To provide conceptual understanding of high-level language design and implementation
Topics include programming paradigms; syntax and semantics; data types, expressions and
and blocks; abstract data types; concurrency; functional and logic
statements;
programmingsubpne: and scripting languages
Course Outcomes
Acquire the skills for expressing syntax and semantics in formal notation
ldentify and apply a suitable programming paradigm for a given computing application
Gain knowledge of the features of various programming languages and their comparison
UNIT-I
Preliminary Concepts: Reasons for Studying Concepts of Programming Languages, Programming
Domains, Language Evaluation Criteria, Influences on Language Design, Language Categories,
Language Design Trade-Offs, Implementation Methods, Programming Environments Syntax and
Semantics: General Problem of Describing Syntax and Semantics, Formal Methods of Descibing
Syntax, Attribute Grammars, Describing the Meanings of Programs
UNIT -I|
Namos, Bindings,and Scopes: Introduction, Names, Variables, Concept of Binding. Scope, Scope
and Lifetime, Referencing Environments, Named Constants
Data Types: Introduction, Primitive Data Types, Character String Types, User Defined Ordinal Types,
Array, Associative Arrays, Record, Union, Tuple Types, List Types, Pointer and Reference Types, Type
Checking, Strong Typing, Type Equivalence Expressions and Statements, Arithmetic Expressions,
Overloaded Operators, Type Conversions, Relational and Boolean Expressions, Short Circuit
Evaluation, Assignment Statements, Mixed-Mode
Assignment Control Structures - Introduction, Selection Statements, Iterative Statements,
Unconditional Branching. Guarded Commands.
UNIT -I
Subprograms and Blocks: Fundamentals of Sub-Programs, Design Issues for Subprograms, Local
Referencing Environments, Parameter Passing Methods, Parameters that Are Subprograms, Calling
Subprograms Indirectly, Overloaded Subprograms, Generic Subprograms, Design Issues for
Functions, User Defined Overloaded Operators, Closures, Coroutines Implementing Subprograms:
General Semantics of Calls and Returns, Implementing Simple Subprograms, Implementing
Subprograms with Stack-Dynamic Local Variables, Nested Subprograms, Blocks, Implementing
Dynamic Scoping
Abstract Data Types: The Concept of Abstraction, Introductions to Data Abstraction, Design Issues,
Language Examples, Parameterized ADT, Encapsulation Constructs, Naming Encapsulations
UNIT-IV
Concurrency: Introduction, Introduction to Subprogram Level Concurrency, Semaphores, Monitors,
Message Passing, Java Threads, Concurrency in Function Languages, Statement Level Concurrency.
Page 74 of 154
R22 B.Tech. CSE Syllabus
JNTU Hyderabad
Exception Handling and Event Handling: Introduction, Exception Handling in Ada, C+t, Java,
Introduction to Event Handling., Event Handling with Java and C#.
UNIT-V
Functional Programming Languages: Introduction, Mathematical Functions, Fundamentals of
Functional Programming Language, LISP, Support for Functional Programming in Primarily Imperative
Languages, Comparison of Functional and Imperative Languages
Logic Programming Language: Introduction, an Overview of Logic Programming, Basic Elements of
Prolog, Applications of Logic Programming.
Scripting Language: Pragmatics, Key Concepts, Case Study: Python- Values and Types, Variables,
Storage and Control, Bindings and Scope, Procedural Abstraction, Data Abstraction, Separate
Compilation, Module Library. (Text Book 2)
TEXT BOOKS:
1. Concepts of Programming Languages Robert. W. Sebesta 10/E, Pearson Education.
2. Programming Language Design Concepts, D. A Watt, Wiley Dreamtech, 2007.
REFERENCE BOOKS:
1. Programming Languages, 2nd Edition, A.B. Tucker, R.E. Noonan, TMH.
2. Programming Languages, K. C. Louden, 2nd Edition, Thomson, 2003.
R22 B.Tech. CSE Syllabus JNTU Hyderabad
CS521PE: COMPUTER GRAPHICS (Professional Elective - II)
B.Tech. l| Year I Sem. LTPc
3 00 3
Prerequisites
1. Programming for problem solving and Data Structures
Course Objectives
" Provide the basics of graphics systems including Points and lines, line drawing algorithms, 2D,
3D objective transformations
Course Outcomes
Explore applications of computer graphics
Understand 2D, 3D geometric transformations and clipping algorithms
Understand 3D object representations, curves, surfaces, polygon rendering methods, color
models
Analyze animation sequence and visible surface detection methods
UNIT -I
Introduction: Application areas of Computer Graphics, overview of graphics systems, video-display
devices, raster-scan systems, random-scan systems, graphics monitors and work stations and input
devices
Output primitives: Points and lines, line drawing algorithms (DDA and Bresenham's Algorithm) circle
generating algorithms and ellipse - generating algorithms
Polygon Filling: Scan-line algorithm, boundary-fill and flood-fill algorithms
UNIT -II
2-D geometric transformations: Translation, scaling, rotation, reflection and shear transformations,
matrix representations and homogeneous coordinates, composite transforms, transformations between
coordinate systems
2-D viewing: The viewing pipeline, viewing coordinate reference frame, window to view-port coordinate
transformation, viewing functions, clipping operations, point clipping, Line clipping-Cohen Sutherland
algorithms, Polygon clipping-Sutherland Hodgeman polygon clipping algorithm.
UNIT - III
3-D object representation: Polygon surfaces, quadric surfaces, spline representation, Hermite curve,
Bezier curve and B-Spline curves, Bezier and B-Spline surfaces, Polygon rendering methods, color
models and color applications.
UNIT -IV
3-D Geometric transformations: Translation, rotation, scaling, reflection and shear transformations,
composite transformations.
3-D viewing: Viewing pipeline, viewing coordinates, projections, view volume and general projection
transforms and clipping.
UNIT -V
Computer animation: Design of animation sequence, general computer animation functions, raster
animations, computer animation languages, key frame systems, motion specifications.
Visible surface detection methods: Classification, back-face detection, depth-buffer method, BSP
tree method, area sub-division method and octree method.
TEXT B0OKS:
1. "Computer Graphics C version", Donald Hearn and M. Pauline Baker, Pearson Education
Page 76 of 154