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 this page,

Student Licenses: Wharton, SEAS, and SAS have special arrangements for distributing MATLAB. All other students purchase MATLAB at the Penn Computer Connection.

Given the various restrictions and costs, we continue to recommend using Octave unless there are features of MATLAB that you can't do without.