Object Oriented programming and Computer Graphics syllabus
PCC-202-COM · Second Year Computer Engineering, SPPU 2024 pattern. Every unit, the marks scheme, course outcomes and books, copied from the official syllabus PDF.
Unit-wise syllabus
Introduction to OOP Concepts and Control Structure
9 hoursProgramming paradigms - Introduction to programming paradigms, Introduction to four main Programming paradigms- procedural, object oriented, functional, and logic & rule based. Need of objectoriented programming, Fundamentals of object-oriented programming: Namespaces, objects, classes, data members, methods, messages, data encapsulation, data abstraction and information hiding, inheritance, polymorphism. Benefits of OOP, Java as object oriented programming language. Overview of Java Language: simple Java program structure: documentation section, package statement, import statements, class definition, main method class. Implementing Java Program, JVM, Data types, Primitive Types vs. Reference type, floating point numbers, operators and expressions, Java Class Libraries, Typical Java Development Environment, and Memory Concepts. Control Statements: Selection Statements: if, if-else, nested if-else, Iteration Statements: do, while, for, for-each statement, break, and continue statements
Case Study: Analyze the object -oriented features in Java with other object oriented programming languages.
Introduction to Classes and Objects and Arrays
9 hoursIntroduction to Classes and Objects: Defining a Class, Field declaration, method declaration and definition, instantiating an object of a Class, Accessing class members, declaring methods with multiple parameters, argument passing, object as a parameter, returning objects, assigning object reference variables, set methods and get methods, constructors, this keyword, Constructors, static methods, scope of declaration, method overloading and Java API packages. Arrays: declaring and creating arrays in Java, examples using arrays, passing arrays to methods, multidimensional arrays, variable-length argument lists, using command-line arguments. Managing I/O: Streams Byte Streams and Character Streams, Predefined Streams, Reading console Input, Writing Console Output, Print Writer class.
Case Studies: Demonstrate an interactive Banking/Library management system using class, objects, array of objects
Inheritance and Polymorphism Exception Handling and Multithreading
9 hoursInheritance: Super classes and Subclasses, protected members, relationship between super classes and subclasses, types of Inheritance, constructors in subclasses, object class. Polymorphism: Abstract classes and methods, final methods and classes, dynamic binding, polymorphism examples and Interfaces. Exception handling: fundamentals, Exception Types, Using try-catch, Multiple try-catch clauses, Nested try statements, throw, throws, finally, Built-in Exceptions MultiThreading: Java Thread Model, Main Thread, Creating a Thread , Creating Multiple Threads.
Case Study ; Demonstrate online Banking/Library system using Inheritance, Exception handling and Multi-Threading concepts
Graphics Primitives, Scan Conversion, Windowing and Clipping
9 hoursIntroduction: graphics primitives - pixel, resolution, aspect ratio, frame buffer. Display devices, applications of computer graphics. Scan conversion: Line drawing algorithms: Digital Differential Analyzer (DDA), Bresenham. Circle drawing algorithms: DDA, Bresenham, and Midpoint. Polygons: Introduction to polygon, types: convex, concave and complex. Inside test. Polygon Filling: flood fill, seed fill, scan line fill. Windowing and clipping: viewing transformations, 2-D clipping: Cohen – Sutherland algorithm line Clipping algorithm, Sutherland Hodgeman polygon clipping algorithm.
Case Studies - 1) Real-Time Map Rendering in GPS Navigation Systems using Line and Circle Drawing Algorithms 2) 3D pipeline / polygonal modelling and applications
2D, 3D Transformations and Projections
9 hours2-D Transformations: 2-D transformations - Translation, Scaling, Rotation and Shear, Rotation about an arbitrary point. 3-D Transformations: 3-D transformations - Translation, Scaling, Rotation and Shear, Rotation about an arbitrary axis. Projections: Parallel (Oblique: Cavalier, Cabinet and orthographic: isometric, diametric, trimetric) and Perspective (Vanishing Points – 1 point, 2 point and 3 point)
Case Studies - 1) Affine Transformations Vlab (Vlab link: https://cse19- iiith.vlabs.ac.in/exp/affinetransformation/theory.html) 2) Image augmentation in Deep learning
Marks and credits
| Head | Marks | Credit |
|---|---|---|
| CCE (continuous comprehensive evaluation) | 40 | 3 |
| End-semester exam | 60 |
Prerequisite: Programming and Problem Solving concepts.
Course outcomes
- CO1Apply fundamental programming constructs, object oriented constructs in Java for Implementing an application.
- CO2Apply fundamental object oriented constructs like class, objects, array of objects in Java for Implementing an application..
- CO3Apply object-oriented features like Inheritance, Polymorphism, Dynamic binding, Exception handling, multi-threading in Java for implementing an application
- CO4Understand basic concepts in computer graphics and implement them by applying object oriented features
- CO5Understand mathematical foundation in 2D, 3D Transformation, Projections and implement them by applying object oriented features
Books
Text books
- E Balaguruswamy, (2023). Programming with Java: A Primer. 7th edition. India: McGraw Hill Education
- Herbert Schildt, (2021). Java: The complete reference, 13th edition. McGraw-Hill Education.
- S. Harrington, “Computer Graphics”, 2ndEdition, McGraw-Hill Publications, 1987, ISBN 0 – 07–100472 – 6.
- Donald D. Hearn and Baker, “Computer Graphics with OpenGL”, 4thEdition, ISBN-13: 9780136053583
Reference books
- Paul Deitel and Harvey Detail, Java: How to Program, Pearson’s Publication, 9thEdition
- Horstmann, C. S. (2023). Core Java - Vol. I – Fundamentals (Vol. 12). Pearson Education
- Dr. Samit Bhattacharya, Computer Graphics, Oxford University Press, ISBN-13: 978-0-19- 809619-1; ISBN-10: 0-19-809619-4.
- D. Rogers, “Procedural Elements for Computer Graphics”, 2ndEdition, Tata McGraw-Hill Publication, 2001, ISBN 0 – 07 – 047371 – 4.
NPTEL and SWAYAM links
Listed in the official syllabus:
FAQ
How many units are in Object Oriented programming and Computer Graphics?
Object Oriented programming and Computer Graphics (PCC-202-COM) has 5 units and 45 hours of theory: Unit I Introduction to OOP Concepts and Control Structure (9 h); Unit II Introduction to Classes and Objects and Arrays (9 h); Unit III Inheritance and Polymorphism Exception Handling and Multithreading (9 h); Unit IV Graphics Primitives, Scan Conversion, Windowing and Clipping (9 h); Unit V 2D, 3D Transformations and Projections (9 h).
What is the marks scheme for Object Oriented programming and Computer Graphics?
The official Computer Engineering 2024 pattern syllabus lists continuous comprehensive evaluation (CCE) for 40 marks and the end-semester exam for 60 marks, for 3 credits.
What should I know before Object Oriented programming and Computer Graphics?
Prerequisite listed in the syllabus: Programming and Problem Solving concepts.