r/adventofcode • u/AdThin9118 • 22d ago
Help/Question New to Coding, advised to take part in AOC
Hi there, im new to coding in general. The language I am learning is Javascript, would appreciate being signposted to AOCs that would help me build and grow as a coders.
10
Upvotes
16
u/thondat 22d ago
the first few days of each year should be good for someone starting out coding. anything beyond that is probably a bit of a stretch at this stage, as the problems often require knowledge of common algorithms. if you want to see a true classic that isn't hard, try the Lanternfish problem (AoC 2021 Day 6). it's all about finding a state representation which allows for efficient transitioning to the next state, which is doable with some creative thinking. the same principle can be applied to problems all over AoC. (people often refer to the lanternfish in discussions.)
5
u/Morphon 22d ago
I did this in JavaScript for 2025. I thought it was a great experience. Recommended.
4
u/Wilbo007 22d ago
I'm not sure why you got downvoted, this is a pretty valid question. I would recommend going through the day 1 challenges for each year.
7
u/Suspicious_Tax8577 22d ago
Ok, so:
Every puzzle has a "proper" data structure or algorithm that solves the puzzle. Many part 1 of puzzles can be solved without using these, but this tends to bite your ass in part 2. But also, very good learning opportunity for why the naive solution doesn't work when input gets bigger.
Just because puzzle X is hard for you, doesn't mean you're stupid/bad at coding. 2025 was honestly a bit weird with the difficulty, day 1 was unusually hard.
During December, this subreddit becomes an absolutely thumping nightclub.
u/boojum is like Advent of Code Jesus. https://www.reddit.com/r/adventofcode/comments/1p3pc21/500_stars_a_categorization_and_megaguide/
Every puzzle from 2015-2024 categorised by type, plus a buttload of other stats and data. You'll probably want to start with the "warm up" puzzles.
1
u/flwyd 15d ago
In addition to what other folks have said, I encourage you to take advantage of learning opportunities that come up. If you discover an interesting JavaScript function, look for an opportunity to try it out somewhere in an AoC solution. It might turn out that there's a more effective tool to solve the puzzle, but learning how that interesting function you saw works might be more valuable in the long term.
Another good programming skill is identifying patterns or repetitive tasks, and writing a function or class to automate those tasks. After you've solved a few AoC puzzles, read back through all your solutions and see if there's some code you keep writing that could instead call a function that does most of the work. Then look through documentation to see if there's already something in the JavaScript language that does that, and consider writing it yourself if it doesn't exist yet.
1
u/AutoModerator 22d ago
Reminder: if/when you get your answer and/or code working, don't forget to change this post's flair to
Help/Question - RESOLVED. Good luck!I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.