The common way is to teach all the fundamental knowledge points in undergraduate stage and leave high level points in graduate stage. In case of multicore related knowledge points, the problem goes back to section 3.1, that is what materials should be kept in undergraduate study and what should be put in graduate study. In author's view, because of the undetermined status of multi core literature we maybe put everything listed in section 3.1 all in undergraduate stage but just make them simple and easy to understand and learn. The objective is to broad the student's view and let them having a basic understanding and programming ability in multicore and many-core environment. In the future, if the students enter the society and want to deep their knowledge in this field they can easily select what they want to learn and keep up with the fast developing of the technology. And if they want to go to graduate study stage they also have enough basis for the future studying.