Pete Willemsen

University of Minnesota Duluth

Professor, Department Head, Department of Computer Science

This page is severely out of date -- it is being refactored now! Will have an updated site hopefully soon! (03/2023)


I run the Simulation and Interaction in Virtual Environments (SIVE) Lab with a research group composed of Master's level graduate students, and many talented undergraduates. The SIVE Lab specializes in interactive simulations that use GPU-based resources, or benefit from interactive, immersive visualization capabilities.

My research efforts are highly interdisciplinary and are focused on the simulation of physical phenomena and interaction within virtual environments. The GEnUSiS group simulates the complex interactions between urban cities and the environmental aspects of pollution dispersion and energy use, while developing immersive and interactive decision support systems for communicating simulation results. In the another project, our group is developing a stereo-projection virtual environment at UMD that integrates with the University of Utah's TPAWT (TreadPort Active Wind Tunnel) to explore locomotion and haptic terrain rendering with a robotic shoe device.

Mobile Application Development

I encourage our computer science undergraduates to take on interdisciplinary projects across our campus. These scholarly efforts are all aimed at providing experiences to our students that strengthen their education.

Recently, computer science students, working with graphic design and German language students created the UMD German Grammar Guide, which is now available on Apple's App Store. Our efforts have resulted in forming the Mobile Language Learning Group (MLLG) to bring together computer science students, foreign language students, and graphic design students to develop applications for other languages (such as Russian or French) as well as study abroad experiences.

Undergraduates are also working in other areas including projects with faculty from exercise science.

If you're interested in joining these teams, please contact me!

Educational Outreach to Elementary Students

I believe in providing outreach to the community, but especially the elementary students in and around Duluth. My motivation is to teach younger kids about what computer scientists do and how we program computers to solve science problems. These skills are not being taught at the elementary level and in some cases, not even at the high school levels. As part of this outreach, I invite second and third grade elementary classes in Duluth to my lab. I, along with undergraduates from computer science have also taught about one hundred third graders how to program using Scratch. I also participate in organizing Lego robotics activities that are focused on programming and problem solving.

More detail on these activities can be found on the SIVE Lab website:

ACM Club

I am the faculty advisor for the Association for Computing Machinery (ACM) Club at UMD. As the adviser to the UMD ACM Club, I have proposed projects to the group related to human-computer interaction or teaching-focused outreach projects. In past years, the group has constructed the hardware and software for building a multi-touch table. The software that was produced for this project is open-source, and is called Glassomium.

We also travel to Thief River Falls, MN each year to complete in the Digi-Key Collegiate Computing Competition. UMD students have competed in the Digi-Key competition every year since it started, winning the competition in 2000, 2005, and 2014.

UROP (UMN Undergraduate Research Opportunities Program)

I am interested in involving talented undergraduates with my research efforts. If you are interested, please contact me by email or stop by my office.

Recent Activity

CS 8993 - Graduate Seminar

Posted: Wed, Aug 28, 2019 - Word count: 1300
CS 8993 (Fall 2019) - Graduate Student Seminar Course Description The UMD course catalog describes this course in the following way: The graduate student seminar presents basic ethical theories, case studies dealing with ethical issues facing the computing professional in his/her life as a practitioner, and the development of research, including a thesis proposal which meets the requirements and standards of the department and serves as the foundation of and guideline for the development of the graduate research project (i.e., thesis).

Learning the Scratch programming environment

Posted: Wed, Jun 10, 2015 - Word count: 300
Learning Scratch to Support Problem Solving with Computers Scratch is a programming system that can be used to teach anyone how to write code to solve problems on computers. It provides a visual and engaging experience to teach the basics of computer programming. More importantly, what you learn in Scratch will transfer to learning other programming languages. Recently, I gave a presentation to teachers in the Duluth Public School system (ISD 709) on Scratch.

UMD Students win DKC³ 2014

Posted: Fri, Oct 17, 2014 - Word count: 200
DKC³ 2014 Programming Competition Each year, I travel with about eight University of Minnesota Duluth (UMD) Computer Science students to Thief River Falls, MN to compete in the Digi-Key Collegiate Computing Competition. This year, we brought one team of three students to compete in the 15th year of this event. Students Jonathan Beaulieu, Bridget Coughlin, and Scott Redig formed the team Pointless Pointer joining twenty-three other teams from around the area working through a variety of programming problems.