Code...

I'm spending a lot of my time tinkering in Mathematica lately, with two objectives really.

1.) I want to write some code to calculate the tedious geometrical aspects for me for my research.

2.) I think that Mathematica has some real potential for students who are trying to learn structures, particularly through the CDF files.

I've learned various programming languages over the years most of which I've taught myself, admittedly not to the level that perhaps a computer programmer would, but I've armed myself with just enough knowledge to be dangerous and get the task done that I want to achieve.  I've created countless spreadsheets that can do all sorts of elaborate calculations and also to use as validation calculations for more complex analysis models that I've created.

111:365 - Clever Clogs...

This is a skill that I take for granted for engineers, particularly of my age, and in most engineers that are a couple of years older or so I tend to find that they've spent some time abusing Fortran code in some fashion.  Fortran isn't a language that I've ever learned, but it's probably one of those languages that a lot of engineers have dabbled with at some point.

One trend I've noticed in a lot of younger engineers is a reluctance to create computer code and indeed even in creating what I would consider simple spreadsheets to make a calculation tool that can run several scenarios for them and validate an approach to determine the boundaries of their calculations.  Increasingly there seems to be a preponderancy for young engineers to select their FEM weapon of choice and throw triangles at it until the model begs for mercy, or to download an app that some other bright spark has written to do at least part of the process of what they want to happen.  None of this promotes a deeper understanding of how the process works though unfortunately.

101:365 - Studious...

Perhaps the days of writing your own code are long gone for young engineers? But part of me thinks that they are missing out on a real opportunity to structure their understanding of the steps needed to do certain tasks as they assemble their code.  Writing code to perform a task, whether on a spreadsheet or in a more formal programming language, is a great way to develop understanding and to explore the intricacies of design codes and I feel that younger engineers are missing out on this experience by only using off the shelf packages.

One encouraging aspect is that with the launch of the Raspberry Pi I can see that if this continues to gather momentum that younger generations will again an ability to tinker and break programming code and gain an appreciation of the advantages that breaking down engineering problems into a series of procedural steps can bring.

At least for the next year or so I'm still responsible for sculpting young engineers minds and I'm determined to develop a fun way of getting them to extend their understanding of how to write code or spreadsheets, I just need to work out a way of doing this within the confines of the resources I do or don't have available.

What do you think? Should engineers know how to programme or at least be able to create simple spreadsheets?

8 Comments

  • August 18, 2012 - 09:12 | Permalink

    I completely agree!!
    Now the language is open to question; I've written stuff in Basic, Mathcad and tinkered with Excel stuff, for example.
    It'll rigorously challenge an understand not only of the analysis/design but also the process and feeling for the output... nothing much better than a gut reaction and a healthy understanding of a magnitude before the equals button is pressed!!

  • Michael Reeve
    August 19, 2012 - 09:40 | Permalink

    I agree. I'm not the greatest theorist, but having needed to use programming languages for analysis and machine control you gain a healthy understanding of theory and the potential of programming to deliver results.

    The process is important, knowing that there are tools out there that can create, extract and manipulate data inspires creativity to get at solutions not available from GUI orientated software.

  • August 25, 2012 - 20:19 | Permalink

    Absolutely. I'm "only" a structural engineer, so by and large most calcs I need to do on a daily basis are linear, so no heavy coding is needed BUT when the chips are down and there's an unusual problem to solve the most important tools I wield are a bendy ruler (contraflecture) and a spreadsheet.

    Not to say the time spent learning mathcad, Mathematica, C etc. were wasted, but it's a great base to have.

  • Neil
    August 25, 2012 - 21:14 | Permalink

    Thanks for the comments chaps, and Martyn I'm with you on the bendy rulers, sometimes a tactile playful approach is needed...

  • August 25, 2012 - 21:26 | Permalink

    Haha! You'd be surprised how useful they are, especially as the way I was taught at uni to draw BM and SF diagrams was so utterly disconnected from bending behaviour. It's a common problem with graduates, myself (at the time) included.

    Now, whenever I'm helping one of our younger engineers I get them to always consider deflected shape before doing anything else. Sadly, I could rant for pages about how academic teaching misses out in terms of practical help. (obviously I can only speak for my own course)

    • Neil
      August 25, 2012 - 21:29 | Permalink

      I think the key is that there are an awful lot of courses out there that teach design, with the people teaching having never designed anything in their lives... I'd like to think that our course is different to that, for example over half of our structural engineering lecturers are chartered with the IStructE and 40% of them gained their fellowship of the IStructE in industry before becoming lecturers. There's a lot to be said about having been there and done it imo...

  • Martyn Pysanczyn
    August 25, 2012 - 21:45 | Permalink

    Sadly I remember my design lecturer (a fellow no less) sketching BM/SF diagrams using similar logic to how I'd do it myself now, but then teaching us the "academic" way, which seemed to be all maths and no "feel" which I remember struggling to really grasp at the time. It was frustrating. In fairness he was otherwise an excellent teacher, but I was always slightly resentful that he seemed to have cards against his chest that he either wouldn't or maybe couldn't share. I suspect maybe the latter.

    I really must cheer up! This is a great blog which I'll follow with relish from now on.

    Thanks for your insight!

  • Jason Hyde
    August 26, 2012 - 13:22 | Permalink

    "Perhaps the days of writing your own code are long gone for young engineers?"
    Definitely not! - Young engineers may not be willing to learn code, especially after the computation courses I was subjected to at Uni (took everybody right back to the beginning and then never progressed to anything useful). Students should be taught the value of a spreadsheet (as well as how to manipulate one into doing what you want - rather than using just the built in functions).
    I've dabbled a little in both MathCAD and Mathematica but find myself commonly reaching for excel (after my piece of scrap paper and calculator) - not quite sure why?

    And on the point of bendy rulers - I'm of the opinion that every student should be issued with one (and then shown how to use it - and I'm not talking about drawing lines!).

  • Leave a Reply

    Your email address will not be published. Required fields are marked *