You are here

Engineering IT Service Desk

Software recommendations from our consultants:

Information Systems and Technology and Engineering Computing have put a lot of effort into evaluating and pursuing site licenses for software that we believe is useful for scientific computing applications. Some of our license agreements allow students to use a copy at home while they are registered, or allow students to purchase their own copies at a significant discount. However, most site licensed software is only applicable to University-owned computers, but is available on the Waterloo Nexus PC network, and/or on campus Unix hosts. We encourage you to explore the software available to you. For some notes and courses on scientific computing software, see the Skills for the Academic Workplace site. What follows are some recommendations for software to use for various tasks. 

Programming: Most research or project work requires some kind of programming to test out a methodology or conduct a simulation. Traditional languages such as C(++) or Fortran will do the job, but you will have to either write your own numerical subroutines, or rely on libraries. Your code will also take you a while to write and debug when you could be thinking about the problem you are working on.

There are two software packages that are worth the effort to learn for anyone doing programming tasks: Matlab and Maple. Both of these packages are interpreted, high level languages. Matlab is primarily a numerical computation environment, with extensive plotting capabilities. Maple is primarily a symbolic computation environment with plotting capabilities. Both have links to the other. A typical use might be to use Maple to derive your mathematical model in general mathematical terms, then use Matlab to solve it numerically for specific operating conditions. Both Maple and Matlab have huge libraries of functions which make it possible to do a lot with a little code. Also, it is possible to export Maple and Matlab code to compileable C(++) or Fortran.

Thesis: It is possible to use a standard word processor such as MS Word to write a thesis or large technical document. But, if you have a lot of mathematics and a lot of tables and figures, you are very likely to run into problems, and these usually happen when the document is very large and you need to print it.

The recommended alternative to word processors is LaTeX, a free document formatting system originally developed for Unix, but is now available on all computing platforms. LaTeX uses plain text source files and formatting tags (similar to HTML). The document is typeset by passing the source file to the LaTeX processing program.

The main advantages of LaTeX are: small portable source files, easy handling of all sorts of numbered structures (tables, figures, references, sections, etc.), access to every conceivable mathematical symbol.

For some notes on learning LaTeX, visit IST Skills for the Academic Workplace.

Plotting: Both Maple and Matlab have extensive plotting capabilities that are adequate for most jobs. We recommend saving your plots as Encapsulated Postscript (EPS) files and "insert"-ing them into your Word documents, rather than cutting-and-pasting. This keeps your document smaller and keeps the figure in a scalable (resize-able) format that won't lose resolution.

Links to our other computing documentation and resources:

Information Systems and Technology department On-line Courses (free to the UW community)
In-House Courses for Faculty and Staff
In-House Courses for Researchers
IST Service Desks

University Committee on Information Systems & Technology (UCIST)
Computing Technology and Services Committee (CTSC)
Waterloo Computer Use Guidelines