## 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.