1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Modular Programming\n",
"\n",
"## 1. Introduction\n",
"\n",
"- A. What is Object-Oriented Programming?\n",
"- B. Why use OOP? (vs. procedural)\n",
"- C. Real-world analogies (e.g., modeling components like pumps,\n",
" motors, or vehicles)\n",
"\n",
"| \\## 2. Core OOP Concepts - A. **Classes and Objects** - Definitions - Syntax in Python - B. **Attributes and Methods** - Instance variables - Functions inside classes - C. **Encapsulation** - Public vs private variables - Using `__init__` and `self` - D. **Inheritance** - Parent and child classes - Reuse and extension of code - E. **Polymorphism** *(brief overview)* - Method overriding - Flexibility in interfaces |\n",
"|----:|\n",
"| \\## 3. Python OOP Syntax and Examples - A. Define a simple class (e.g., `Spring`) - B. Instantiate objects and use methods - C. Show `__init__`, `__str__`, custom methods - D. Add a derived class (e.g., `DampedSpring` inherits from `Spring`) |\n",
"\n",
"## 4. Engineering Applications of OOP\n",
"\n",
"- A. Modeling a mechanical system using classes\n",
" - Example: Mass-Spring-Damper system\n",
"- B. Creating reusable components (e.g., `Material`, `Beam`, `Force`)\n",
"- C. Organizing simulation code with OOP\n",
"\n",
"------------------------------------------------------------------------\n",
"\n",
"## 5. Hands-On Coding Activity\n",
"\n",
"- A. Write a class for a basic physical component (e.g., `Motor`)\n",
"- B. Add behavior (e.g., `calculate_torque`)\n",
"- C. Extend with inheritance (e.g., `ServoMotor`)\n",
"- D. Bonus: Integrate two objects to simulate interaction"
],
"id": "8358dbad-84d7-4413-ae4a-bd5eedae2a3b"
}
],
"nbformat": 4,
"nbformat_minor": 5,
"metadata": {}
}
|