This is the first real computer science course I have ever taken. The class began by covering the various components of a computer and its accessories, then we moved on to some basics of different number systems. It then moved directly into the website assignment, in which we had to design and code our own website, of which this is the product.
A sample of my work for this class is a lab I completed as an assignment early in the year, and another sample is my website homepage.
My favorite lab so far has been the rat and cheese game. In this assignment, we were given a choice between three different games: rat and cheese, sleeping students, and shooter and spaceship. My partner Charlene Pizzamenti and I chose the rat and cheese game because it employed a good mix of familiar concepts and new applications. In the game, a rat, represented by a circle, can move around the screen. There is also a stationary, randomly placed piece of food, also represented by a circle. To eat the food, the rat must touch it. When that happens, the rat’s radius increases by the radius of the food. When the rat is not eating, it shrinks by a constant amount as time passes. This is my favorite lab because my partner and I were able to code it efficiently, producing a working game, and we were then able to add scrolling as well. In addition, it seemed to use numerous aspects that are common to many basic video games, and I enjoyed knowing how the code behind those aspects works.
The lab I am most proud of is the fractal lab. It greatly expanded my understanding of recursion, and the final product not only worked well, but looked, in my opinion, rather beautiful. My lab partner Mary Devlin and I had originally chosen to make a star fractal, but then switched to the fern fractal because it seemed more feasible. In theory, the fern fractal is simply; draw a line segment, draw two line segments of f it at the same angle on each side, and continue performing that operation on all the line segments generated (there was another fractal we created, but it was simpler to construct, and was not the focus of the lab). In practice, programming this was much more difficult, and at times very frustrating. I am most proud of this lab because of its ultimate success after all the frustration with the code.
The one lab I still don’t understand part of is the pong lab. This lab was, quite simply, to create the game of Pong in Scheme. The game ultimately worked and I understand most of the code, but while I was working on it, at one point the ball would become “stuck” in certain parts of the paddle, and I am still not completely sure why this happened. I worked alone for lab, although I used code from the previous lab, which I worked on with Sarah Walker.
My least favorite lab was the digital circuits lab. This lab was not done in scheme, but in Microsoft Word using images from the John Hopkins circuit builder application. The purpose of this lab was to use a variety of logic gates to accomplish certain tasks. I did not like this primarily because of the applet; it did not have an “undo” button. Each time a mistake was made, it was necessary to restart that question. I worked on this lab with Benjamin Davidson.
Computer science is used in virtually every class at Mass Academy. One of my favorite uses of this technology is in our mathematical modeling class, in which we regularly use the program Mathematica as an exploration and investigation tool. I particular, I like this assignment, a Problem of the Fortnight, because I used a great deal of my programing knowledge from computer science to generate the graphics in Mathematica.
To conclude my work in computer science for this year, I have a reflection on how I have improved my skills in programming. This is an update to the earlier midyear reflection.