ICS 111 Group Project

ICS 111 was the first programming class I took while majoring in Computer Science, and in this class we were taught Java. I had only known a little Python before taking this class, so this is where I learned about object oriented programming and everything that comes with it. In this class we all had invidual projects where we each had to make a stickerbook, but I thought it was more interesting to put the group project we worked on in this class here. We were a team of four and the idea we decided to run with was to remake the game Snake. In this game, players control a snake and you aren’t allowed to run into your body or it’s game over. Apples spawn randomly on the play field and when the snake eats one it gains in length and spawns another apple elsewhere. In some variants of snake you are allowed to “leave” the play area and your body will come out of the opposite side, but we decided to scope it down and make it game over if you hit the wall.

This was my first time working in a group so I didn’t know what to expect, but it went rather well. All of us had just pretty much started programming so it was nice being on the same level and having everybody figuring out new things as the project went along. Since we were beginners we didn’t use any type of version control, which was a huge mistake as it was hard to collaborate and merge code. We split up our time programming by going into the library for a couple of hours on certain days and then dividing out tasks for each other to work on at home. Everybody kind of worked on every part of the game, but the features I worked the most on was the apple generation and snake movement. The hardest part of this project was detecting when the snake would collide with its body, and this took a ton of research and frustration on the part of everybody to solve.