BYU logo Computer Science

To start this assignment, download this zip file.

The following guide pages cover material needed for this assignment:

The following link covers essentials of using Bit: Bit Reference

Project 1 - Bit

Reminder: problems 2-4 need to pass the two separate worlds for each problem.

1. Y

Draw two Ys. Bit starts in this world:

Y start

Bit should finish in a world that looks like this:

Y finish

Be sure you have Bit’s position and direction correct as well!

2. Go Go Go

Bit starts in a world like this:

Go start

Help Bit follow these instructions:

  • paint green until the green square, then turn right
  • paint blue until the blue square, then turn left
  • paint red until the red square

When Bit is done, the world should look like this:

Go finish

Note: the two separate worlds are different sizes, with different distances between the green, blue, and red squares. Make sure that you use while loops in your solution to pass both worlds.

3. Grassy Field

Fill the field with grass! Bit starts in a world like this:

Grassy field start

When Bit is done, the world should look like this:

Grassy field finish

Note: the world can be any size.

4. Banner

Bit starts in a world like this:

Banner start

In each column, paint red up to and including the green square.

The solution to this problem is very similar to the solution to Grassy Field. Instead of moving until Bit is blocked, what should Bit do instead?

When Bit is finished, the world should look like this:

Banner finish

Note: the second world is a bit larger, and bit should end up painting a staircase rather than a banner.

Manual Grading

Intent The intent of this project is for you to break problems into large pieces and write code that solves worlds of any size.

Grading will be focused on the correct use of concepts learned from Unit 1 as well as decomposition of the problems into separate functions.

If your answers only include one function, you will NOT get full points.

The Quality Code guide page has good examples that may be useful to you as you decide whether to put code in functions or leave it outside a function as glue code.



y.py25 points
go_gbr.py25 points
grassy_field.py25 points
banner.py25 points