This is an archive of class materials presented in February 2018. The focus of this training is on programming for manycore architectures such as Intel's Xeon Phi and Xeon Scalable processors. We follow the evolution of processors from multicore to manycore and describe the differences and similarities of the manycore architectures.  We also review the basics of vectorization, discuss the importance of multi-threaded programming, and cover the importance of hybrid programming on manycore architectures.