Operating systems play an important role in interacting with hardware and software, while embedded operating systems deal more with hardware-specific functions, optimization and customization. To emphasize the education in embedded operating systems, in this paper, we present the design methodologies of two courses in this area: Embedded Operating Systems and Real-Time Embedded Operating Systems for SoC. The former course focus on the basic concepts of embedded kernel primitives. The latter one emphasizes more on the insight of the real-time kernel and its scheduling protocols. Both courses consist of comprehensive hands-on practices to provide students more opportunities to fully participate in this blooming field.