Software issues for LING525/CIS558

This is a lab course. What you learn is heavily dependent on doing exercises in Matlab or Octave (the free software version of MATLAB). There are several reasons for this:

MATLAB has long been widely used in signal-processing research, and so learning it will also give you access to an enormous amount of relevant software written by researchers in many subdisciplines. From the beginning, this course's lecture notes have been based entirely on MATLAB examples.

Octave is a free software (GPL) language that "mostly compatible with MATLAB" (see this link for a further discussion of (in)compatibilities). We believe that Octave development has now reached the point where it makes sense for us to make it the primary language of this course. However, if you have access to MATLAB and prefer to use it, (nearly?) everything that we do should work in either environment.

If you don't already have easy access to Octave (or MATLAB), on your own computer(s), you should download and install it right away.

Installing Octave on Windows and OS X systems involves several steps and may take some time. You will also need some additional packages available from Octave-Forge (in particular the signal package), which adds some more steps. During the first week, we will devote a special lab session to helping with this process.

According to the SEAS Matlab License Information page,

SEAS students are eligible for the Student Matlab License. Other students can purchase a student license at the Computer Connection for $99. The purchased version includes all of the toolboxes that are available in the SEAS license, used in CETS labs and the SEAS Student Matlab License.

SEAS faculty, staff, and postdocs can buy a year-long license for $150, charged to a Penn budget code. Other faculty and staff can buy a yearly license from MathWorks for $500, plus $200 for the Signal Processing Toolbox and additional fees for other toolboxes. Given these per-year costs, we strongly recommend using Octave unless there are features of MATLAB that you can't do without.