Flavio Esposito, Ph.D.

Teaching and Mentoring @ Saint Louis University

  • Spring 2021: Outstanding Graduate Faculty Award, Parks College of Engineering, Aviation and Technologies at SLU.

  • Spring 2021: Finalist for the Undergraduate Mentoring Award, College of Arts and Sciences at SLU.

Capstone classes

I am always interested in mentoring students on their undergraduate or graduate capstone courses:

  • CSCI 4961 Capstone I

  • CSCI 4962 Capstone II

  • CSCI 5960 Software Engineering Capstone Project

  • CSCI 5961 Artificial Intelligence Capstone Project

Capstone Guidelines >

Research Courses and MS Thesis

I have been mentoring several undergraduate and graduate students on research and reading courses, even during summers; if you are interested in my research agenda in Computer Science, Software Engineering, Artificial Intelligence, or Electrical and Computer Engineering (Parks), consider taking a research course (e.g., CSCI 5970 Research Topics) or ask me if you can start your MS thesis with me. I do not require it, but I strongly prefer advising MS Thesis students that start a research project with me during their first year of graduate studies.

CSCI 5090 Computer Science Colloquium

A series of presentations, given by faculty members and invited speakers, to provide students with exposure to current research and developments in the field of computer science. Students will be required to produce written summaries of the presentations.

CSCI 3550 / 5550 Computer Networks / ECE-4245 Computer Network Design

The course introduces the underlying concepts and principles of computer networks. It presents the building blocks of a network and how these blocks fit together. The course emphasizes the design and implementation of network software that transforms raw hardware into a richly functional communication system. Real networks (such as the Internet, Ethernet, Wi-Fi) will be used as examples to reinforce the concepts and demonstrate various protocols and architectures. The course also covers notions of network management and modern networking, such as Software-Defined Networks and Data Center networking.

Class Website

CSCI 4530 / CSCI 5530 Computer Security

The course (former 4650) is a fundamental introduction to the broad area of computer security. Topics will include cryptography, network and cloud security, operating system security, web security, and common vulnerabilities in computer systems. Students will combine theoretical and algorithmic aspects of security with hands-on practical assignments.

Class Website

CSCI 5360 (CSCI 4930) Web Technologies

The course introduces the underlying concepts and principles of web science and web technologies. It covers an overview of the client-side and server-side technologies of web development, (e.g., Node.js, React, CSS, and Javascript) as well as some of the algorithmic notions that govern the modern web, such as e-commerce, web privacy and security (e.g., HTTPS), web rankings and auctions for web advertising. From the practical point of view, the course provides hands-on experience with interactive web site and web application development.

Class Website

CSCI 1080 Intro To CS: World Wide Web

This course covers introductory notions behind the technology of the web, from the structure of the Internet (web science) to the design of web pages (web development). Students will learn principles of the web as a network, and practical basics for web builders. The web science component of the class introduces notions of the web as an example of a network and use the Math CS tools of graph theory to better understand the web.

The web building component instead introduces some of the fundamental languages of (dynamic) web programming as well as other popular building tools, leading to each student creating his/her own web site over the term.

Class Website

CSCI 5570 Learning and Inference in Networking

The course introduces the underlying concepts and principles of data aspects of computer networks in two ways: first, it covers Machine Learning (ML) techniques used by networked systems, and second, it covers notions of networks and distributed system used for scalable ML training and inference. Finally, the course covers hands-on assignments using networking tools and large-scale virtual network testbeds that can be used to collect data from network protocols or analyze large data sets for networking problems. I will teach this course next Fall or Spring, based on department needs.

Class Website TBD