Thomas John VanDrunen
Dept of Mathematics and Computer Science
Wheaton College (IL)
Meyer Science Building (MEY) 163
Office phone: 630 752 5692

Teaching (Fall 2024):

CSCI 243. Discrete Mathematics and Functional Programming. MWF 2:15-3:25 pm.
CSCI 345. Data Structures and Algorithms. MWF 12:55-2:05 pm.
CSCI 445. Analysis of Algorithms. MWF 11:35am-12:45 pm.

Teaching from previous semesters

Inventory of practice problems for Programming I and II

Office hours by appointment through Calendly:


Algorithmic Commonplaces (textbook for sophomore-level data structures and algorithms), March 2023 from Franklin, Beedle and Associates.

Discrete Mathematics and Functional Programming, August 2012 from Franklin, Beedle and Associates.

I am an associate professor of Computer Science at Wheaton College (IL), having started in the fall semester of 2004. I did my graduate work in Computer Science at Purdue University, earning my M.S. in 2000 and my Ph.D. in 2004. I graduated with a B.S. in mathematics and computer science from Calvin College in 1998.

My curriculum vitae

Teaching and educational interests:
Discrete mathematics
Programming, design patterns
Programming languages and language systems
The priority of interface implementation over class extension in CS 1

Research interests:
Computational linguistics and natural language processing (a new direction for me)
Compiler development tools
Hybrid programming languages (particularly straddling object-oriented and functional paradigms)
Compiler optimization

"Functional Programming as a Discrete Mathematics Topic," in ACM Inroads, 8(2):51-58, June 2017.

Discrete Mathematics and Functional Programming. Franklin, Beedle and Associates, 2012. supplemental materials

"The Case for Teaching Functional Programming in Discrete Math," SPLASH 2011 Educators' and Trainers' Symposium. pdf

"A Christian Analysis of Gabriel's 'Mob Software,'" Journal of the ACMS, 2010-2011 issue. html abstract with link to pdf.

"Java Interfaces in CS 1 Textbooks," OOPLSA 2006 Educator's Symposium. ps pdf

"Anticipation-Based Partial Redundancy Elimination for Static Single Assignment Form," with A. L. Hosking, Software--Practice & Experience , 34(15). pdf . Errata

Partial Redundancy Elimination for Global Value Numbering, my dissertation. pdf Errata

"Value-Based Partial Redundancy Elimination," with A. L. Hosking, in the Proceedings of The13th International Conference on Compiler Construction (CC) , Barcelona, Spain, April 2004.pdf. Errata

"Visitor-Oriented Programming," with J. Palsberg, presented at The 11th International Workshop on Foundations of Object-Oriented Languages (FOOL) , Venice, Italy, January 18, 2004. pdf

"Corner Cases in Value-Based Partial Redundancy Elimination," with A. L. Hosking, CSD-TR # 03-032 at Purdue University. ps

Non-CS thinkers who have influenced me:
(Not an endorsement of all their ideas or opinions.)
Geerhardus Vos, the father of Reformed biblical theology, author of Biblical Theology: Old and New Testaments.
Christopher Alexander, architect (who, in an interesting cross-over of ideas, has heavily influenced software engineering), author of The Timeless Way of Building and A Pattern Language.
Joseph Campbell, comparative mythologist and author of The Hero with a Thousand Faces.
Edward Tufte, expert on information graphics and design, author of The Visual Display of Quantitative Information and related books.

Thomas VanDrunen
Last modified: Mon May 6 13:14:03 CDT 2024