In Storytelling, students use computer science to tell fun and interactive stories. Storytelling emphasizes creativity by encouraging club members to tell a unique story each day.
In Friends, students are encouraged to sign up with a friend or make a new friend in the club. Friends emphasizes teamwork by allowing club members to tell the story of how their friendship started and imagine a company together.
In Fashion & Design, students learn how computer science and technology are used in the fashion industry while building fashion-themed programs, like a fashion walk, a stylist tool, and a pattern maker.
In Art, students create animations, interactive artwork, photograph filters, and other exciting, artistic projects.
In Social Media, students create fun social media style applications and games while learning about the computer science concepts that enable these programs to work.
In Sports, students use computer science to simulate extreme sports, make their own fitness gadget commercial, and create commentary for a big sporting event.
In Music & Sound, students use the computer to play musical notes, create a music video, and build an interactive music display while learning how programming is used to create music.
In Game Design, students learn basic video game coding concepts by making different types of games, including racing, platform, launching, and more!
Students create fun and complex animated projects. This is an advanced curriculum, which means it teaches new concepts that are recommended for students who have already participated in at least two other CS First themes.
In this sample activity students animate an ocean wave to create a setting, then tell a story that takes place on the high seas.
In this sample activity students tell a story using the characters from Cartoon Network’s "The Amazing World of Gumball."
Be a designer and programmer – bring the Google logo to life using code.
In this video, you will make an obstacle move across the stage. In the finished game, it will look like the racer is moving to the right. However, the racer stays in place, and only the obstacles move. This creates the illusion that the racer is moving.
First, program the obstacle sprite to start at a random point on the right of the screen.
Select the obstacle sprite. From the "motion" menu, drag out a “go to” block. Type in “240” for the x value in the “go to” block. Click the block to see what happens.
Great! The obstacle moves to the right of the stage, but it always goes to the same spot. To make it go to a random spot on the right side, add a “pick random” block from the “operators” menu, and place it in the y value. Change the values to negative 180 and 180. Click on the block a few times to test it.
Great! Now the obstacle sprite moves up and down to a random spot on the right.
Next, make the obstacle move to the left. From the “control” menu, drag out a “repeat until” block, and add it to the bottom of the block stack. Remember, the “repeat until” block is a loop that repeats the blocks inside it until something specific happens. In this case, the obstacle should repeat moving to the left until it reaches the left edge of the stage. From the “motion” menu, drag out a “change x by” block, and insert it into the “repeat until” loop. Since the sprite needs to move left along the stage’s x axis, change the “10” to “negative 10.”
The loop needs to be able to detect when the obstacle is on the left side of the stage.
The obstacle is on the left when its x position is negative 240. From the “operators” menu, drag out a “less than” block, and add it to the “repeat until” loop. Add an “x position” block from the “motion” menu to the first space. In the second space, type “negative 240.”
This loop now reads “repeat moving negative 10 steps until the sprite’s x position is less than negative 240.” In other words, “repeat moving to the left until the sprite is on the left edge.” Test your code by clicking on these blocks.
Nice! The obstacle starts at a random position on the right and moves towards the left.
Here's the game plan: Make the obstacle sprite go to a random spot on the right using a “go to” block and a “pick random” block.
Next, make the obstacle sprite move left using a “repeat until” loop, a condition, and motion blocks.
In the next video, you’ll program this obstacle to copy itself forever, making more obstacles to avoid.