MEET OUR FACULTY
MEET OUR Staff

Saverio Perugini, Ph.D.

Professor of Mathematics and Computer Science; Director of Computer Science Program
Email:
saverio.perugini@avemaria.edu
Phone:
(239) 304-7920
WhatsApp:
Office:
Henkels 2048

Saverio Perugini, Ph.D.

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.

Academic web page: https://saverio.carrd.co

Teaching web page: https://saverio-teaching.carrd.co

Recent News

Dr. Perugini Media Samples

Education

  • B.S., Computer Science, Villanova University
  • M.S., Computer Science, Virginia Tech
  • Ph.D., Computer Science, Virginia Tech

About

pow smallDr. Perugini is featured in The Pursuit of Wisdom, a series of short courses presented by the faculty of Ave Maria University.

programming-languages-saverio-book

Dr. Perugini’s Book

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

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. (2023). Programming languages: Concepts and implementation. Burlington, MA: Jones & Bartlett Learning.
  • 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 Education, 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(SIGCSE), 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. [DOI | WWW | 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 Management, 46(3), 284-294 [DOI | PDF].
  • 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 Management, 46(1), 22-43 [DOI | PDF].
  • Perugini, S. (2008). Symbolic links in the Open Directory Project. Information Processing and Management, 44(2), 910-930 [DOI | PDF].
  • 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 Conference, 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. 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

Lecture Notes

No items found.

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. (2023). Programming languages: Concepts and implementation. Burlington, MA: Jones & Bartlett Learning.
  • 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 Education, 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(SIGCSE), 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. [DOI | WWW | 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 Management, 46(3), 284-294 [DOI | PDF].
  • 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 Management, 46(1), 22-43 [DOI | PDF].
  • Perugini, S. (2008). Symbolic links in the Open Directory Project. Information Processing and Management, 44(2), 910-930 [DOI | PDF].
  • 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 Conference, 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

GO AHEAD AND APPLY!

Sunny skies, warm temperatures, a beautiful campus. What more could you want? How about a community-like atmosphere, quality instructors who care about your success, a wealth of spiritual activities, expert career guidance… and that’s only the beginning. Imagine your future at AMU. It all starts by filling out our free application today.

APPLY NOW