Completion
- Shray Pungaliya
- May 11, 2017
- 2 min read
This week's blog post will be the last. With the final week of projects coming to an end, this post will be a reflection on my project as well as a few words about my presentation (on May 16th).
At the beginning of this project, I overestimated the amount that I would be able to complete in such a short span of time. I intended to do a few things that I didn't end up getting to, but I did manage to complete my core project in time for presenting it next week. This core project consisted of first creating a maze, and then solving it. Throughout this project I learned about far more than mazes and abstract functional programming concepts. I learned an entirely new and unfamiliar language (to me) called Haskell. With Haskell, I learned core functional concepts like the ideas of Higher Order and Anonymous Functions, Types, Monads, Functional Purity, and quite a few more.
Once I had learned about these abstract concepts, I moved on to learn maze creation algorithms, and used what I learned to implement the Depth First Search algorithm in Haskell. Once the algorithm itself was implemented, displaying mazes became an unexpected and thought-provoking challenge, which I spent more than two weeks working on. However, once I settled on unicode blocks with 0.5 line spacing as the way to display mazes, I quickly moved on to maze solving algorithms, which only took me a little over two weeks as I had learned most of the necessary concepts in weeks before.
The next step of my project is the final project presentation (May 16th), where I will be presenting what I have learned throughout my project in a (hopefully) interesting and slightly simpler way than I have on these blog posts.
This project has taught me a lot, as can be seen in the paragraphs above or in the blog posts from weeks past. It has renewed and increased my interest in functional programming, which I hope to pursue during my time getting my undergraduate degree in computer science. This summer, I look forward to using my newfound knowledge and experience from this project, as well as my past experience to succeed in an internship.
Before signing off, I'd like to extend my appreciation for the help of Mr. Lizardo and Ms. Belcher in completing my project and keeping me on track.
If you have any questions or comments, please feel free to contact me in the "Contact Me" section below.
Thank you
Comments