OSSU-computer-science/extras/puzzles-practice-plods.md

50 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

# Computer Science - Puzzles, Practice and Plods
**Some OSSUnians value sites that allow them to practice coding problems disconnected from a course.**
> Solving "textbook" problems is easy because we've been prepped for them by the course. Solving a "real world" example is much more difficult because there is no hand-holding.
[link](https://github.com/ossu/computer-science/issues/783#issuecomment-694187743)
> So give us a problem where the parameters are laid out in x,y fashion, and we'll be able to code for it. But confront us with another problem, and it might stump us since we're still not practiced with thinking algorithmically or what have you.
[link](https://github.com/ossu/computer-science/issues/783#issuecomment-694176898)
**Others feel that its important not to get distracted by anxieties and puzzles.**
> Consider this a love letter to all the beginners out there.
> I think that when you are still in the beginner stages, it FEELS like you do not have enough competence to contributing to a project.
It FEELS like taking classes, doing programming assignments etc. are not good enough in your eyes to be considered worthy of a "project".
They feel too small and insignificant. You're not quite satisfied.
(Part of the reason might be that early stuff is too easy for you, and you haven't taken a course that kicked your ass and wiped the floor with you yet.)
Since this is online learning and there is nobody/nothing holding you back, the natural tendency is to spread wide and try to do many things all at once, get distracted.
I'VE BEEN THERE, trust me.
And naturally you are in a rush to become competent as fast as possible.
You keep thinking, "when will I be ready to do something BIG?" And you don't want to wait.
Similar to how children always seem like they are in a hurry to grow up and start imitating adults.
The dissatisfaction and the impatience make for an uncomfortable combination.
Let's call this: beginner's mind.
> The fact is, you have to be patient.
I would argue that early on in your studies, arguably, is NOT when it is most critical for you to contribute to a project...
> I would recommend the slow, steady and patient approach of OSSU over the distracted, all over the place style of learning lots of others use, with various uncoordinated resources on the internet.
Looking for a project? How about THE NEXT COURSE?
> So I think that the problem is not really a problem, but a need to adjust expectations.
I would recommend a shift in thinking, away from beginner's mind.
Think long term, so that those small, insignificant exercises and programming assignments in each course should feel like they are crucial parts of your biggest, long-term project: YOU
[link](https://github.com/ossu/computer-science/issues/783#issuecomment-690023645)
So OSSUnian, read the above and then consider how much time you wish to put into these resources:
- [Exercism](https://exercism.io/)
- [LeetCode](https://leetcode.com/)
- [HackerRank](https://www.hackerrank.com/)
- [CodeWars](https://www.codewars.com/)
- [100+ Python Coding Problems with Solutions](https://github.com/ProgrammingHero1/100-plus-python-coding-problems-with-solutions)
- [Rosalind](http://rosalind.info/problems/locations/)
- [Advent of Code](https://adventofcode.com/)
- [GitHub projects for beginners](https://github.com/MunGell/awesome-for-beginners) - Projects that are specifically geared towards beginners to GitHub. Possibly intermediate to advanced coding issues to be solved.