Computer Graphics and Animation - Syllabus

Course Overview and Structure

Embark on a profound academic exploration as you delve into the Computer Graphics and Animation course (CGA) within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS305) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60+20+20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.


Course Description 

This course is designed to extend students' knowledge and practice in Graphics hardware, software, and applications. It also provides the knowledge of data structures for graphics, graphics languages, and models for 2D and 3D objects, clipping, hidden surface elimination, depth buffer, raster graphics, shading, and rendering.

Course objectives 

Upon completion of this course, students should be able to 1. Explain basic principle of computer graphics. 2. Develop 2D and 3D computer graphics applications. 3. Specify lighting and object's materials in computer graphics programming.

Units

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

  • E-commerce Framework
    IN-6

    Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.

Key Topics

  • 2-Dimensional Transformation
    TW-1

    Introduction to 2-dimensional transformations, including concepts and principles.

  • 2-D Translation, Rotation, Scaling
    TW-2

    Understanding and applying 2-dimensional translation, rotation, and scaling transformations.

  • Homogeneous Coordinates, Reflection, Shear Transform
    TW-3

    Exploring homogeneous coordinates and their application in 2-dimensional reflection and shear transformations.

  • 3-Dimensional Transformation
    TW-4

    Introduction to 3-dimensional transformations, including concepts and principles.

  • 3-D Translation, Rotation, Scaling, Reflection, Shear
    TW-5

    Understanding and applying 3-dimensional translation, rotation, scaling, reflection, and shear transformations.

Key Topics

  • Common Client-side Web Technologies
    CL-1

    This topic covers the fundamental technologies used on the client-side of web development, including HTML, CSS, and JavaScript.

  • JQuery
    CL-2

    This topic explores the use of JQuery, a popular JavaScript library, for client-side scripting and DOM manipulation.

  • Forms and Validation
    CL-3

    This topic discusses the importance of form validation and how to implement it using ASP.NET Core, including client-side and server-side validation techniques.

  • Single Page Application (SPA) Frameworks
    CL-4

    This topic introduces Single Page Application (SPA) frameworks, including Angular and React, and their role in building dynamic and interactive client-side applications.

  • Software-as-a-Service (SaaS)
    CL-5

    SaaS implementation issues, key characteristics of SaaS, benefits of the SaaS model.

  • Jericho Cloud Cube Model
    CL-6

    A cloud service model framework.

Key Topics

  • Image Space and Object Space Techniques
    VI-1

    This topic covers techniques used in image space and object space for visible surface detection. It includes methods for transforming 3D objects into 2D images.

  • Back Face Detection and Depth Buffering
    VI-2

    This topic explains back face detection, depth buffer (Z-buffer), A-buffer, and scan-line algorithms used for visible surface detection.

  • Depth Sorting Method (Painter's Algorithm)
    VI-3

    This topic covers the depth sorting method, also known as Painter's Algorithm, used for visible surface detection.

  • BSP Tree, Octree, and Ray Tracing Methods
    VI-4

    This topic covers the use of BSP tree, octree, and ray tracing methods for visible surface detection.

  • The Painter's Algorithm
    VI-5

    This topic explains the Painter's Algorithm, a simple and efficient method for visible surface determination in computer graphics.

  • Scan-Line Algorithm
    VI-6

    This topic covers the Scan-Line Algorithm, a technique used for rendering and visible surface determination in computer graphics.

  • Light and Color
    VI-7

    This topic explores the concepts of light and color in computer graphics, including different color models such as RGB, CMY, and YIQ.

Key Topics

  • Activity Life Cycle
    AN-1

    Understanding the different stages of an activity's life cycle, including creation, start, resume, pause, stop, and destroy. This topic covers the methods that are called during each stage.

  • Creating Multiple Activities
    AN-2

    Learning how to create multiple activities in an Android application, including defining and implementing separate activities for different tasks.

  • Declaring Activities in the Manifest
    AN-3

    Understanding how to declare activities in the AndroidManifest.xml file, including specifying the activity's name, label, and intent filters.

  • Connecting Activities with Intents
    AN-4

    Learning how to use intents to connect activities, including creating and sending intents, and handling intent requests.

  • Passing Data Between Activities
    AN-5

    Understanding how to pass data between activities, including using intent extras, bundles, and shared preferences.

  • Getting a Result Back from a Child Activity
    AN-6

    Learning how to get a result back from a child activity, including using startActivityForResult() and onActivityResult().

  • Getting and Setting Data to/from the Layout File
    AN-7

    Understanding how to get and set data to and from the layout file, including using findViewById() and setting UI component properties.

  • Introduction to Virtual Reality
    AN-8

    This topic provides an introduction to virtual reality, including its principles and applications in computer graphics and animation.

Lab works

Laboratory Work

Laboratory work should be done covering all the topics listed above and a small project work should be carried out using the concept learnt in this course using Open GL.