This document provides an overview of distributed systems and computing concepts through a series of slides. It defines a distributed system as a collection of independent computers interconnected via a network that can collaborate via message passing. Some key challenges of distributed computing discussed include heterogeneity, failure handling, concurrency, scalability, security, and transparency. Examples of distributed systems like web search, online games, and financial trading are provided. The document also discusses trends in distributed systems like ubiquitous networking and mobile/cloud computing.