This document provides an agenda and overview for an introduction to OpenCL course. The agenda includes lectures on understanding host programs, kernel programs, memory models, and optimization. Course materials include OpenCL reference cards, specifications, and exercises. An introduction to OpenCL explains that it is an open standard for parallel programming across heterogeneous systems like CPUs and GPUs. The OpenCL platform model includes devices like GPUs that are divided into compute units and processing elements. Kernels define work-items that execute problems in parallel over a domain.