We have come a long way in a week. I started out not remembering the exact syntax for how to run a Ruby program. I felt a little silly, but we made it. Here is a look at some of the things we learned.
We started out small. We wrote a small program to keep track of pets for a humane society. Getting pet info from the user and storing it in an array so we could search and update stored values. It was a good first program to recall the skills we had learned during our prework.
We then moved on to a classroom management app. It read in a text roster, and helped create random groups for projects and homework. We had to learn how to read and parse a file, along with how to iterate through collections of data. It was also an opportunity to build on our understanding of Object Oriented Programming.
Then we hit a wall. We were tasked with scoring a game of bowling. That is a harder problem then it sounds. I had a really hard time figuring out what classes we needed and how to score spares and strikes. It was also the first program we tried to write using RSPEC and test driven development. This was by far the hardest program we had during the week, but we learned a lot.
Then it clicked. We wrote a Stock Portfolio application. We continued our Test Driven Development, and this time it just made sense. We were able to cruise through the assignment so quickly our instructor had to come up with more features for us to work on. It was an awesome feeling.
On Friday, we needed to play a game of Tic-Tac-Toe. It wasn’t so bad at first, until we got to artificial intelligence. Figuring out how to block a player from winning is harder than it sounds. We even had an opportunity for extra credit to modify our program to handle a board of any size. This was especially difficult, but we made it work.
Overall, I’m proud of the work we completed during the first week. I’m also looking forward to getting into web development with Sinatra next week.