Student Work | Mass STEM Hub
High School | HS Computer Science | CSP | Activity: Shall We Play a Game | 1st Place High School Computer Science Project
May 26, 2022
Check out the student work submitted for real-world industry feedback! Learn more about submitting student work to receive real-world feedback here!
Grade: High School
PLTW Course: Computer Science Principles
Submission type: Activity: Shall We Play a Game
Project overview: In the Project Lead The Way (PLTW) Computer Science Principles course, high school students explore ways to use their creativity and problem solving to make a positive difference in their community through a variety of programming solutions using Python. In the Shall We Play a Game project, students plan, design, and create a game using Python. It can be a game they know already or a brand-new game of their own creation.
Select student submission materials:
Link to full project: click here
Select judge feedback: “Hi, I’m a data engineer – I work for a Formula 1 motorsport race team, and I help collect data from the car in testing and in races. I use elements of math, physics and computer science every day in my job. Previously I’ve worked at tech start-ups in the Boston area, and I’ve had to solve similar problems to this – looking at how best to engage with people and inform them using technology.
I really absolutely LOVE your project – I used to play a game like this a lot when I was a kid! Creating a game that is essentially infinite is really challenging but you’ve done a great job. Python is the main language I use in my day-to-day work and it’s great to see your use of classes and functions to achieve your objectives. It looks like the gameplay is fast and your code is pretty efficient. Have you considered using elif/return statements in some of your functions? Unless you’d like a function to evaluate every if statement, it could speed up your code to use elif instead, and return once you’re done. Perhaps for version 2, you could make the maze even bigger (maybe you’ve already tried that in your design process and it would/wouldn’t work for various reasons)?
Thanks for sharing this with me. I hope you’ll continue to enjoy computer science in the future!”
-Data Engineer, Red Bull Racing and Red Bull Technology
“I work for Philips Healthcare where, I am a Senior Software Engineer in the Innovation Solutions Hub. Thank you for sharing your maze game with me! I showed the game to my kids, and they did not want to stop playing it. It is a great game and uses a feature that I have not seen in any of the other submissions yet: scrolling. There is an interesting history about side-scrolling in video games that you can read about in Wikipedia – https://en.wikipedia.org/wiki/Side-scrolling_video_game#History. Implementing smooth scrolling turned out to be a real challenge!
The code looks good, and I like how you explained that problem with generating random mazes and developing the river function. Here are a few suggestions I have for the game:
• You could add a control to restart the game after it has ended
• The game did not always know when the player is trapped, maybe a “detect dead-end” function could be developed”
-Senior Software Engineer, Philips Healthcare
Industry Award: 1st Place High School Computer Science Project
School: Shrewsbury Senior High School
Teacher: Tracy Calabresi