Skip to content

Commit f812344

Browse files
committed
Update survey_results.ipynb
1 parent b385500 commit f812344

File tree

1 file changed

+210
-2
lines changed

1 file changed

+210
-2
lines changed

content/survey_results.ipynb

+210-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,42 @@
2525
"id": "61f6342b-dac6-4b4b-95f3-39f154d08784",
2626
"metadata": {},
2727
"source": [
28-
"# Thank you for your feedback"
28+
"# Thank you for your feedback\n",
29+
"\n",
30+
"I have coded the feedback you have given me into the following broad categories, as shown in Python code, below:\n",
31+
"\n",
32+
"* **analysis**: Various analysis techniques (static, non-linear, dynamic, etc.)\n",
33+
"* **course content**: Topics having to do with the general structure and content of the course (capstone project, design examples, etc.)\n",
34+
"* **python skills**: Skills specific to Python programming (debugging, structuring programs)\n",
35+
"* **software deployment**: Having to do with distributing and sharing software (GUIs, app design, distributing software)\n",
36+
"* **engineering documentation**: Anything related to producing document artifacts (calculations, design documentation)\n",
37+
"* **automation**: A broad topic from automating commercial software to performing data and file manipulation\n",
38+
"* **cost reduction**: A category I included because it is something I am passionate about and two people mentioned it specifically\n",
39+
"* **special requests**: Other very specific topics that had one or two requests"
40+
]
41+
},
42+
{
43+
"cell_type": "markdown",
44+
"id": "e5edeffa-cac5-403e-bb58-7d29f7c08175",
45+
"metadata": {},
46+
"source": [
47+
"## Will it be in the course?\n",
48+
"\n",
49+
"I have further categorized topics as follows:\n",
50+
"* **Current**: This material is currently in the course\n",
51+
"* **Some**: I have some content that addresses these topics but not in great detail\n",
52+
"* **Planned**: This material is not currently in the course (at this minute) but is planned to be in there (within the next 2-3 months)\n",
53+
"* **New**: This content I am evaluating to see how I can fit it in"
54+
]
55+
},
56+
{
57+
"cell_type": "markdown",
58+
"id": "39d4f9b9-9dac-44ba-a058-ebefa0aa108b",
59+
"metadata": {},
60+
"source": [
61+
"## Interactive survey results\n",
62+
"\n",
63+
"Click any of the inner segments to focus on those sub-categories!"
2964
]
3065
},
3166
{
@@ -1227,10 +1262,183 @@
12271262
"display_chart()"
12281263
]
12291264
},
1265+
{
1266+
"cell_type": "markdown",
1267+
"id": "6cbe5329-5405-4cc9-9670-d76e76dfe57f",
1268+
"metadata": {},
1269+
"source": [
1270+
"## The special features of Python for Structural Engineers (PfSE)\n",
1271+
"\n",
1272+
"For context, this course emphasizes the following topics:\n",
1273+
"* Thorough understanding of the basics and intermediate topics of how Python works (my guarantee to you is that I will explain _everything_ by the time the course is finished)\n",
1274+
"* Strong emphasis on how to structure programs for engineering practice (maintainability, verifiability, accountability)\n",
1275+
"* Lots of practice and explanation on how to use Git and GitHub\n",
1276+
"* Learning APIs: You get exposure to at least 12 different APIs during the course. It's about \"learning how to learn\" APIs (Application Programming Interfaces - the way you interact with software through a programming language). These include various analysis APIs, geometry APIs, document manipulation APIs, and general \"automate your computer\" APIs\n",
1277+
"* Post-processing, data manipulation, and data design\n",
1278+
" * I also have a strong emphasis on data \"reasoning\" and literacy\n",
1279+
"* Actual design examples (meaning, actually doing it instead of talking about it)\n",
1280+
" \n",
1281+
"So, when you are reviewing the blue pieces of the sunburst chart above, these are parts that I think are _strongly_ represented in the course."
1282+
]
1283+
},
1284+
{
1285+
"cell_type": "markdown",
1286+
"id": "3bb9edf5-d5e3-486b-a364-8f1220c8a602",
1287+
"metadata": {},
1288+
"source": [
1289+
"## Was my feedback included in this summary? (This just in)\n",
1290+
"\n",
1291+
"If you gave your response by approximately mid-day Saturday then I have included it. I have gotten a few more responses since then regarding the following topics:\n",
1292+
"* **Python skills**\n",
1293+
" * Intelligently setting up Python environments (**Current** and I think I do this particularly well)\n",
1294+
" * Learning how to use Git and GitHub (**Current** and I think I do this particularly well)\n",
1295+
"* **Automation**\n",
1296+
" * Post-processing large data sets (e.g. FEA results) (**Current**)\n",
1297+
" * Application automation APIs (grasshopper, revit) (**New**)\n",
1298+
" * Pre-processing with geometry and load type definitions (**Current** + more **Planned**)\n",
1299+
"\n"
1300+
]
1301+
},
1302+
{
1303+
"cell_type": "markdown",
1304+
"id": "aefc218a-cdff-4fa0-be9b-21f6b69bacac",
1305+
"metadata": {},
1306+
"source": [
1307+
"## Comments on some of the **New** topics"
1308+
]
1309+
},
1310+
{
1311+
"cell_type": "markdown",
1312+
"id": "da87b8ef-fec8-4e69-9688-db0376833a56",
1313+
"metadata": {},
1314+
"source": [
1315+
"### Technical analysis topics (non-linear analysis, dynamic analysis, etc.)\n",
1316+
"This course is not focused on how to develop your own FEA codes. Instead, it is focused on how to utilize existing solvers and to incorporate them into your own custom programs or automated workflows.\n",
1317+
"\n",
1318+
"**Openseespy**: I have spent a bit of time looking at Opensees. I have not invested too much time into it yet (personally) because I find the license to be ambiguous and poorly worded. At first glance (and second and third glance), it is unclear whether the software can be used for commercial engineering practice. I have since been assured by various engineers in the community that the license does permit use in commercial engineering practice although I would prefer to have that in writing by UC Berkeley (not an unreasonable request).\n",
1319+
"\n",
1320+
"So, assuming that the license _does_ permit commercial engineering use then I think it is probably the single most powerful free-ish software for performing dynamic and non-linear analysis. \n",
1321+
"\n",
1322+
"Since I have not used openseespy beyond some initial exploration, I cannot competently develop a tutorial for it...yet. One of the challenging parts of openseespy is that the software does not return any Python objects to you, the user (meaning, it does not give you back data that you can then manipulate further in Python). Instead, it outputs text reports for you that you then have to _parse_ (i.e. make meaning of it by breaking it apart and putting it into a logical structure).\n",
1323+
"\n",
1324+
"**If your particular interest in Python is implementing your own FEA codes, I would recommend [EngineeringSkills.com](https://engineeringskills.com).**"
1325+
]
1326+
},
1327+
{
1328+
"cell_type": "markdown",
1329+
"id": "805ad206-de98-48f0-83fe-23871896ca4e",
1330+
"metadata": {},
1331+
"source": [
1332+
"### Revit\n",
1333+
"\n",
1334+
"In my particular market (Vancouver, BC, Canada), engineers do not typically have Revit licenses. Our BIM techs have Revit licenses and the engineers produce sketches either by hand or in Bluebeam Revu (PDF) and the BIM techs draft them.\n",
1335+
"\n",
1336+
"So, while I have taken specialized courses in BIM (and have even implemented my own \"mini BIM\" before), I do not currently have any material on using the main Python/Revit tools such as PyRevit and RPW (Revit Python Wrapper). And, because I do not use Revit, I do not have familiarity with some of the challenges engineers face when using it.\n",
1337+
"\n",
1338+
"However, a medium-term interest of mine is the development of open-source BIM authoring using tools such as **BlenderBIM**. As I get the time, I will probably invest time in learning BlenderBIM and integrating it into a Python workflow. "
1339+
]
1340+
},
1341+
{
1342+
"cell_type": "markdown",
1343+
"id": "501fa292-2739-4978-9128-b2f21298b657",
1344+
"metadata": {},
1345+
"source": [
1346+
"### Grasshopper\n",
1347+
"\n",
1348+
"My company has maybe three Rhino/Grasshopper licenses for about 600 engineers, which is to say that it is not used by many people in my company. Now, I have used it a bit and I know that it is very popular. I have seen a lot of what it can do. It is _especially_ powerful now that Rhino 8 has been released and you can use contemporary Python tools with it.\n",
1349+
"\n",
1350+
"My personal interest is toward open-source alternatives because they are more accessible. So, similar to my thoughts on Revit (above), I will probably be investing my time in developing skills in Blender over Rhino/Grasshopper.\n",
1351+
"\n",
1352+
"**If your particular interest in Python is centered around Rhino/Grasshopper, I would recommend [LearnGrasshopper.com](https://learngrasshopper.com).**"
1353+
]
1354+
},
1355+
{
1356+
"cell_type": "markdown",
1357+
"id": "30c91aec-8f04-45b9-a604-39d82db3d207",
1358+
"metadata": {},
1359+
"source": [
1360+
"### Facade design\n",
1361+
"\n",
1362+
"**Yes! If you are the person who is requesting applications in facade design, please send me an email: [email protected]**. I have been wanting to incorporate facade design but I have been waiting for a facade engineer to join the course."
1363+
]
1364+
},
1365+
{
1366+
"cell_type": "markdown",
1367+
"id": "1d9099c0-bd05-482f-8e3a-cbdf5e8d9441",
1368+
"metadata": {},
1369+
"source": [
1370+
"### Others\n",
1371+
"\n",
1372+
"* Python wrappers: these are simply codes written in another language that someone has taken the time to enable access to from Python. They work like any other Python library and we get lots of practice learning libraries during the course.\n",
1373+
"* Animations: Yes, I would be happy to do a special tutorial on how to put together animations\n",
1374+
"* AI: only one person mentioned AI. Not currently in the roster because I do not typically work on classification or computer vision problems (but, if you work in asset management or bridge assessments, this could be quite useful...maybe a future topic). **WAIT** I just remembered I do have _one_ AI example. It's a minor one though.\n",
1375+
"* Drawing automation: see \"Grasshopper\" and \"Revit\" above - maybe a future BlenderBIM topic from me\n",
1376+
"* Databases: This is something I would offer in an advanced follow-up course to PfSE on the topic of advanced application design. There is a lot to get into with this topic. I would want to do it justice by having it be a part of its own course and in the context of more complex applications."
1377+
]
1378+
},
1379+
{
1380+
"cell_type": "markdown",
1381+
"id": "265909d8-591d-47fd-9855-416cd02209da",
1382+
"metadata": {},
1383+
"source": [
1384+
"# Do you have any questions or comments on the above? I would love to hear them!"
1385+
]
1386+
},
1387+
{
1388+
"cell_type": "markdown",
1389+
"id": "1a401288-feb0-4f3a-96cc-64c6a8a87b31",
1390+
"metadata": {},
1391+
"source": [
1392+
"Feel free to leave an anonymous or non-anonymous comment below."
1393+
]
1394+
},
1395+
{
1396+
"cell_type": "code",
1397+
"execution_count": 3,
1398+
"id": "df17d358-1d20-461b-b4f3-8f59573cb955",
1399+
"metadata": {},
1400+
"outputs": [],
1401+
"source": [
1402+
"from IPython.display import IFrame"
1403+
]
1404+
},
1405+
{
1406+
"cell_type": "code",
1407+
"execution_count": 7,
1408+
"id": "e3a367d8-8d12-4ce4-9a65-ea37c829046f",
1409+
"metadata": {},
1410+
"outputs": [
1411+
{
1412+
"data": {
1413+
"text/html": [
1414+
"\n",
1415+
" <iframe\n",
1416+
" width=\"800\"\n",
1417+
" height=\"800\"\n",
1418+
" src=\"https://joey.team/block/?id=yDqs7YkzA4h5lkZwCQDoYG13GUF2&block_id=1x0IMwDkDMsWbjHEQhdD\"\n",
1419+
" frameborder=\"0\"\n",
1420+
" allowfullscreen\n",
1421+
" \n",
1422+
" ></iframe>\n",
1423+
" "
1424+
],
1425+
"text/plain": [
1426+
"<IPython.lib.display.IFrame at 0x7ffaff8d6b50>"
1427+
]
1428+
},
1429+
"execution_count": 7,
1430+
"metadata": {},
1431+
"output_type": "execute_result"
1432+
}
1433+
],
1434+
"source": [
1435+
"IFrame(src=\"https://joey.team/block/?id=yDqs7YkzA4h5lkZwCQDoYG13GUF2&block_id=1x0IMwDkDMsWbjHEQhdD\", width=800, height=800)"
1436+
]
1437+
},
12301438
{
12311439
"cell_type": "code",
12321440
"execution_count": null,
1233-
"id": "66a34d39-c120-44d0-a81d-e6aae62c7115",
1441+
"id": "e45edc8e-bd37-4286-a308-6e0fa106f77a",
12341442
"metadata": {},
12351443
"outputs": [],
12361444
"source": []

0 commit comments

Comments
 (0)