Veritatem facientes in caritate.
✞ JMJ ✞
Omnia in Christo. Pro Deo et Patria.

About

I am a Professor of Mathematics and Computer Science in the Department of Mathematics at Ave Maria University. Before joining Ave Maria University, I was a faculty member in the Department of Computer Science at the University of Dayton for eighteen years, where I 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-2017). I did my Ph.D. in Computer Science at Virginia Tech (2004).I publish primarily in the areas of interactive informational retrieval, human-computer interaction, and programming languages. In 2017, I was awarded an NSF IUSE grant, which resulted in part in a laboratory manual, co-authored with colleagues, for use in teaching operating systems.I am a senior member of the Association for Computing Machinery (ACM) and the IEEE Computer Society, a Fellow in The Institute at Ave Maria University.Over the years, I have advised and mentored undergraduate students toward success in graduate school and industry.In 2023, I published a textbook on programming languages titled Programming Languages: Concepts and Implementation with Jones & Bartlett Learning. I am working on two book manuscripts with the tentative titles The Little Book of Contemporary Concurrency Models and An Introduction to Computer Science: A Liberal Arts Perspective.In Fall 2022, I joined Ave Maria University to start and direct the computer science program.

Teaching

Spring 2025CSCI 152. Discrete Structures and Functional Programming (T Th 8:20 - 10:00 AM)
CSCI 470. Artificial Intelligence and Machine Learning (T Th 1:50 - 3:30 PM)

Prior Semesters at Ave Maria University
CSCI 151. Introduction to Computer Programming
CSCI 251. Algorithms and Programming
CSCI 252. Data Structures and Algorithms
CSCI 350. Automata Theory
CSCI 370. Programming Languages

PERSPECTIVEI am inspired by professors who not only impart knowledge through their expertise, but also convey their passion and curiosity for a subject. My teaching objective is to help students formulate problems, develop strong analytical-reasoning and computation-thinking skills, and implement elegant and creative software systems.
Here are links to some of my courses and course materials.
Here are some quotes that have inspired me and helped form my view of the purpose of education and my role as a professor.QUOTESWhat we have to learn to do we learn by doing — Aristotle, EthicsI hear and I forget, I see and I remember, I do and I understand. — ConfuciusLearning should be an adventure, a quest, a romance. — Gretchen E. SmalleyOne specific characteristic of the education profession assumes its most profound significance in the Catholic educator: the communication of truth. For the Catholic educator, whatever is true is a participation in Him who is the Truth; the communication of truth, therefore, as a professional activity, is thus fundamentally transformed into a unique participation in the prophetic mission of Christ, carried on through one’s teaching.
— Sacred Congregation for Catholic Education (1982)
Standing somewhat apart from these arguments are, of course, religious educators, such as those in Catholic schools, who strive to maintain another traditional view—that learning is done for the greater glory of God and, more particularly, to prepare the young to embrace intelligently and gracefully the moral directives of the Church.
— Neil Postman, Technopoly (1992, p. 178)
There are two equally dangerous extremes—to shut reason out and to let nothing else in. — Pascal, Pensées (1670)The aim of education is to make the pupil like and dislike what he ought.
— Aristotle, Nicomachean Ethics
[T]he real motive of education [is] the search for a good life.
— Alan Bloom, The Closing of the American Mind (1987, p. 34)
In Higher Education?, Andrew Hacker and Claudia Dreifus remark that the purpose of college is to make you a more interesting person—nice formulation, as long as we stipulate that the person to whom it is more important to be interesting is yourself, if only since that is the one with whom you have to spend the of your life. But being interesting is very different from credentialed self-actualization, as David Brooks would call it. Being a quadruple major does not make you interesting. Editing the college newspaper while singing in an a capella group, starting a nonprofit, and learning how to cook exotic grains—this does not make you interesting. Interesting is not accomplished. Interesting is not “impressive.” What makes you interesting is reading, thinking, slowing down, having long conversations, and creating a rich inner life for yourself.
— William Deresiewicz, Excellent Sheep (2014, pp. 86-87, my emphasis)
It may be true that you have to be able to read in order to fill out forms at the DMV, but that’s not why we teach children to read. We teach them to read for the higher purpose of allowing them access to beautiful and meaningful ideas.
— Paul Lockhart, A Mathematician’s Lament (2009, p. 48)
Young men, for example, will learn how to make lay-up shots when they play basketball. To be able to make them is part of the definition of what good players are. But they do not play basketball for that purpose. There is usually a broader, deeper, and more meaningful reason for wanting to play—to assert their manhood, to please their fathers, to be acceptable to their peers, even for the sheer aesthetic pleasure of the game itself.
— Neil Postman, Technopoly (1992, pp. 176-177)
The things that are most worth doing are worth doing for their own sake [(e.g., reading/writing poetry, watching a sunset, listening to classical music, gazing into the night sky, and studying computer science)]. Anyone who tells you that the sole purpose of education is the acquisition of negotiable skills is attempting to reduce you to a productive employee at work, a gullible consumer in the market, and a docile subject of the state. What’s at stake, when we ask what college is for, is nothing less than our ability to remain fully human.
— William Deresiewicz, Excellent Sheep (2014, p. 79)
What builds character and virtue is carving out time for mental prayer, reading, thinking, slowing down, taking walks, engaging in philosophical discussions. Doing so will help you develop a strong interior life and ground you in a moral and intellectual foundation that will give meaning, color, and texture to your life.

COURSE MATERIALS
Lecture Notes  Prior Courses
(at University of Dayton)
Concepts and Implementation of Programming Languages (CPS 352/543)
Emerging Programming Languages (CPS 452)
Automata Theory (CPS 482/582)
Operating Systems (CPS 356)
Unix/Linux Programming (CPS 444/544)
Database Management Systems (CPS 430/542)
Other Resources
Emerging Programming Languages GitHub Pages (and repository)

Research

I am interested in the research space 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 engineering interactive computing systems. My research goal is to develop simple and elegant models that leverage ideas from programming languages to improve the conception, design, implementation, and security of interactive computing systems.

Publications
Selected List
Full List
The papers I have published are also indexed by the following services.

Selected Publications

  • Rowland, Z.S. & Perugini, S. (2025). A Formalization and implementation of the semantics of a domain-specific language for mixed-initiative, human-computer dialogs. Accepted for publication. To appear in The Art, Science, and Engineering of Programming, 10(1).

  • 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]

PUBLICATIONS ( Full List )

  1. Rowland, Z.S. & Perugini, S. (2025). The formal semantics and implementation of a domain-specific language for mixed-initiative dialogs. The Art, Science, and Engineering of Programming, 10(1), article 7, 44 pages. [DOI/PDF].

  2. 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].

  3. 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]. (Also appears as Williams, B.M. & Perugini, S. (2018). Staging human-computer dialogs: An application of the Futamura Projections (Technical Report No. arXiv:1811.05536 [cs.PL]). Cornell University Library: Computing Research Repository. [PDF | abstract].)

  4. 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 50<sup>st</sup> ACM Technical Symposium on Computer Science Education (SIGCSE), 933–939. New York, NY: ACM Press. [DOI | preprint PDF].

  5. Perugini, S. & Wright, D.J. (2020). Communicating Sequential Processes in the Go programming language. [Extended Abstract]. Journal of Computing Sciences in Colleges, 35(7), 101-102. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  6. 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].

  7. Watkin, J.L., Volk, A.C., & Perugini, S. (2019). An introduction to declarative programming in CLIPS and PROLOG. In Arabnia, H.R., Deligiannidis, L., Grimaila, M.R., Hodson, D.D., & Tinetti, F.G. (Eds.), Proceedings of the 17<sup>th</sup> International Conference on Scientific Computing (CSC), 105-111. USA: Computer Science Research, Education, and Applications Press. (Publication of the World Congress in Computer Science, Computer Engineering, and Applied Computing (CSCE).) [preprint PDF | postprint PDF].

  8. Perugini, S. (2019). Revitalizing the Linux programming course with Go. Journal of Computing Sciences in Colleges, 35(5), 61-69. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  9. Perugini, S. & Wright, D.J. (2019). Concurrent programming with the Actor model in Elixir [Extended Abstract]. Journal of Computing Sciences in Colleges, 35(5), 111-114. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  10. Buck, J.W. & Perugini, S. (2019). An interactive, graphical CPU scheduling simulator for teaching operating systems. Journal of Computing Sciences in Colleges, 35(5), 76-87. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  11. Arnold, Z.L. & Perugini, S. (2019). An introduction to concatenative programming in Factor. Journal of Computing Sciences in Colleges, 35(5), 70-77. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  12. Perugini, S. & Wright, D.J. (2019). Developing a contemporary and innovative operating systems course [Birds-of-a-Feather Abstract]. In Hawthorne, E.K. & Pérez-Quiñones, M.A. (Eds.), Proceedings of the 50<sup>th</sup> ACM Technical Symposium on Computer Science Education (SIGCSE). New York, NY: ACM Press. [DOI | PDF | another PDF].

  13. Buck, J.W. & Perugini, S. (2019). An interactive, graphical simulator for teaching operating systems [Demonstration Abstract]. In Hawthorne, E.K. & Pérez-Quiñones, M.A. (Eds.), Proceedings of the 50<sup>th</sup> ACM Technical Symposium on Computer Science Education (SIGCSE). New York, NY: ACM Press. [DOI | PDF | another PDF].

  14. Buck, J.W. & Perugini, S. (2019). An interactive, graphical CPU scheduling simulator for teaching operating systems (Technical Report No. arXiv:1812.05160 [cs.OH]). Cornell University Library: Computing Research Repository. [PDF | abstract].

  15. Prince, D.P. & Perugini, S. (2018). An application of the Actor model of concurrency in Python: A Euclidean rhythm music sequencer. Journal of Computing Sciences in Colleges, 34(1), 35-43. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  16. Perugini, S. & Watkin, J.L. (2018). ChAmElEoN: A customizable language for teaching programming languages. Journal of Computing Sciences in Colleges, 34(1), 44-51. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  17. Perugini, S. (2018). The design of a emerging/multi-paradigm programming languages course. Journal of Computing Sciences in Colleges, 34(1), 52-59. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  18. Perugini, S. & Wright, D.J. (2018). Developing a contemporary operating systems course [Extended Abstract]. Journal of Computing Sciences in Colleges, 34(1), 155-156. USA: Consortium for Computing Sciences in Colleges. [DOI | PDF].

  19. 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 12<sup>th</sup> International ACM Conference on Ubiquitous Information Management and Communication (IMCOM), 82:1-82:8. New York, NY: ACM Press. [DOI | PDF].

  20. Buck, J.W., Perugini, S., & Nguyen, T.V. (2017). CSE: U: Mixed-initiative personal assistants. ACM Student Research Competition Grand Finals Candidates, 2016-2017; Undergraduate Student Winners. [PDF].

  21. Buck, J.W. & Perugini, S. (2017). Mixed-initiative personal assistants [Extended Abstract]. In Barnes, T. & Garcia, D. (Eds.), Proceedings of the 48<sup>th</sup> ACM Technical Symposium on Computer Science Education (SIGCSE), 753-754. New York, NY: ACM Press. (First-place winner 2016-2017 ACM Student Research Competition.) [DOI | PDF].

  22. Masthay, T.M. & Perugini, S. (2017). Parareal algorithm implementation and simulation in Julia (Technical Report No. arXiv:1706.08569 [cs.MS]). Cornell University Library: Computing Research Repository. [PDF | abstract].

  23. Williams, B.M. & Perugini, S. (2016). Revisiting the Futamura Projections: A diagrammatic approach. Theoretical and Applied Informatics, 28(4), 15-32 [DOI | PDF]. (Also appears as Williams, B.M. & Perugini, S. (2018). Revisiting the Futamura Projections: A diagrammatic approach (Technical Report No. arXiv:1611.09906 [cs.PL]). Cornell University Library: Computing Research Repository. [PDF | abstract].)

  24. 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 8<sup>th</sup> International ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS), 204-216. New York, NY: ACM Press. (Acceptance rate = 30%.) [DOI | PDF].

  25. 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].

  26. Buck, J.W. & Perugini, S. (2016). A tool for staging mixed-initiative dialogs. In P. Phung, J. Shen, & M. Glass (Eds.), Proceedings of the 27<sup>th</sup> Modern Artificial Intelligence and Cognitive Science Conference (MAICS), 25–32. [eCommons PDF | CEUR-WS PDF].

  27. Lu, X., Shen, J., Perugini, S., & Yang, J. (2015). An immersive telepresence system using RGB-D sensors and head mounted display. In Chen, M., Sousa, L., & Tian, Y. (Eds.), Proceedings of the IEEE International Symposium on Multimedia (ISM), 453-458. Los Alamitos, CA: IEEE Computer Society Press. (Acceptance rate < 26%.) [DOI | [PDF]()].

  28. Perugini, S. (2015). Specifying and staging mixed-initiative dialogs by program generation and transformation (Technical Report No. arXiv:1108.0476v5 [cs.PL]). Los Alamos, NM: Computing Research Repository (CoRR). [PDF | abstract].

  29. Calvo, A.A. & Perugini, S. (2014). Pointing devices for wearable computers. Advances in Human-Computer Interaction, 2014(Article ID 527320), 10pp. [doi:10.1155/2014/527320 | WWW | PDF].

  30. Calvo, A., Burnett, G., Finomore, V., & Perugini, S. (2012). The design, implementation, and evaluation of a pointing device for a wearable computer. In Bolstad, C.A. & Mayhorn, C.B. (Eds.), Proceedings of the Human Factors and Ergonomics Society 56th Annual Meeting, 521-525. Santa Monica, CA: Human Factors and Ergonomics Society. (Nominated for the computer systems best paper award.) [DOI | PDF].

  31. Kimball, W.B. & Perugini, S. (2012). Software vulnerabilities by example: A fresh look at the buffer overflow problem—Bypassing SafeSEH. Journal of Information Assurance and Security, 7(1), 1–13 [WWW | preprint PDF].

  32. Perugini, S. (2010). Personalization by website transformation: Theory and practice. Information Processing and Management, 46(3), 284-294 [DOI | PDF].

  33. Perugini, S. & Ramakrishnan, N. (2010). Program transformations for information personalization. Computer Languages, Systems and Structures, 36(3), 223-249 [DOI | PDF].

  34. 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].

  35. Perugini, S. & Ramakrishnan, N. (2009). Exploring out-of-turn interactions with websites. Journal of Digital Information, 10(4) [abstract | HTML | PDF].

  36. Stefaner, M., Ferré, S., Perugini, S., Koren, J. & Zhang, Y. (2009). User interface design. In G. Sacco & Y. Tzitzkas (Eds.), Dynamic taxonomies and faceted search: Theory, practice, and experience (Vol. 25, pp. 75-112). Berlin: Springer. (Invited submission.) [PDF].

  37. Perugini, S. (2008). Symbolic links in the Open Directory Project. Information Processing and Management, 44(2), 910-930 [DOI | PDF].

  38. 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 25<sup>th</sup> International ACM Conference on Human Factors in Computing Systems, 961-970. New York, NY: ACM Press. (Acceptance rate < 25%.) [DOI | PDF].

  1. Perugini, S. & Ramakrishnan, N. (2007). Mining functional dependencies for flexible information access. Journal of the American Society for Information Science (JASIST), 58(12), 1805-1819. (In special issue of JASIST on Mining Web Resources for Enhancing Information Retrieval.) [DOI | PDF | HTML].

  2. Perugini, S. & Ramakrishnan, N. (2006). Interacting with web hierarchies. IEEE IT Professional, 8(4), 19-28 [DOI | PDF].

  3. Perugini, S. (2006). Real-time query expansion and procedural interfaces for information hierarchies. In Broder, A.Z. & Maarek, Y.S. (Eds.), Proceedings of the International ACM SIGIR Workshop on Faceted Search, 50-54 [PDF].

  4. Kimball, W.B. & Perugini, S. (2006). Information assurance through binary vulnerability auditing. [Abstract]. Ohio Journal of Science, 106(1), A-15. (Special issue on the 115<sup>th</sup> Meeting of the Ohio Academy of Science, Dayton, Ohio.) [PDF].

  5. 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 4<sup>th</sup> International ACM Conference on Generative Programming and Component Engineering, LNCS 3676, 205-220. Berlin: Springer. (Acceptance rate = 30%.) [DOI | PDF].

  6. Perugini, S. & Ramakrishnan, N. (2005). Personalization by Program Slicing. Journal of Object Technology, 4(3), 5-11. (Special issue on the 6<sup>th</sup> International ACM GPCE Young Researchers Workshop, Vancouver, Canada.) [PDF | HTML].

  7. Keller, B.J., Kim, S., Vemuri, N.S., Ramakrishnan, N., & Perugini, S. (2005). The good, bad, and the indifferent: Explorations in recommender system health. In Proceedings of the International ACM Intelligent User Interfaces Beyond Personalization Recommender Systems Research Workshop, 43-47. [PDF].

  8. Perugini, S. (2005). Recommender systems research. [Abstract]. In Proceedings of the 16<sup>th</sup> Midwest Artificial Intelligence and Cognitive Science Conference, 6. (Invited plenary talk.) [PDF].

  9. 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 13<sup>th</sup> International ACM World Wide Web Conference, 212-223. New York, NY: ACM Press. (Acceptance rate < 15%.) [DOI | PDF].

  10. 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].

  11. Perugini, S. McDevitt, K., Richardson, R., Pérez-Quiñones, M.A., Shen, R., Ramakrishnan, N., Williams, C., & Fox, E.A. (2004). Enhancing usability in CITIDEL: Multimodal, multilingual, and interactive visualization interfaces. In Lim, E.-P. & Christel (Eds.), Proceedings of the 4<sup>th</sup> International ACM/IEEE-CS Joint Conference on Digital Libraries, 315-324. New York, NY: ACM Press. (Acceptance rate < 25%.) [DOI | PDF].

  12. Perugini, S. (2004). Program transformations for information personalization. Ph.D. Dissertation, Department of Computer Science, Virginia Tech. US Copyright Office Registration Number TX 6-040-012 [PDF | abstract].

  13. Perugini, S., Ramakrishnan, N., & Fox, E.A. (2004). Automatically generating interfaces for personalized interaction with digital libraries (Technical Report No. cs.DL/0402022). Los Alamos, NM: Computing Research Repository [PDF | abstract].

  14. Perugini, S. & Ramakrishnan, N. (2003). Personalizing web sites with mixed-initiative interaction. IEEE IT Professional, 5(2), 9-15. (Featured on the cover of the March-April issue and recognized in ACM TechNews Timely Topics, 5(490), Friday, May 2, 2003.) [DOI | PDF].

  15. Perugini, S. & Ramakrishnan, N. (2003). Personalizing Interactions with Information Systems. In M.V. Zelkowitz (Ed.), Advances in Computers (pp. 323-382), 57: Information Repositories. Amsterdam: Academic Press. (Invited submission.) [PDF].

  16. Capra, R., Narayan, M., Perugini, S. Ramakrishnan, N., & Pérez-Quiñones, M.A. (2003). The Staging Transformation Approach to Mixing Initiative. In Tecuci, G. (Ed.), Working Notes of the IJCAI Conference, Workshop on Mixed-Initiative Intelligent Systems, 23-29 [PDF].

  17. Ramakrishnan, N. & Perugini, S. (2001). The partial evaluation approach to information personalization (Technical Report No. cs.IR/0108003). Los Alamos, NM: Computing Research Repository [PDF | abstract].

  18. Perugini, S., Lakshminarayanan, P., & Ramakrishnan, N. (2000). Personalizing the GAMS cross-index (Technical Report No. TR-00-01). Blacksburg, VA: Department of Computer Science, Virginia Tech [PDF | abstract].

Lecture Notes

Past Courses

(at University of Dayton)
(links to webpages of each of my prior course offerings)

Helpful Pages

Quick Reference Sheets