Please enable JavaScript to use CodeHS

Pair-Programming Paint

In this lesson, students will use the grid coloring functionality of Karel to create a digital image.

Medium

3 Hours

High School

Project Description

Your Task


Setting Norms

Norms are agreed upon standards and rules that will keep a collaborative team productive and inclusive. With your partner or group, decide on 3-5 norms to follow throughout your project. An example of a norm could be: *All members will have an opportunity to be heard during the decision process.


Brainstorm and Discuss

Brainstorm a few ideas for potential final projects, and think about how you might implement them.

Think about what exactly you want to create. What will be the purpose of your creation?

Come up with at least 3 different project ideas. For each project idea, answer the following questions:

  1. What is the project idea? What will you create?
  2. What is the purpose of this project idea? Why do you want to make this?
  3. What are some specific functions you’ll need to write to create this project?
  4. How long do you think this project will take to complete?


Planning

Work with your partner or group to figure out how you can break your project down into smaller problems that you can solve and test out one by one. We call these small problems milestones, or checkpoints. Estimate how long each of these problems will take to solve.

List out each of your milestones, and how long each will take to complete and who will be the owner of each task. This will help guide you when you’re writing the code for your project.


Program Documentation

Program documentation helps in developing and maintaining correct programs when working individually or in collaborative programming environments.

Programmers should document a program throughout its development.As you write your program, keep track of all new functions and add them to your documentation.


Pseudocode

Before diving in and writing the code for your final project, it’s important to figure out exactly what code you’ll need to write. We write pseudocode to plan out programs at a high level, before writing actual code. That way, we can think about the problem and solve it without getting caught up in the specifics of coding. Once we have written pseudocode that solves the problem, it is much easier to translate the pseudocode into real code.


Create your UltraKarel Image!

Time to put it all together! Following the milestones and the pseudocode plan that you have laid out, use pair-programming to write the code for your final project. Test your code along the way to make sure you’ve solved each milestone.