Darby Huye
This Git repository holds my work from comp20, spring 2018.
My favoite lab/assignment this semester was notuber. I liked how visual this assignment was. The google maps API was my first exposure to APIs and seeing how easy it was to incooperate an interactive map into my webpage was honestly shocking. I guess I had just never previously considered how webpages with seemingly complicated components were created.
Through this course, I have grown a ton. The introduction to git impacted me the most because I made so many mistakes. I had to learn to be patient with git and to not type random commands. This made me a more careful programmer in general which I am grateful for. Also, learning to use APIs helped me see a different side of computer science. My experience in other CS courses at tufts (comp40, comp15) always made me feel like I need to do all of the heavy lifting. After using various APIs, I know that I don't have to reinvent the wheel which is a comforting feeling.
With all of this in mind, I'd say I've grown a ton this semester. I can now do basic web development and I have a better understanding of computer science as a field of study.
In my opinion, the most important thing I have learned in this course is how many layers go into designing an application/program. In comp40, we explain the architecture of our program and this can have multiple layers. But, this class has showed me that there are so many more peices of an application than I thought. As an example, I think of the diagram representing the notuber assignment. There is the client (notuber -> assignment 2) and then two servers (Node.js and Mongodb). But then there are also multiple layers to notuber (assignment 2) and multiple layers to the server side. (Example of layers: handling GET and POST requests would be different layers of the server side) So, I guess, the most important thing I learned in this course was how complicated everything really is (and therefore the importance of designing an app/program and truly understanding all of the components before attempting to code).
Upon finishing this course, I want to experiement more with APIs. I am now aware of their existence (wahoo!), but there are so many APIs available to me that I've never heard of / most likely will never use. As was said in class the other day, students are often unable to effectively read API documentation. I would like to be better at this. I am doing an independent project for a different course and am using multiple APIs for that project. Due to my lack of research, I had to restart my project after basing it around an API that didn't quite do what I wanted (admittedly, having my entire program be so dependent on an API was poor design to begin with). So, I want to write a bunch of mini programs exploring various APIs this summer to practice sifting through API documentation.