I had been wanting to learn some Python for quite some time so I decided to try and complete the Advent of Code 2017 puzzles. I chose 2017 because I had already done a number of the 2018 puzzles in R.

These proved to be difficult but not impossible for a relative novice. That being said, only about 10% of the people that finished the first puzzle finished the last. My understanding of computer science concepts is limited but I do know a bit about functional programming, recursion, arrays, and data structures. I have decided to post the solution as an example of my ability to guide my own learning as well as the progress I made in the approximately 8 weeks in which I completed these puzzles. While assembling the solutions for this website, I could see how much cruder my first solutions were than later ones. I encourage you to cringe alongside me but take these as an example of a learning process, not my current skillset. Hopefully by the time anyone reads these, I’ll be conducting portions of my actual workflow in Python.

The solutions are listed below and links to the puzzle are in the header of each solution.

  1. Inverse Captcha
  2. Corruption Checksum
  3. Spiral Memory
  4. High-Entropy Passphrases
  5. A Maze of Twisty Trampolines, All Alike
  6. Memory Reallocation
  7. Recursive Circus
  8. I Heard You Like Registers
  9. Stream Processing
  10. Knot Hash
  11. Hex Ed
  12. Digital Plumber
  13. Packet Scanners
  14. Disk Defragmentation
  15. Dueling Generators
  16. Permutation Promenade
  17. Spinlock
  18. Duet
  19. A Series of Tubes
  20. Particle Swarm
  21. Fractal Art
  22. Sporifica Virus
  23. Coprocessor Conflagration
  24. Electromagnetic Moat
  25. The Halting Problem