\section{Modular Programming}\label{modular-programming}

\subsection{1. Introduction}\label{introduction}

\begin{itemize}
\tightlist
\item
  A. What is Object-Oriented Programming?
\item
  B. Why use OOP? (vs.~procedural)
\item
  C. Real-world analogies (e.g., modeling components like pumps, motors,
  or vehicles)
\end{itemize}

\subsection{2. Core OOP Concepts}\label{core-oop-concepts}

\begin{itemize}
\tightlist
\item
  A. \textbf{Classes and Objects}

  \begin{itemize}
  \tightlist
  \item
    Definitions
  \item
    Syntax in Python
  \end{itemize}
\item
  B. \textbf{Attributes and Methods}

  \begin{itemize}
  \tightlist
  \item
    Instance variables
  \item
    Functions inside classes
  \end{itemize}
\item
  C. \textbf{Encapsulation}

  \begin{itemize}
  \tightlist
  \item
    Public vs private variables
  \item
    Using \texttt{\_\_init\_\_} and \texttt{self}
  \end{itemize}
\item
  D. \textbf{Inheritance}

  \begin{itemize}
  \tightlist
  \item
    Parent and child classes
  \item
    Reuse and extension of code
  \end{itemize}
\item
  E. \textbf{Polymorphism} \emph{(brief overview)}

  \begin{itemize}
  \tightlist
  \item
    Method overriding
  \item
    Flexibility in interfaces
  \end{itemize}
\end{itemize}

\subsection{3. Python OOP Syntax and
Examples}\label{python-oop-syntax-and-examples}

\begin{itemize}
\tightlist
\item
  A. Define a simple class (e.g., \texttt{Spring})
\item
  B. Instantiate objects and use methods
\item
  C. Show \texttt{\_\_init\_\_}, \texttt{\_\_str\_\_}, custom methods
\item
  D. Add a derived class (e.g., \texttt{DampedSpring} inherits from
  \texttt{Spring})
\end{itemize}

\subsection{4. Engineering Applications of
OOP}\label{engineering-applications-of-oop}

\begin{itemize}
\tightlist
\item
  A. Modeling a mechanical system using classes

  \begin{itemize}
  \tightlist
  \item
    Example: Mass-Spring-Damper system
  \end{itemize}
\item
  B. Creating reusable components (e.g., \texttt{Material},
  \texttt{Beam}, \texttt{Force})
\item
  C. Organizing simulation code with OOP
\end{itemize}

\subsection{5. Hands-On Coding Activity}\label{hands-on-coding-activity}

\begin{itemize}
\tightlist
\item
  A. Write a class for a basic physical component (e.g., \texttt{Motor})
\item
  B. Add behavior (e.g., \texttt{calculate\_torque})
\item
  C. Extend with inheritance (e.g., \texttt{ServoMotor})
\item
  D. Bonus: Integrate two objects to simulate interaction
\end{itemize}
