Teaching
Student Evaluation Highlights
Student Testimonials
A selection of comments from student evaluations at the University of South Florida.
He is a fantastic teacher who really goes in depth with examples and scenarios, making you feel like he wants us to actually learn and understand, rather than just memorize.
Honestly, this openness to any question (and his open-minded discussion) made this class exceptional. I believe it would help other students if he continues to do that.
Dr. Ami is one of the best professors I had in the CS department at USF. He made complicated topics understandable with analogies and good explanations.
One of the best professors I have had. His passionate teaching style catches the attention even of those who would not naturally be interested.
I like the way he asks about current trending incidents and attacks and explains them in class.
Dr. Ami is very knowledgeable, and genuinely cares about his students.
Dr Ami is one of the best teachers I had in my academic journey at USF. His teaching style, grading style, the amount of work he puts in homework feedback makes me as a student feel like I’m back to school with an actual teacher + guardian.
I found the professor's approach to difficult material helpful and considerate. He always verified students were following the pace he was teaching, and dove into relevant, real-world examples that helped us understand the domain and stay interested.
Teaching Philosophy
My teaching philosophy is built on two core observations: students become invested when topics are relatable and when they are challenged with a critical perspective.
Relatability & Engagement
In undergraduate courses, students engage deeply when they experience relatable stories or narratives. I invest time in getting to know my students to provide real-life examples that bridge the gap between abstract theory and personal intuition.
Critical Thinking
For upper-level courses, I shift focus toward system design choices. We explore the nuanced trade-offs of engineering by working through three core questions.
Why are certain design choices made in a system?
What design choices are the possible alternatives?
How are trade-offs between those alternatives determined?
This approach nurtures a research-oriented mindset, encouraging students to evaluate hidden factors and question assumptions—skills that serve them well beyond their graduate life.
Courses
Upcoming Course
Software Engineering
Teaches the fundamentals of software engineering, preparing students for industry. Updated to include the latest agentic software engineering practices.
Past Courses
Concepts of Computer Security
An advanced, research-focused security course that teaches students about threats, cryptography, and design trade-offs.
Secure Coding
Focuses on improving the security of software systems through secure programming and design practices.
Programming for Data Science
A Python-focused foundations course for data analysis and visualization.