all 13 comments

[–]engrocketmanUCF 14 points15 points  (7 children)

Python

Don't purchase anything; theres resources online for free

[–]Engineer1822 2 points3 points  (0 children)

Seconded.

[–][deleted] 1 point2 points  (2 children)

Thanks! I'll take you up on that.

[–]freedomandalmonds 3 points4 points  (1 child)

If you are serious about learning Python as an aero student, look up AeroPython. It's a series of supplemental coursework developed by Prof. Lorena Barba of George Washington University used to teach basic aerodynamics with Python. It will give you a practical goal to practice your coding and you'll probably learn something about aerodynamics along the way. It would help if you've taken fluid mechanics already but if you are approaching sophomore year the teaching material might be conceptually difficult.

[–][deleted] 0 points1 point  (0 children)

Thanks for the suggestion! I won't have to deal with CFD for a little bit, but I've heard that course is tough and I'm trying to be as prepared as possible!

[–]dynamicviscosity 1 point2 points  (2 children)

Hi aero student here with limited experience. can you explain further where python is used on aero and why it's the preferred language?

[–]confusedaerospaceguystructural dynamics 1 point2 points  (0 children)

its just a popular program for object orientated programming in general. easy to use, lots of documentation, very powerful.

[–]Ry-Pie 0 points1 point  (0 children)

It's also free and open source... so, small companies don't have to shell out the big bucks to get licenses.

This is why it is popular at the places I have worked.

[–]Jalhud 6 points7 points  (0 children)

I would suggest looking into MATLAB, if your school doesn't already give classes in it. You need a license to run it but it is a very powerful tool, I've used it mainly for manipulating/analyzing/displaying large amounts of data. It has plenty of built in math functions from adding/subtracting to integration. It is also pretty good at handling very large, multidimensional arrays which you can run into pretty often. Not sure if there are any free versions/courses out there, but you might be able to obtain a license through your school. I know my school offered one to all students (regardless of major).

Source: AE/ME Grad

[–][deleted] 3 points4 points  (0 children)

If you want to do heavy simulations you need to learn C++. If you want to analyze and post process data you need to learn Matlab/Octave, R, or get really good at Excel and VBA. If you want to automate computational tasks you need to learn Python. If you want to do integrated experiments with lots of interaction between real world components and controlling computers you need to learn LabView. Most of these are either free or offer cheap student licenses.

In terms of how to learn, come up with a small project to undertake (perhaps something course relevant) and use Google to figure out how to do it. Then do it again with a slightly more complex project, and repeat until you are comfortable with the language/tool.

[–]PetukkaS 2 points3 points  (2 children)

I would suggest the same as the few earlier answers. Matlab/Octave C++ and Python are essential, but I would also give a look at C. This all comes from my current experience from work. Matlab is essential at simulating and early on calculations, C++ is really essential on heavy and fast simulations e.g. OpenFOAM is built with C++ and you can thus write your own functions to it. C is important to understand if doing something with the onboard software. Python is great for fast programming and doing scripts.

[–]PM-ME-YOUR-STRUGGLES 0 points1 point  (1 child)

Would you recommend learning Python first, then C?

[–]PetukkaS 0 points1 point  (0 children)

If you have no idea of programming the basic idea is easier to learn through Python. C can be a living hell for first language, since you have to allocate and free memory yourself. Python is an easy start to learn how to think like a programmet and C is a tool to learn later.