Khan Academy
Project: Make it Rain
Make it rain on your computer screen with this challenging JavaScript programming project. Modify the existing code of one little drop to create a downpour by using arrays and properties of arrays. But why stop there? How about some...
Khan Academy
Project: Build-a-House
Start with a basic house created in JavaScript code and practice programming with loops as you add rows of windows, grass, flowers, or trees. How about some apples growing in the trees? You get the idea. Your coding students can let...
Teach Engineering
Java Programming: Testing the Edges
Tests are no fun, but test cases are extremely helpful. Pupils work in groups to write a Java program that completes a given task. They come up with test cases to give to another group, then trade test cases to determine if their program...
Teach Engineering
Java Code: Does It Work? Test and Test Again
Testing software code can sure test one's patience. Future programmers learn about the importance of testing when writing code for computer software. They access the CodingBat website to test programs written in Java using three test...
College Board
An Introduction to Polymorphism in Java
Run a lesson on run-time polymorphism. An AP® curriculum module introduces polymorphism in Java. It identifies the five major types of run-time polymorphism and provides a brief description and example for each type.
College Board
Strategies for Teaching AP Computer Science
Implement strategies from the beginning to the end. A collection of strategies and lessons span from the first day of school to after the exam. Resources cover basic information such as computer ethics and top 10 tips to a lesson on how...
Code.org
Practice PT – Improve Your App
The last installment of a 21-part unit is a practice performance task that asks class members to design an app using skills from the unit. Scholars take one of the previous apps from the unit and modify it by adding elements and making...
Code.org
Canvas and Arrays in Apps
Scholars learn how to make a digital canvas and fill it with artwork by creating a drawing app using the canvas element. The activity requires learners to previous knowledge of arrays and return commands to draw images.
Code.org
Functions with Return Values
Young computer scientists explore how to use the return command in computer programing by playing Go Fish. They learn about functions that return values and then write a turtle driver app using the return function.
Code.org
Processing Arrays
Scholars use a playing card activity to help them develop a program to find the minimum value of a list. They learn to use for loops to write code that will process lists.
Code.org
Image Scroller with Key Events
Discover how to embed images in lists. Scholars modify an existing app to include an image scroller in the 17th lesson of the series. They learn to refactor code and remove redundancies after modifying code.
Code.org
Looping and Simulation
Young computer scientists continue programming with while loops by creating a program to simulate coins flipping.
Code.org
While Loops
Bring your pupils in the loop with while loops. Scholars learn how to modify conditional statements to produce while loops in the 14th lesson of the series. They use flowcharts to understand loops and then program some examples of loops.
Code.org
Digital Assistant Project
Scholars apply previously learned skills to create a functional computer program. They produce a digital assistant incorporating string commands and complex conditional logic.
Code.org
Compound Conditional Logic
Scholars explore compound conditional logic and learn to use the Boolean operators AND, OR, and NOT within conditional statements by incorporating these operators to improve a previously created app.
Code.org
Introduction to Conditional Logic
On one condition ... explore how to use conditionals within conditionals. Scholars apply conditional statements to improve upon the app they built during a previous lesson. They also learn about nested conditionals in the 11th lesson of...
Code.org
Understanding Program Flow and Logic
Explore decision-making logic in programming computer games. The 10th installment of a 21-part unit teaches scholars how to apply conditional statements and Boolean expressions. They use these concepts to create a "Guess My Number" game...
Code.org
Introduction to Digital Assistant Project
How does a computer recognize voice commands? Scholars learn about digital assistants and natural language processing (NLP) algorithms in the ninth lesson of the series. They begin building a simple digital assistant and work on this...
Code.org
User Input and Strings
Pupils learn to apply strings in computer science. They master two new user interface elements and also use string type data to represent ASCII characters. Finally, individuals create an app for Mad Libs in the eighth lesson of the series.
Code.org
Using Variables in Apps
Investigate the benefits of using global variables. The seventh installment of a 21-part unit continues the study of variables from the previous lesson. Young computer scientists modify two existing apps by adding variables and learn how...
Code.org
Controlling Memory with Variables
Not all variables are created equal. Discover how variables in computer science are different from variables in math class. Scholars learn to work with variables in computer programming by developing a mental model for how variables...
Code.org
Multi-screen Apps
Scholars continue their study of event-driven programming by creating a multi-screen app in the fifth lesson of the series. They incorporate previously learned elements and events in the mini-project.
Code.org
Introducing Design Mode
Move beyond buttons when designing user interfaces. In the fourth installment of a 21-part unit, young computer scientists learn to apply design mode, which gives users options for colors, fonts, etc. They learn to incorporate these...
Code.org
Beyond Buttons Towards Apps
Explore how people use event-driven programming in games with a lesson that teaches scholars to use new screen elements and events. They apply these new elements to create a simple chaser game.