Data Structures and Algorithms - Syllabus

Course Overview and Structure

Embark on a profound academic exploration as you delve into the Data Structures and Algorithms course () within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-154) 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 Synopsis: Study of basic data structure vocabulary, the concept of an algorithm.                        

Goal:  To provide the concept of data structure and its implementation using programming techniques.

Units

Key Topics

  • Compiler Structure
    UN-1.1

    Analysis and Synthesis Model of Compilation, including different sub-phases within analysis and synthesis phases.

  • Compiler Concepts
    UN-1.2

    Basic concepts related to Compiler, including interpreter, simple One-Pass Compiler, preprocessor, macros, symbol table, and error handler.

  • Institutional Infrastructural Preparedness
    UN-1.3

    Institutional infrastructural preparedness refers to the readiness of government agencies and institutions to adopt and implement e-governance systems.

  • Human Infrastructural Preparedness
    UN-1.4

    Human infrastructural preparedness involves the development of skills and capacities of public officials and citizens to effectively use e-governance systems.

Key Topics

  • Lexical Analysis
    UN-2.1

    The process of breaking the source code into a series of tokens. It involves the specification and recognition of tokens, input buffer, and finite automata relevant to compiler construction.

  • Syntax Analysis
    UN-2.2

    The process of analyzing the syntax of the source code. It involves basic parsing techniques, problem of left recursion, left factoring, ambiguous grammar, top-down parsing, bottom-up parsing, and LR parsing.

  • Semantic Analysis
    UN-2.3

    The process of analyzing the meaning of the source code. It involves static and dynamic checks, typical semantic errors, scoping, type checking, syntax directed definitions, and translation.

  • Matrix Representations
    UN-2.4

    This topic explains how matrices can be used to represent and perform geometrical transformations in computer graphics. It covers the basics of matrix operations and their applications in transformation matrices.

  • Window to View Port Transformation
    UN-2.5

    This topic covers the process of transforming a window coordinate system to a view port coordinate system, including the concepts of windowing, viewing, and porting. It explains the importance of this transformation in computer graphics.

  • 3D Viewing
    UN-2.6

    This topic covers the concepts of 3D viewing, including camera models, view volumes, and projection types. It explains how 3D viewing is used to create realistic and interactive 3D graphics.

  • Projections
    UN-2.7

    This topic covers the concepts of projections in computer graphics, including parallel and perspective projections. It explains how projections are used to create 2D images from 3D scenes.

  • Mathematics of Projections
    UN-2.8

    This topic covers the mathematical foundations of projections, including the mathematics of perspective and parallel projections. It explains the underlying principles and formulas used in projection calculations.