Computer Science:
Change is the Name of the Game

Faculty Profile: Mark Fienup

October 1999

As a discipline, computer science is relatively young and characterized by rapid technological advances. This dynamism is reflected in the interests of Mark Fienup, associate professor of computer science: Parallel computing, routing and computer networks, and computer science education are all greatly affected by the changing nature of computer science.

Parallel computing, or processing, is the use of supercomputers with several CPUs or a collection of personal computers to make a software program work more quickly. What may have taken hours for a single computer to process can be done in a matter of minutes with parallel processing. The challenge, for Fienup, is to devise parallel processing applications with the equipment he has available.

A few years ago, the trend in parallel computing was to add processors to speed up computing time, but now, in an example of how quickly the field is changing, fewer but more powerful processors are being linked. As computers become more and more powerful, the possibility of solving ever larger problems opens up.

Another aspect of computer science undergoing dramatic changes is routing and computer networks.  The increased speed of networks has created a need for different algorithms to control the flow of information. When networks were slower, files were normally transferred a segment at a time and then reassembled at the final destination, enabling the receiving computer to regulate the speed of transfer, or flow control, by notifying the sender to slow down if data were sent too quickly. It was easier to detect points of congestion when files were transferred incrementally.

Fiber optics have made it possible for transmission to be so rapid that an entire file is sent before a message can be sent back indicating a problem with receiving. In addition, the file has to "hop" from one place to another, as it makes its way to its destination, thereby compounding the potential for problems.

So, once again, an advance in one area has created a need for adjustment in another area. Acknowledging that routing and flow control go hand in hand, Fienup hopes to combine the two in high-speed networks so that instead of end-to-end flow control, files can be rerouted locally to alleviate congestion. He will begin with network simulation packages that permit the modification of current routing protocols.

Just as with applications and research, deciding the best ways to teach computer science is challenging because of the newness and constantly changing nature of the field. Fienup has found that the lecture format is not especially effective, and so he is experimenting with different forms of more active learning, including group learning.

With courses dealing more with practice than with theory, he has had success with a format of lecturing for about 10 minutes, then having students apply the information they have been given to a problem. The challenge, of course, is how to design appropriate hands-on exercises for courses with primarily theoretical content. In classes this fall, Fienup plans to develop problems that illustrate how theory guides practice.

A listing of Fienup's current publications related to the work discussed above follows. More information is available at Dr. Fienup's website.

Fienup, M.  (1999, April).  Teaching problem-solving techniques utilizing a running-example problem.  Proceedings of the 32nd Annual Small College Computing Symposium [CD-ROM].

Fienup, M.  (1996, September).  Rethinking the CS-2 course with an object-oriented focus.  SIGCSE Bulletin, pp. 23-25.

Fienup, M.  (1996, April).  Teaching undergraduates parallel program design.  Proceedings of the 29th Annual Small College Computing Symposium, pp. 348-356.

Fienup, M., & Haverdink, M.  (1994).  Routing, flow-control, and congestion-control in high-speed networks.  Proceedings of the 27th Annual Small College Computing Symposium, pp. 3-12.

Fienup, M., & Kothari, S.C.  (1994).  A memory constrained scalability metric.  Proceedings of the 1994 International Conference on Parallel Processing, Vol. 3, pp. 1-7.

our original home, Wright Hall


About Us

Undergraduate Programs


Faculty & Staff



Advisory Board


Courses and Registration

Student Life

Information for Prospective Students

Other Resources

Department of
Computer Science
305 ITTC
(the old East Gym)
Cedar Falls, Iowa
ph. (319) 273-2618
fax (319) 273-7123

UNI CS on Facebook UNI CS on Twitter

University of Northern Iowa

Diversity Matters


Paul Gray

With distributed computing, the devil is in the details. That's because a programmer is dealing with all sorts of different hardware and networks. Meshing all of these elements presents a significant challenge that Paul Gray, associate professor of computer science, is leading the charge to solve... [more]

More Profiles


bootable cluster project


realtime systems lab


More Projects

Department of Computer Science