Projects

Biocomputing Education

One of the BCL's primary goals is to produce CSS graduates who can be
comfortable working on biomedical applications. Towards this end, we
are working on a major redesign of the existing CSS 457 Introduction
to Digital Multimedia course, to be called, ``Multimedia and Signal
Computing''.

The core material of this course is the acquisition, representation,
processing, storage, and display of multimedia and signals in digital
computers. When they were originally invented, electronic computers
were targeted at abstract, mathematical applications (such as
computing artillery firing tables). Today, computers increasingly act
within the context of the physical world, processing information carried
by light (images, video), sound (speech, music), and other sensors
(chemical, biological) and taking action based on such computation
(controlling motors, speakers, displays). Applications that fall
within this domain of study are now both ubiquitous and important in
modern life, and will only become more so in the future. These include
both desktop and similar computer systems with multimedia capabilities
(digital audio and video software) and computers and software embedded
into systems that perform signal processing (e.g., medical equipment,
cell phones, digital televisions) and control (aircraft, automobiles,
houses). This is the motivation for providing CSS students with a
background that could allow them to choose careers working on these
systems.

While it is readily apparent that this should be a topic of interest
and benefit to CSS students, how to teach it is
unclear. Traditionally, courses in signal processing are taught within
Electrical Engineering departments, usually requiring two full years of
engineering mathematics prerequisites. For example, the UW Seattle
campus' EE department offers related topics scattered across several
courses: EE 235 (Continuous Time Linear Systems), EE 341 (Discrete
Time Linear Systems), EE 436 (Medical Instrumentation), EE 440
(Introduction to Digital Imaging Systems), EE 442 (Digital Signals and
Filtering).

The reasons for this are twofold: the mathematical background required
by the EE courses and the goals of the EE courses. Courses in signal
processing ordinarily require something like one year of differential
and integral calculus, a course in differential equations, and a
course in Fourier methods. Additionally, these courses are targeted at
students who will some day need to understand digital signal
processing from first principles and abstract mathematical models,
through algorithm development and signal processor design.

This cannot be the same type of course taught to CSS students, or most
any Computer Science students who are not required to take a full
complement of engineering mathematics courses. Neither, frankly
speaking, is it appropriate or necessary for such students to be
taught digital signal processing ``from the ground up''. Rather, it is
probably more appropriate (and the goal of this CSS course) to get
across basic concepts and explain how fundamental signal processing
algorithms work, thereby preparing our students to work with
the engineers who perform detailed signal processing design to produce
well-designed systems.

Students in the Computing and Software Systems Program come to UWB
with a mathematical background that includes some calculus and
statistics; other than discrete mathematics, that is all of the
specific, formal mathematical education that they are likely to
receive. On the one hand, this is probably unavoidable, given their
other graduation requirements. On the other hand, it leaves them
ill-prepared to work in areas of software development that require
them to interact with engineers building mathematically intensive
applications. These areas include systems which capture, process, and
display multimedia information and signals, as described in the
section.

The long-term goal of this work is to move this class' infrastructure
forward so that students taking it will, upon completion of their
degrees, be able to work with engineers to build systems that process
signals. To do this, they need a basic understanding of how digital
signals are represented, processed, communicated, and stored -- they
need to understand the engineer's point of view.

For example, consider the construction of an ultrasound machine.
Without this course, our graduates could work on the user interface
and low-level tasks associated with the rest of the machine. However,
they would not be prepared to understand the core of the
machine: what data is collected, how the internal representation in
the computer relates to what is happening outside the machine, how
that data moves through the machine and is interpreted, etc. With this
course under their belts, our students should be able to talk to the
engineers doing the signal processing and understand what that part of
the system does. This will open up higher-level opportunities for
them:

Our students will be able to understand the entire machine's
operation, rather than just one component.

Our students will be able to communicate with and understand the
tasks of the entire team, rather than just be directed to perform
lower-level support tasks.