Oh Did I Make the Correct Choice
Today was my first day at DBC and all I can say is wow... There was such a warm welcome from everyone today. From the staff, to students in the other phases, all the way to other students in my cohort. My entire experience today was fantastic, fun, challenging, and engaging. This was exactly what I was looking for and I'm eagerly looking forward to more time here.
Today I worked on the two anchor challenges of the afternoon, where one problem was a review and the other one was relatively new. Each of the challenges had some learning competencies, that I've highlighted below.
- Use methods to modularize
- Use data structures to map relationships
- Write small, concise methods
- Write DRY code
- Use effective naming conventions
Numbers in Words
- Understand the types of data structures
- Implement data structures in Ruby
- Write recursive methods
While working on the first challenge, my partner and I reviewed what our initial thoughts were on the challenge and then smoothly transitioned to pseudocode. The first solution was very basic and a bit brute force, yet as we did that we were able to notice the repetitive pattern in our code. Following the successful testing of our first solution, we were able to quickly refactor our solution using the each method, instead of using repetitive if statements. I think the next time I wouldn't write out the repetitive code out if I noticed it and would instead refactor the pseudocode to take advantage of the revelation. This was a great thing to learn though and I'm looking forward to recognizing more patterns in the future and fixing them!
Due to the fact that we took our time, we were able to make sure that we covered the learning competencies for the challenge. I think that we ended up not doing the best job with our naming convention, but we were able to work on the others throughout. The first solution we had was long and very repetitive, so once we refined things we wrote a shorter, more concise method, that was also DRY.
On the other challenge a valuable lesson that I learned was that even if we have an idea of how things should work, we should always take the time to step back and think about the problem. Initially we thought we had a solution and dived right in and ended up losing twenty minutes, because we didn't take the time to talk it out and then to properly lay out our pseudocode. Later at night, after a meeting, we took a step back and rethought our approach and we were able to get a nicer solution working relatively quickly.
Today was very exciting and I'm looking forward to working with more people on additional material tomorrow!