Saverio Perugini

Ph.D., Virginia Tech, 2004

Associate Professor of Computer Science, University of Dayton
ad majorem Dei gloriam



I love teaching! My philosophy toward teaching computing is simple: learning by doing (experiential 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 analytical reasoning and algorithmic 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 Socratic-type 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."

Below are links to all of the course materials, such as lecture notes, exercises, and tutorials, which I have developed or used in my offerings of these courses at UD. Listed below is also a link to the webpage of each course I have taught at UD which contains syllabi, homework assignments, and projects I developed for these courses.

Course Lecture Notes

Programming Languages (CPS 352/543) (old notes)
Emerging Languages (CPS 499)
Operating Systems (CPS 356)
Database Management Systems (CPS 430/542)
Advanced Topics in Database Systems (CPS 432/562)
UNIX/Linux and C Programming (CPS 444/544) (old notes)
Advanced UNIX/Linux Programming (CPS 445)

Quick Reference Sheets

Vim Quick Reference Sheet
Linux Quick Reference Sheet
C Quick Reference Sheet
Advanced Linux Quick Reference Sheet
Go Quick Reference Sheet
Lua Quick Reference Sheet
Statistics Quick Reference Guide
Metalogic Quick Reference Guide

Helpful Pages

Programming Languages Hub
Getting Started with UNIX/Lunix (personalized for UD CPS, CIS, & CPE/ECE students)
Class YouTube Videos
Class Warpwire Videos

Courses from Prior Semesters

(links to webpages of each of my prior course offerings)

BEST 2009/10 (summer program in science, engineering, and business for high school students from Singapore, China, and the greater Dayton area)
CPS 111: Introduction to Personal Computers (Summer I 16 15 14 13 12 11 10 09 08, Spring 16 15 13 11 10 09, Winter 08, Fall 10 09 08 07)
CPS 150: Algorithms and Programming I (Winter 05, Fall 04)
CPS 250: Introduction to Computer Organization (Fall 13 12)
CPS 343/543: Comparative Languages (Spring 14 13 11 10 09, Winter 08 07 05)
CPS 352/543: Concepts and Implementation of Programming Languages (Spring 15)
CPS 356: Operating Systems (Spring 17, Fall 16, Spring 16, Fall 15, Spring 15, Fall 14, Spring 14, Fall 13, Spring 13, Fall 12, Spring 11, Fall 10, Spring 10, Fall 09, Spring 09)
CPS 430/542: Database Management Systems (Fall 07 06 05)
CPS 432/562: Database Management Systems II (Winter 06)
CPS 444/544: UNIX/Linux Programming (Spring 17, Fall 16 15 14 13 12 10 09 08 06 05)
CPS 445: Systems Programming II (Winter 07 06)
CPS 499/592: Emerging Languages (Spring 17, 16)