Computer Vision (CV) has several segments, each characterized by its own specific challenges: 1) theoretical CV, looking at ever more diverse mathematical tools to attack hard problems and create new algorithms; 2) practical CV, applying the algorithms to increasingly more complex real-world problems. Within practical CV, in the last decade we swathe emergence of two sub-segments. This happened because of extreme challenges in implementing complex computer vision algorithms in electronic devices with significantly constrained processing and energy resources: embedded CV emerged primarily in the context of automotive vision and mobile CV emerged in the context of apps for smart phones and tablets. The emergence of these two sub-segments reemphasized the need for practitioners of CV to be current with the latest theoretical work, thus reconnecting the theoretical and practical CV segments in a new way. The book will describe a number of important CV algorithmic blocks essential for embedded and mobile CV. For each of these algorithmic blocks there will be the following sections representative of different segments of CV: theoretical introduction; summary of practical experiences about the algorithm, its variants, and alternatives; optimization strategies for embedded and mobile CV; processing architectures and how the algorithmic block maps onto them; followed by exercises and problems.