6.3.5 Cmu Cs Academy May 2026

This article will break down exactly what 6.3.5 requires, the core concepts you need to master, common pitfalls, and a step-by-step strategy to solve it efficiently. Before we dissect the specific exercise, let's establish the platform. CMU CS Academy is a free, online, project-based curriculum developed by Carnegie Mellon University. It uses a custom, simplified version of Python (built around the cmu_graphics library) to teach computer science fundamentals through visual, interactive graphics.

In the CMU CS Academy curriculum—specifically within the (Introduction to Programming) or CS1 courses—Unit 6 is dedicated to "Events and Interactions." Section 3 focuses on keyboard input, and exercise 6.3.5 is where the rubber meets the road. 6.3.5 Cmu Cs Academy

# Hold-to-move (smooth) moveLeft = False def onKeyPress(key): global moveLeft if key == 'left': moveLeft = True This article will break down exactly what 6

The boundary check uses 20 and 380 because the radius is 20. The center of a 20px radius circle at x=20 touches the edge at x=0. Common Mistakes on 6.3.5 Even smart students fail 6.3.5 on the first try. Here is why: Mistake #1: Forgetting global Every time you modify circle inside onKeyPress , you must write global circle . If you forget, Python creates a local variable named circle , and the actual circle on screen never moves. Mistake #2: Using the Wrong Key Strings Many students try: It uses a custom, simplified version of Python

# Arrow key logic if key == 'up': if circle.centerY - speed >= 20: # Keep within top edge circle.centerY -= speed elif key == 'down': if circle.centerY + speed <= 380: # Keep within bottom edge circle.centerY += speed elif key == 'left': if circle.centerX - speed >= 20: # Keep within left edge circle.centerX -= speed elif key == 'right': if circle.centerX + speed <= 380: # Keep within right edge circle.centerX += speed