R18 B.Tech. CSE Syllabus Jntu Hyderabad
R18 B.Tech. CSE Syllabus Jntu Hyderabad
R18 B.Tech. CSE Syllabus Jntu Hyderabad
in
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
statements; subprograms and blocks; abstract data types; concurrency; functional and logic
programming languages; and scripting languages
Course Outcomes
Acquire the skills for expressing syntax and semantics in formal notation
Identify and apply a suitable programming paradigm for a given computing application
Gain knowledge of and able to compare the features of various programming languages
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
Describing Syntax, Attribute Grammars, Describing the Meanings of Programs
UNIT - II
Names, 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 - III
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
80
UNIT - IV
Concurrency: Introduction, Introduction to Subprogram Level Concurrency, Semaphores, Monitors,
Message Passing, Java Threads, Concurrency in Function Languages, Statement Level Concurrency.
Exception Handling and Event Handling: Introduction, Exception Handling in Ada, C++, 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
81
Course Objectives
The aim of this course is to provide an introduction of fundamental concepts and theory of
computer graphics.
Topics covered include graphics systems and input devices; geometric representations and
2D/3D transformations; viewing and projections; illumination and color models; animation;
rendering and implementation; visible surface detection;
Course Outcomes
Acquire familiarity with the relevant mathematics of computer graphics.
Be able to design basic graphics application programs, including animation
Be able to design applications that display graphic images to given specifications
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 (Bresenham’s and DDA Algorithm), mid-
point circle and ellipse algorithms
Polygon Filling: Scan-line algorithm, boundary-fill and flood-fill algorithms
UNIT - II
2-D geometrical transforms: 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, Cohen-Sutherland algorithms, 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. Basic illumination models, polygon
rendering methods.
UNIT - IV
3-D Geometric transformations: Translation, rotation, scaling, reflection and shear transformations,
composite transformations.
3-D viewing: Viewing pipeline, viewing coordinates, view volume and general projection transforms
and clipping.
UNIT - V
Computer animation: Design of animation sequence, general computer animation functions, raster
animation, computer animation languages, key frame systems, motion specifications
82
TEXT BOOKS:
1. “Computer Graphics C version”, Donald Hearn and M. Pauline Baker, Pearson Education
2. “Computer Graphics Principles & practice”, second edition in C, Foley, Van Dam, Feiner and
Hughes, Pearson Education.
3. Computer Graphics, Steven Harrington, TMH
REFERENCE BOOKS:
1. Procedural elements for Computer Graphics, David F Rogers, Tata Mc Graw hill, 2nd edition.
2. Principles of Interactive Computer Graphics”, Neuman and Sproul, TMH.
3. Principles of Computer Graphics, Shalini Govil, Pai, 2005, Springer.
83