Week 3

The Third week of research constisted of finishing up the A-Star Algorith, writing a code diary, and getting myself familiar with an HTML canvas. Since our research project is about creating a course for first year students, we met with Professor Mark Guzdial who talked to us about the pedagogy behind computer science and what things we should keep in mind when creating the course. Professor Guzdial joined our weekly meeting and gave us some handy tips and pointed out things to start thinking about when coming up with a structure for the class. Professor Guzdial thought it would be a good idea to keep a diary on the code we were writing for the minheap and A-Star algorithms. We had to write down all the problems we ran into while writing the code because the first years would most likely also run into those same issues. I looked back on my notes about the minheap code and the beginning of the A-star code to see what issues I had and wrote those down. I also kept updating my diary while working on my A-Star algorithm.

When I first started working on the A-Star algorithm it was definitely hard for me to figure out what I had to implement myself and what was already given somewhere in the code. Since it is such a big stencil it can be overwhelming to figure out what is already given and what is not. I started by going through all the functions and variables that were already in the code which helped me familiarize myself with the stencil. The big problem was that while I understood videos on the algorithm and the algorithm itself, it was hard to turn it into code and to know where exactly to start writing code. I tried to do the same thing I did for the minheap, which was looking up code online. While this helped with my overall understanding of the A-Star algorithm it did not really help with the stencil since I did not know what part of the code I found online I really needed. I used the slides on a lecture about path planning sent by Professor Jenkins a lot to help me understand the algorithm. Seeing a pretty long algorithm like A-star for the first time was a bit overwhelming. I did not know where to start reading and looking but going through the slides it broke the algorithm up into parts which helped a lot with understanding it. Multiple people in my research group were kind enough to help me work through some questions I had. Having a research group is really nice. I can always come to them when I have questions and we often have fun and interesting conversations during our meetings. After a lot of tries, changing code, and zoom calls with people from my research group I finally figured out the A-Star algorithm. It was so cool to see the code do its thing and find the shortest path to the goal. It was really fulfilling to see my work come to life and work well after all the work I put in.

The next step in our research was to create a simulator for the robot to move around in. In order to create this simulator I had to work on familiarizing myself with creating a canvas in HTML. I didn’t have a lot of coding experience in HTML so I started by looking up some of the basics. I was able to use some code from the A-Star stencil and one of my fellow interns also showed me some of his code to help get started on the canvas. In the beginning it was very frustrating, I kept only getting the outline of the canvas, but when I tried to draw objects inside of it they would not show up no matter how hard I tried. After looking up some more code online and talking to more people about the issues I was having, I eventually figured it all out and got to display some figures on the canvas!

Written on June 17, 2020