Some of the more important things that you should know for the exam include
those items listed below.  These items have been listed in the approximate
order in which they were covered in the course, grouped by chapter/appendix
of the lecture notes.

Chapter 1: Introduction

  * know basic signals/systems terminology and notation (e.g., definitions of
    signal, system, continuous-time, discrete-time, analog, digital, 1D,
    multidimensional, multi-input, single-input, etc.)

Appendix A: Complex Analysis

  * know Euler's formula
    (be able to express sin and cos in terms of exponentials and vice versa)
  * know basics of complex numbers (e.g., Cartesian/polar form, real/imaginary
    part, magnitude, argument, principal argument, addition, multiplication,
    division, conjugation)
  * know definition of polynomial and rational function
  * know definition of poles/zeros, order of pole/zero, how to find
    and plot poles/zeros of a rational/polynomial function
  * know basic properties of polynomial and rational functions
    (e.g., where they are continuous, differentiable, and analytic)

Chapter 2: Preliminaries
  * know what rational number is
  * know notation used for sets of integers, real numbers, complex
    numbers, rational numbers
  * know abbreviated notation for ranges of real numbers
  * know basic terminology such as mapping, domain, codomain,
    function, sequence, system operator
  * understand the difference between function/sequence and transform
  * know definition of even and odd signals (e.g., x(-t) = x(t), etc.)
  * know definition of conjugate symmetric signals
  * know definition of periodic signal
  * know definition of period, frequency, fundamental period,
    fundamental frequency
  * understand meaning of various notation that relates to
    function, sequences, and system operators

Chapter 3: Continuous-Time Signals and Systems
  * understand transformations of independent/dependent variable
  * know the definitions of time reversal, time scaling, time shifting
  * know the definitions of amplitude scaling, amplitude shifting
  * understand what each transformation does to a signal
  * be able to plot transformed versions of signals
  * understand how to interpret/plot combined transformations
  * know the properties of even/odd signals for addition/multiplication
  * know formulas for determining even and odd part of signal
  * know the properties of periodic signals for addition
    (i.e., know how to determine if the sum of two or more periodic
    functions is periodic)
  * know definitions of left-sided, right-sided, two-sided, finite-duration,
    time-limited, causal, anticausal signals
  * know definition of bounded signal
  * know definition of signal energy
  * know definitions of elementary signals (e.g., real sinusoidal,
    complex exponential, unit-step, unit-impulse)
  * know properties of unit-impulse function (e.g., equivalence, sifting)
  * understand how to represent piecewise linear/polynomial and other
    types of functions using expressions involving unit-step functions
  * know definitions of cascade/series and parallel interconnection
  * know definitions of system properties: memoryless, invertible,
    causal, BIBO stable, linear, time invariant, additive, homogeneous,
    superposition
  * be able to precisely state the conditions that must be satisfied
    for each property
  * be able to determine if a system has each one of these properties
  * know definition of eigenfunction of system (and corresponding
    eigenvalue) and understand why eigenfunctions are important

  * NOTE: You are not responsible for the following items from the textbook
    as they were not covered in the lectures:
      - the definition of signal power (which appears in Section 3.4.5
        "Signal Energy and Power")
      - the material on rounding-related functions (which appears in
        Section 3.5.10 "Rounding-Related Functions")

Appendix D (MATLAB)

  * basic language syntax
  * arrays (i.e., vectors/matrices), array subscripting
  * arithmetic operators (e.g., +, -, *, /, ^, .*, ./, .^)
  * relational operators (e.g., ==, ~=, <, <=, >, >=)
  * logical operators (e.g., &, |, ~)
  * basic looping constructs (e.g., for, while)
  * basic conditional constructs (e.g., if-then-else)
  * user-defined functions
  * know some very basic functions (e.g., size, length, real, imag, abs,
    angle, plot)
  * element-wise operations
  * how to avoid unnecessary looping and conditional-code execution
    constructs