The embedded system is blooming. A lot of undergraduates are absorbed to devote themselves to this domain in recent years. Generally speaking, most undergraduates are deficient in the background knowledge about embedded system science. To build the essential background knowledge, we have a curriculum on embedded systems for first-year graduate students in their first summer vacation. We surveyed the curriculum of many universities and found them focuses on programming skills training. The students didn't interest in learning through this kind of curriculum in our empirical results. As reforming the curriculum year by year, we have devised a curriculum delivering the background knowledge to students by effective methods. The curriculum contains two major parts. The first part is embedded system guidance courses. It navigates the students in the embedded system science. Students will understand the applications domains, development methods, research issues, and challenges of embedded systems through these courses. The lecturer must issue some open-ended questions and assign homework of paper reading to help students thinking. The second part is the programming skills training. It is the hardest challenge for most students because they are deficient in the background knowledge of development tools as well as the hardware. Lab practice is an efficient way familiar with development tools and hardware for students. We carry on the teaching activities in an iterative and incremental method. The lecturer must depend on each student's learning status to adjust the quantities of Lab units. According to a survey of students went through this curriculum, it shows the teaching effect is quite good for most students.