The website of Andrew Thall, computer scientist and erstwhile guitarist and bass player.

Andrew Thall, Ph.D.
Associate Professor of Mathematics and Computer Science
Alma College
614 W. Superior St., Alma, MI 48801, USA

Office: Swanson Academic Center (SAC) 223
Tel: +1-989-463-7177 (New number!!)
Lab: SAC 210
Lab Tel: +1-989-463-7798
or

News!

Summer 2016

Changes in our Advanced Computing Lab! Setting up keyboard/monitor stations for small systems support, including CSC 310 and 420 work with Raspberry Pi and Jetson TK1 and TX1 platforms. Building an i7-machine with GPU support for deep-learning experiments, depth-camera/sensor-fusion projects, and VR-ready for an Oculus or HTC Vive. Also getting new equipment for projector-based augmented-reality experiments, and a 360 degree camera for use by students in this fall's First-Year Seminar: Strange Mirrors: Simulation, AI, and the Virtually Real. If you don't think that's going to be fun, you're wrong.

Spring 2014

Spending May-December 2014 sabbatical as visiting scholar at Kitware Corporation's Chapel Hill office, where I will be working on collaborative projects in medical image analysis and GPU computing. Kitware provides open-source software for visualization, computer vision, medical imaging, data publishing, and software development processes. Their products include VTK, ITK, cmake, and Paraview.

Fall 2013

Using Raspberry Pi as a platform for individual projects in Operating Systems. Using Processing and a flipped classroom approach to teaching a multimedia introduction to computer programming.

Fall 2011

Using Processing and OpenFrameworks to teach computer graphics and interactive media, using digital cameras, Kinect sensors, and Wii remotes as input devices.

Summer 2011

Presented the gpuLucas work at GPGPU 4 at Newport Beach in March. I am currently working
with my research students (rising sophomores through the PRISM grant) to get gpuLucas ready
for public release in Fall 2011.
Ray Riley and I gave a workshop at the NMC Conference in Madison in June, titled "Advances in Audio Massage: a state of FLEX," teaching new audio time-shifting and beat-mapping tools in Logic Pro Studio 9.
Worked for a week in July with incoming Alma science students in the ASPIRE program, collaborating
with Dr. Melissa Strait's students on simulation of rubble-pile asteroid collisions. We did acquisition
and image-analysis of high-speed video of bullet impacts with solid and aggregate materials.

Fall 2010:

Wicked Fast Mersenne Prime Testing on the GPU! Announcing gpuLucas, a CUDA-based Lucas-Lehmer test that runs on NVidia Fermi-class graphics cards (GTX 480, Tesla 2050, etc.). gpuLucas can do a Lucas-Lehmer product on a 2^21 word array in 4.8 milliseconds, requiring only 2.5 days to confirm that 2**43,112,609 - 1 is prime. gpuLucas parallelizes the IBDWT-method for fast multiplies modulo Mersenne numbers. The CUDA source code will be available summer 2011. All your irrational base are ours.

Summer 09:

Added technical reports on extended-precision floating point GPU computation using Cg, and implementing the Lucas-Lehmer test for Mersenne primes on the GPU using extended-precision FFTs. These are on the papers page.

Spring 09:

Learning Spanish! Alma has a partnership with Equitorialis University in Quito, Ecuador. In support of this, I'm taking part in a grant-sponsored program of Spanish instruction for faculty. This involves a two-week trip to Quito this June for language instruction and to make contacts at the university.

In March, I took part in the NMC 2009 Symposium on New Media and Learning, a gathering to explore
the impact of new media on teaching, learning, research, and creative expression, especially in higher education. The two-day online event took place at the NMC Conference Center in Second Life.

In May, I taught a Spring Term workshop on Computer Game Programming, working
with 17 students who used Python and Pygame to create five final projects.

Fall 08:

I have joined the computer science faculty at Alma College in Alma, Michigan. Lots of excitement in store! We will be introducing a Python-based media computation approach in introductory CS, based on the success of the courses at UM Morris. I will also be involved in developing a major in New Media and in creating a digital learning commons. In support of this, I attended the wicked cool New Media Consortium conference (NMC '08) in June at Princeton U. along with a contingent of faculty and staff from Alma.

Fall 07:

I am a visiting faculty member at the University of Minnesota's Morris Campus for the 2007/2008 academic year. I will be teaching introductory computer science courses using a media-computation framework and methodology, (see GA Tech's Media Computation Teachers website.) and continuing my research on high-precision computation on parallel graphics processors.


Research Interests

  • New media technology and its impact on the individual and society
  • Application of avatar-based virtual worlds to collaborative interaction and learning
  • GPGPU: general purpose programming on graphics hardware
  • computer graphics and visualization, subdivision surfaces and medial modeling
  • 3D medical image analysis
  • numerical and scientific computing
  • realtime rendering; computer art, animation and game design
  • games, puzzles and media computation for introductory computer science education



Recent Work

ACM SIGGRAPH 06 Poster: (See papers link for technical report.)

ACM SIGGRAPH 04 Poster -- Zumpella and Thall
  • Downloadable (free stuff)

    Subjects Taught

    "The mind is not a vessel to be filled but a fire to be kindled." -- Plutarch

    Miscellaneous

    M.S. 1997, Ph.D. 2004, Dept. of Computer Science, University of North Carolina at Chapel Hill
    "You are a lost generation." --Gertrude Stein to Ernest Hemingway, in conversation
    "You have confused the true and the real." --George Stanley to Samuel Delany, in conversation
    "Those were good beers. Manly beers." --The Tick to Arthur, in conversation
    Last revision: June 28, 2016
    Last content review: June 2010

    War without end.