Fortunately, engineering coursework typically requires a fair amount of CAE (computer-aided engineering) software, which can double as a creative tool whenever you have an idea that you would like to experiment with. I have found that a good combination of CAD, simulation software and some programming is sufficient for a significant portion of the design of low-risk projects.
To those who are not yet aware, UBC Engineering students have free access to several software licenses specific to the engineering department:
Matlab is a programming language built specifically for technical work. Many scripting languages require the addition of libraries for tasks such as data visualization for example, which Matlab excels at. Well-integrated with this is Simulink, which allows you to model relatively complex systems in a more intuitive manner than explicitly writing code.
Your coursework will do a good job at teaching you the basics of Matlab, which you can choose to take further on your own. For all engineering-focussed math courses including linear algebra, ordinary and partial differential equations, vector calculus and multivariable calculus, my coursework has included a heavy Matlab component.
If you are in an engineering design team or have a project that warrants large amounts of computation on a problem for which you cannot find ready-made software, this is always a good option. Matlab is also used commonly in industry. If you have graduated and are looking for a free alternative, Octave is a good potential solution; with that said, depending on the task you may also feel that languages such as R could be of use. My personal pick would be Python. With an explosion of open-sourced libraries, I have found that Python – along with SciPy libraries – is just as capable as Matlab for most tasks. It is also free, very well-documented and extremely popular. Being a general-purpose language makes it a useful transferrable skill to have, and gives you tools to expand your projects far beyond what dedicated tools might allow.
If you are in or entering the Mech department, SolidWorks will need no introduction. CAD (Computer-Aided Design) in general can be an invaluable tool when you want to get a good idea of how components will look when assembled, and to spot problems (such as interference) in the design before it becomes a problem. With inorganic geometry, it can also speed up the process of making technical drawings, if you were to communicate your design to a third party.
I will admit, I am somewhat less familiar with the practical uses for Ansys. If you do have access to a full Ansys license, you will be able to simulate anything ranging from computational fluid dynamics and thermal simulations to load simulations. Ansys has a great graphical workflow for coupled simulations, if you are interested in simulating multiple physical phenomena concurrently.
From personal experience, I would encourage anybody pursuing technical projects to be wary of the computational cost and learning curve associated with simulations. Having used the UBC Star-CCM+ license for fluid simulations (computational fluid dynamics or “CFD”), I can confirm that it is worthwhile to consider the cost vs. benefit of complicated simulations. For simple simulations where rough estimates are acceptable (e.g. “how likely is it that this non-critical component fails?”), SolidWorks often has a perfectly acceptable solution for you.
Finally, I would recommend looking into a free SimScale community license, providing access to 3000 core-hours of cloud compute time (calculated as the product of the number of cores used and the amount of time using them) with up to 16 cores at a time. Their documentation is nothing short of excellent, and they have a great user interface. To the best of my knowledge, SimScale is built using open-source technologies such as OpenFOAM, which provides open-sourced CFD and simulation code.
So…why do I recommend CAD and simulation if it doesn’t involve creating something real? Just as I mentioned previously, mechanical design projects often become prohibitively expensive once manufacture begins. Software allows you to pursue a design project with minimal upfront cost, and pursue its manufacture at a later date when it is more feasible. This is exactly what I have been planning to do for one of my more ambitious projects, which is a small-scale axial flow turbojet engine. Chances are that it will fail miserably when I am done, and I’m looking forward to it.