Teaching computer programming to young children has been considered difficult because of its abstract and complex nature. The objectives of this study are (1) to investigate whether an innovative educational technology tool called Scratch could enable young children to learn abstract knowledge of computer programming while creating multimedia products, and (2) to identify difficult computer programming concepts and skills for young children to understand. To achieve these goals, a case study was conducted over six months, investigating how a nine-year-old elementary school student learned computer programming concepts and skills while working on technology-enriched language-art projects using Scratch. The study found that the visual programming approach employed in Scratch and the analogy-based instructional strategy enabled the young participant to successfully learn computer programming while creating a variety of multimedia products. The findings from this study also suggest that implementing “event-driven programming” and understanding “variable ownership” are difficult computer programming concepts for young children.