Teaching
@ Boston University

Data Systems Architectures |
code: CS 561 |
term: Spring 2023 |
students: 27
This graduate seminar course focuses on how to design data systems for the new hardware, workloads, and performance requirements. The students will learn about the internal design and workflow of several data management areas including relational systems, distributed database systems, key-value stores, newSQL and NoSQL systems, data systems for machine learning (and machine learning for data systems), interactive analytics, and data management as a service. In a fast moving industry and research landscape, these skills and the knowledge of state-of-the-art data systems are essential for any engineer/researcher.
This graduate seminar course focuses on how to design data systems for the new hardware, workloads, and performance requirements. The students will learn about the internal design and workflow of several data management areas including relational systems, distributed database systems, key-value stores, newSQL and NoSQL systems, data systems for machine learning (and machine learning for data systems), interactive analytics, and data management as a service. In a fast moving industry and research landscape, these skills and the knowledge of state-of-the-art data systems are essential for any engineer/researcher.

Fundamentals of Computing Systems |
code: CS 350 |
term: Spring 2020 |
students: 95
This course is designed to provide students with the fundamental notions in "systems". The concept of system is willfully made generic as one of the main objectives of this course is to cover reasoning approaches, mathematical tools, and modeling techniques that can be applied to a multitude of system instances, and to develop the ability to map new problems onto existing solutions. This course will help the students realize that many system instances have a common denominator of challenges and issues that can be approached using well established techniques and abstractions.
This course is designed to provide students with the fundamental notions in "systems". The concept of system is willfully made generic as one of the main objectives of this course is to cover reasoning approaches, mathematical tools, and modeling techniques that can be applied to a multitude of system instances, and to develop the ability to map new problems onto existing solutions. This course will help the students realize that many system instances have a common denominator of challenges and issues that can be approached using well established techniques and abstractions.