Saverio Perugini, Ph.D.

Professor of Mathematics & Computer Science

Office: Henkles 2048
Education: Ph.D., Computer Science, Virginia Tech (2004)
pow smallDr. Saverio is featured in The Pursuit of Wisdom, a series of short courses presented by the faculty of Ave Maria University.


Saverio Perugini, Ph.D.

General Info


Dr. Perugini’s Book

Perugini, S. 2023. Programming languages: Concepts and implementation. Burlington, MA: Jones and Bartlett.

Recent News


Research Interests

  • Functional programming
  • Engineering interactive computing systems

Research Perspective

My research lies at the intersection of programming languages and software engineering, with a focus on exploring the application of language concepts (continuations, reflection, partial evaluation, concurrency, and others) to problems in novel application domains (human-computer dialogs and web interaction management). My research goal is to develop simplistic and elegant models that leverage language concepts and techniques to improve the conception, design, implementation and security of software systems.

Funded Research

Perugini, S., Wright, D., & Bryant, A. (2017).
Engaged Student Learning: Re-conceptualizing and Evaluating a Core Computer Science Course for Active Learning and STEM Student Success. Funding Agency: National Science Foundation (NSF). NSF Program: Improving Undergraduate STEM Education: Education and Human Resources (IUSE: EHR). NSF Proposal Award No (FAIN): 1712406. Amount: $299,864. Duration: four years (8/1/2017-7/31/2022).

Selected Publications (Full List)

  • Perugini, S., Yao, Z., Phung, P.H., Rettig, A.,
    Bryant, A.R., Baldwin, R.O., Wright, D.J., & Gallagher, J.C. (2022).
    An Active Learning Laboratory Manual for Teaching a Contemporary
    Undergraduate Operating System Course. Journal of Open Source
    , 5(58), 162. [DOI/PDF].
  • Williams, B.M. & Perugini, S. (2020).
    Staging human-computer dialogs: An application of the Futamura
    Projections. Journal of Computing Sciences in Colleges,
    36(4), 83-92. USA: Consortium for Computing Sciences in
    Colleges. [DOI | preprint PDF | postprint PDF].
  • Perugini, S. & Williams, B.M. (2020). C +
    Go: An alternate approach toward Linux programming course. In Heckman,
    S., Monge, A., & Cutter, P. (Eds.), Proceedings of the
    50st ACM Technical Symposium on Computer Science Education
    , 933–939. New York, NY: ACM Press. [DOI | preprint PDF].
  • Perugini, S. (2019). Emerging languages: An
    alternative approach to teaching programming languages. Journal of
    Functional Programming
    , 29, E13. Cambridge, UK: Cambridge
    University Press. [DOIWWW | PDF | preprint PDF].
  • Buck, J.W., Perugini, S., & Nguyen, T.V.
    (2018). Natural language, mixed-initiative personal assistant agents. In
    Kim, D.S., Lee, K., & Ushiama, T. (Eds.), Proceedings of the
    12th International ACM Conference on Ubiquitous Information
    Management and Communication (IMCOM)
    , 82:1-82:8. New York, NY: ACM
    Press. [DOI | PDF].
  • Perugini, S. & Buck, J.W. (2016). A
    language-based model for specifying and staging mixed-initiative
    dialogs. In Campos, J.C. & Schmidt, A. (Eds.), Proceedings of
    the 8th International ACM SIGCHI Symposium on Engineering
    Interactive Computing Systems (EICS)
    , 204-216. New York, NY: ACM
    Press. [DOI | PDF].
  • Perugini, S. (2016). Mining mixed-initiative
    dialogs. In Su, S.-F. (Ed.), Proceedings of the IEEE International
    Conference on Systems, Man, and Cybernetics (SMC)
    , 2287-2294. Los
    Alamitos, CA: IEEE Computer Society Press. [DOI | PDF].
  • Perugini, S. (2010). Personalization by website
    transformation: Theory and practice. Information Processing and
    , 46(3), 284-294 [DOIPDF].
  • Perugini, S. & Ramakrishnan, N. (2010).
    Program transformations for information personalization. Computer
    Languages, Systems and Structures
    , 36(3), 223-249 [DOI | PDF].
  • Perugini, S. (2010). Supporting multiple access
    paths to objects in information hierarchies: Faceted classification,
    faceted search, and symbolic links. Information Processing and
    , 46(1), 22-43 [DOIPDF].
  • Perugini, S. (2008). Symbolic links in the Open
    Directory Project. Information Processing and Management,
    44(2), 910-930 [DOIPDF].
  • Perugini, S., Anderson, T.J., & Moroney,
    W.F. (2007). A study of out-of-turn interaction in menu-based, IVR,
    voicemail systems. In Gilmore, D. (Ed.), Proceedings of the
    25th International ACM Conference on Human Factors in
    Computing Systems
    , 961-970. New York, NY: ACM Press. [DOI | PDF].
  • Perugini, S. & Ramakrishnan, N. (2006).
    Interacting with web hierarchies. IEEE IT Professional,
    8(4), 19-28 [DOI | PDF].
  • Perugini, S. & Ramakrishnan, N. (2005). A
    generative programming approach to interactive information retrieval:
    Insights and experiences. In Glück, R. & Lowry, M. (Eds.),
    Proceedings of the 4th International ACM Conference on
    Generative Programming and Component Engineering
    , LNCS 3676,
    205-220. Berlin: Springer. [DOI | PDF].
  • Narayan, M., Williams, C., Perugini, S., &
    Ramakrishnan, N. (2004). Staging transformations for multimodal web
    interaction management. In Najork, M. & Wills, C. (Eds.),
    Proceedings of the 13th International ACM World Wide Web
    , 212-223. New York, NY: ACM Press. [DOI | PDF].
  • Perugini, S., Gonçalves, M.A., & Fox, E.A.
    (2004). Recommender systems research: A connection-centric survey.
    Journal of Intelligent Information Systems, 23(2),
    107-143. [DOI | PDF].

Access to My Research Papers from Other Publication Indices


Teaching Interests

  • Programming languages
  • Artificial intelligence and machine learning
  • Automata theory

Teaching Perspective

I love teaching! My philosophy toward teaching computing is simple: learning by doing (active learning). Building software solutions to practical computing problems is an integral component of the courses I instruct. My teaching objective is to help students formulate problems, develop strong problem-solving, analytical-reasoning and computational-thinking skills, and implement elegant and creative software systems. I am inspired by professors who not only impart knowledge through their expertise, but also convey their passion and curiosity for a subject. I engage students in a dialog to cultivate a vibrant and dynamic experience in class. In the words of Gretchen E. Smalley, “Learning should be an adventure, a quest, a romance.”

Courses Frequently Taught

Short Bio

Saverio Perugini was a (tenured, full) Professor of Computer Science at the University of Dayton, where he served as a faculty member in the Department of Computer Science for 18 years (2004-22). In Fall 2022, Dr. Perugini joined Ave Maria University to start and direct the computer science program, where he is a Professor of Mathematics and Computer Science in the Department of Mathematics. At the University of Dayton, Perugini taught a variety of undergraduate and graduate courses in computer science, including programming languages, operating systems and human-computer interaction, and served as the undergraduate program director (2013-17). Perugini has a Ph.D. in Computer Science from Virginia Tech (2004). In 2023, Dr. Perugini published a textbook on programming languages titled Programming Languages: Concepts and Implementation with Jones & Bartlett Learning. He is currently working on two book manuscripts with the tentative titles Linux Programming with Go and The Little Book of Contemporary Concurrency Models: Lua, Go, Elixir, and Julia. Perugini is a senior member of the Association for Computing Machinery (ACM) and the IEEE Computer Society.


Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore


What are you