In this presentation we describe various features and scaffolds embedded in a Computer Science high school course that is supported by an online learning environment. To develop this course we followed a design-based research approach with problem-based learning as our underlying pedagogy. In collaboration with computer scientists, Computer Science teachers, and instructional designers, we sought to re-envision Computer Science instruction while creating an innovation that is flexible enough to adapt to local contexts without losing its essence.