Flavio Esposito, Ph.D.

Teaching @ Saint Louis University

Capstone classes

This includes several undergraduate and graduate capstone courses: CSCI- 4961 Capstone I, CSCI- 4961 Capstone I|, CSCI 5960 Software Engineering Capstone Project, CSCI 5960 Artificial Intelligence Capstone Project.

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 4650 Computer Security

The course 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