With the growth in complexity of today's computer applications, there is a need for increased computing power, not only in supercomputers, but also for other types of computers, including personal computers. Scientists and researchers agree that parallel processing represents the only way to increase computer speeds dramatically. They also believe that parallel processing will be the architecture of choice for future high performance computers. To prepare for the future, new scientists and engineers need to learn the architecture and programming of parallel systems at the undergraduate level. The goal of this project is to teach undergraduate students in electrical engineering the fundamental concepts of architecture and programming of systems with parallel processing. In order to be most effective and provide the strongest learning experiences, lectures in parallel processing should be coupled with well-planned, coordinated laboratory studies and experimentation. This proposed project will enable students to understand and to have hands-on experience on systems with parallel architectures through integrated lectures and laboratory experiments.