This tutorial covers basic concepts of SALSA and illustrates its concurrency and distribution models through several examples. Chapter 2 introduces the actor model and how SALSA supports it. Chapter 3 introduces concurrent programming in SALSA, including token-passing continuations, join blocks, and first-class continuations. Chapter 4 discusses SALSA's support for distributed computing including asynchronous message sending, universal naming, and migration. Chapter 5 introduces several advanced coordination constructs and how they can be coded in SALSA. Chapter 6 defines actor garbage and explains how automatic actor garbage collection works in SALSA. Appendix A introduces how to specify name server options and how to run applications with different system properties. Appendix B provides debugging tips for SALSA programs. Appendix C provides brief descriptions of SALSA example programs. Appendix F lists the SALSA grammar.