• What is OOAD? Explain basic constructs of object orientation.

    Question 1 of MCS-219: Object Oriented Analysis and Design.
    OOAD (Object-Oriented Analysis and Design) is a software engineering approach that focuses on modeling a system as a collection of interacting objects. These objects represent real-world entities and combine data (attributes) with behavior (methods).
    OOAD helps in understanding system requirements (analysis) and translating them into a robust, reusable, and maintainable software design (design).


    Basic Constructs of Object Orientation

    1. Object

    An object is a real-world entity that has:

    • State (data/attributes)
    • Behavior (functions/methods)
    • Identity (uniqueness)

    Example:
    A Student object with attributes like rollNo, name, and methods like register().


    2. Class

    A class is a blueprint or template used to create objects. It defines:

    • Attributes (data members)
    • Methods (member functions)

    Example:
    class Student { rollNo, name, register() }


    3. Encapsulation

    Encapsulation is the mechanism of wrapping data and methods together into a single unit (class) and restricting direct access to some data.

    Benefit: Data security and controlled access.


    4. Abstraction

    Abstraction means showing only essential features and hiding internal implementation details.

    Example:
    Using an ATM without knowing its internal processing logic.


    5. Inheritance

    Inheritance allows a class to acquire properties and behavior of another class.

    Example:
    Teacher and Student classes inheriting from a Person class.

    Benefit: Code reusability.


    6. Polymorphism

    Polymorphism means one interface, many implementations. A single function or method behaves differently based on the object.

    Example:
    print() method working differently for Student and Teacher.


    7. Message Passing

    Objects communicate with each other by sending messages (method calls).

    Example:
    student.getResult() calls a method of the student object.


    8. Dynamic Binding

    The method to be executed is decided at runtime, not at compile time.

    Example:
    Method overriding in inheritance.


    Conclusion

    OOAD helps in building modular, scalable, and maintainable software systems by using object-oriented principles such as encapsulation, inheritance, abstraction, and polymorphism.

  • Question 2 – MCS-209: Data Structures and Algorithms Lab

    Question: Write an algorithm and a program in ‘C’ language to insert and delete edges in an adjacency list representation of an undirected graph. Make assumptions, if necessary.

    Answer:

    Assumptions

    1. The graph is undirected.
    2. Vertices are numbered from 0 to (V–1).
    3. No multiple edges between the same pair of vertices.
    4. Adjacency list is implemented using linked lists.
    5. Maximum number of vertices is fixed.
    (more…)
  • Question 1: MCS-209 Data Structures and Algorithms Lab

    Write an algorithm and program in ‘C’ language to merge two sorted linked lists. The resultant linked list should be sorted.

    (more…)