Today's Progress: I continued working Intermediate Algorithm Scripting challenges on freeCodeCamp; I completed the challenges 'Sum All Primes' and 'Smallest Common Multiple'. I am currently 67% complete with this section.
Thoughts: Overall, I'm satisfied that I was able to sit down and complete two different challenges today, but it wasn't without frustration and perseverance. In particular, both of the challenges I worked on had a mathematical focus. In fact, the brought back (fond?) memories of the Number Theory course I took in undergrad. Which brings me to a frustration I've had before: I understand the mathematics but get stuck on translated the mathematical language into a computer language.
All of this is part of the learning process for the new skills I'm developing. I know in the future when I'm working as a developer there will be aspects of a problem that I understand but won't be able to 'translate' into computer language ... yet! And that's the key, I have to remind myself that this is a continue process and that I won't always get it right away - it will take time and practice. Further, working on these two challenges have caused me to reflect on and refine my strategy for approaching these challenges:
- Redefine the problem in my own words
- I've been keeping files of notes for each challenge where I rewrite the problem statement in my own words. This has helped me better understand what the problem is asking me to do - I originally started doing this because I found the descriptions of the problems on fCC vague and unclear at times.
- Outline the solution
- After I know what the problem is asking, I start outlining my solution in pseudo-code by listing the steps needed to solve it and what methods (e.g., a
for
loop) will be needed
- After I know what the problem is asking, I start outlining my solution in pseudo-code by listing the steps needed to solve it and what methods (e.g., a
- Attempt my solution
- If it doesn't work, do some research and refine it
- Consult the challenge guide and YouTube tutorials as needed
- Initially, I was very adamant about NOT doing this, because I was being stubborn about having to solve the challenges completely on my own, BUT now I'm recognizing that it's simply not feasible and, in reality, no one solves problems on their own in the developer world (and in the world-at-large - indeed, all of humanity is one giant collaborative problem solving venture)
Study Music: Battlestar Galactica's Prelude to War by Bear McCreary
References:
- freeCodeCamp Challenge Guide: Sum All Primes
- How to find prime numbers between 0 - 100?
- Prime Numbers
- Sieve of Eratosthenes
- freeCodeCamp - Sum All Primes
- This YouTube tutorial was semi-helpful, I had to consult other references to fully understand the solution to the 'Sum All Primes' challenge
- freeCodeCamp Sum All Primes
- I'm really enjoying Matt Lambert's explanations for these challenges. It's pushing me to understand each section of the code and I enjoy how he explains his thinking for why he's doing something instead of just simply doing it.
- freeCodeCamp Challenge Guide: Smallest Common Multiple
- Least common multiple
- Greatest common divisor
- freeCodeCamp Smallest Common Multiple
- Again, I'm really enjoying how Matt Lambert explains his thinking behind his solutions. It's helping me understand better and I'm outlining my own thinking in my solutions so that I'll remember it in the future in case I need a reference point.
Link to work: freeCodeCamp Timeline