Monday, May 22, 2023

The Battle over Battleship

Little Kat was taking his second programming course with Java this semester. He had a course other courses this term. So although he had 2 weeks to complete his final project, he really got nowhere in the initial week and a half. He was tasked with implementing a computer version of the game Battleship.

Initially he poked around, and I though he had finished over half the game. Unfortunately what he created would not even build, let alone run. Even if he fixed the errors and built a game, there was no chance it would work. I had him spending some time rewriting the game from scratch. He worked on small increments.

Then I read his rubric. It expected a lot more than the minimalist game he was writing. And it had a lot of requirements for the code. We pivoted and started working toward earning full marks per the rubric. Little Kat had maybe a rough version of half the game late at night, the day before it was due. Then in the afternoon when it was do, he said he messed up his project and it would not build.

I helped him figure out his build problems. Then his game would blow up when we ran it. I helped him resolve those problems too. Then I identified 5 things he still needed to meet the minimum requirements. Little Kat and I had to work together to get these things done fast. We had 1 last bug that took a lot of work to resolve.

Little Kat then added commentary to his code, as required. His final product looked good. He submitted it with 3 hours to spare. Then I asked him to send me the final product. It would not even build on my machine. We figured out that problem, and he resubmitted an updated version. The thing actually play a game of Battleship against a computer controlled opponent.

No comments: