\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} \begin{longtable}[]{@{} >{\raggedleft\arraybackslash}p{(\columnwidth - 0\tabcolsep) * \real{0.0556}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedleft \#\# 2. Core OOP Concepts - A. \textbf{Classes and Objects} - Definitions - Syntax in Python - B. \textbf{Attributes and Methods} - Instance variables - Functions inside classes - C. \textbf{Encapsulation} - Public vs private variables - Using \texttt{\_\_init\_\_} and \texttt{self} - D. \textbf{Inheritance} - Parent and child classes - Reuse and extension of code - E. \textbf{Polymorphism} \emph{(brief overview)} - Method overriding - Flexibility in interfaces \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot \#\# 3. Python OOP Syntax and Examples - A. Define a simple class (e.g., \texttt{Spring}) - B. Instantiate objects and use methods - C. Show \texttt{\_\_init\_\_}, \texttt{\_\_str\_\_}, custom methods - D. Add a derived class (e.g., \texttt{DampedSpring} inherits from \texttt{Spring}) \\ \end{longtable} \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} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \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}