6.3.5 Cmu Cs Academy May 2026
# 6.3.5 - Moving Circle with Arrow Keys # CMU CS Academy Solution circle = None
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
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. CMU CS Academy is a free, online, project-based
if key == 'ArrowUp': # Wrong if key == 'UP': # Wrong if key == Key.UP: # Wrong (that's Java/Processing) 'up' (lowercase, no 'arrow' prefix). Mistake #3: Moving Too Fast or Too Slow The problem usually specifies 15 pixels per press. Some solutions use 5 (too slow) or 50 (flies off screen). Stick to the spec. Mistake #4: No Boundary Logic If you move the circle off-screen, the autograder can no longer detect it, and the test fails. Always clamp the position within [radius, 400 - radius] . Alternative Versions of 6.3.5 Depending on your instructor or semester, 6.3.5 might have a twist: Version 2: Color Change on Keypress def onKeyPress(key): global circle if key == 'r': circle.fill = 'red' elif key == 'b': circle.fill = 'blue' elif key == 'g': circle.fill = 'green' Version 3: Print Key to Console def onKeyPress(key): print(key) # Simple, but the autograder checks for exact format Always read the problem's bubble text carefully. Some versions require print("Key pressed: " + key) . Extending Beyond 6.3.5: Smoother Movement While 6.3.5 uses "step" movement (move 15px per key press), later exercises (like 6.3.7 or 6.4.2) introduce continuous movement using onKeyHold . Once you master 6.3.5, you can upgrade to: Mistake #3: Moving Too Fast or Too Slow